README 12.4 KB
Newer Older
1
GPARTED
Curtis Gedak's avatar
Curtis Gedak committed
2
=======
Piotr Drąg's avatar
Piotr Drąg committed
3
Gparted is the GNOME Partition Editor for creating, reorganizing, and
4
deleting disk partitions.
5

6 7 8 9 10
A hard disk is usually subdivided into one or more partitions.  These
partitions are normally not re-sizable (making one smaller and the
adjacent one larger.)  Gparted makes it possible for you to take a
hard disk and change the partition organization, while preserving the
partition contents.
Bart Hakvoort's avatar
Bart Hakvoort committed
11

12 13 14 15 16
More specifically, Gparted enables you to create, destroy, resize,
move, check, label, and copy partitions, and the file systems
contained within.  This is useful for creating space for new operating
systems, reorganizing disk usage, and mirroring one partition with
another (disk imaging).
Bart Hakvoort's avatar
Bart Hakvoort committed
17

18 19
Gparted can also be used with storage devices other than hard disks,
such as USB flash drives, and memory cards.
20

21
Visit https://gparted.org for more information.
22 23


24 25 26 27 28 29 30 31 32
LICENSING
---------
GParted is released under the General Public License version 2, or (at
your option) any later version.  (GPLv2+).  All files are released under
the GPLv2+ unless explicitly licensed otherwise.

The GParted Manual is released under the GNU Free Documentation License
version 1.2 or any later version.  (GFDLv1.2+).

33 34 35
Google Test C++ test framework is released under the 3-Clause BSD
License.  (BSD-3-Clause).

36 37 38
See these files for more details:
   COPYING      - GNU General Public License version 2
   COPYING-DOCS - GNU Free Documentation License version 1.2
39 40
   lib/gtest/LICENSE
                - 3-Clause BSD License
41 42


43 44 45 46 47
NEWS
----
Information about changes to this release, and past releases can be
found in the file:
   NEWS
48 49


50 51
INSTALL
-------
52 53 54 55 56 57
a. Pre-built Binary

   Many GNU/Linux distributions already provide a pre-built binary
   package for GParted.  Instructions on how to install GParted on
   some distributions is given below:

58 59 60 61 62
      CentOS/RHEL
      -----------
      su -
      yum install gparted

63 64
      Debian or Ubuntu
      ----------------
65 66
      sudo apt-get install gparted

67 68
      Fedora
      ------
69
      su -
70
      dnf install gparted
71

72 73 74 75
      OpenSUSE
      --------
      sudo zypper install gparted

76 77
b. Building from Source

78 79 80 81 82
   Briefly, build and install GParted into the default location of
   /usr/local using:
      ./configure
      make
      sudo make install
83 84 85 86 87
      sudo install -m 644 org.gnome.gparted.policy \
             /usr/share/polkit-1/actions/org.gnome.gparted.local.policy
   This assumes all the dependencies are already installed, builds the
   default configuration and polkit is being used as the graphical su
   program.
88 89

   The following dependencies are required to build GParted from source:
90
      g++
91
      make
92
      parted
93
      gnome-common
94
      gtkmm3
95
      gettext
96
      intltool
97
      yelp-tools          - required if help documentation is to be built
98

99 100 101 102 103
   On CentOS/RHEL, these dependencies may be obtained by running the
   following command as root:
      yum install gnome-common yelp-tools glib2-devel intltool gcc-c++ \
                  libuuid-devel parted-devel gtkmm30-devel make

104 105 106 107 108
   On Debian or Ubuntu, these dependencies may be obtained by running
   one of the following commands:
     Either;
      sudo apt-get build-dep gparted
     Or;
109 110 111
      sudo apt-get install build-essential gnome-common yelp-tools \
                           libglib2.0-dev uuid-dev libparted-dev \
                           libgtkmm-3.0-dev
112

113 114 115 116
   On Fedora, these dependencies may be obtained by running the
   following command as root:
      dnf install gnome-common yelp-tools glib2-devel intltool gcc-c++ \
                  parted-devel gtkmm30-devel make
117

118
   On openSUSE, these dependencies may be obtained by running the
119 120 121
   following commands:
      sudo zypper install gnome-common gcc-c++ libuuid-devel \
                          parted-devel gtkmm3-devel make
122

123 124 125 126 127
   Again, build GParted with the default configuration and install into
   the default location of /usr/local using:
      ./configure
      make
      sudo make install
128 129 130

   If you wish to build this package without the help documentation use
   the --disable-doc flag:
131
      E.g., ./configure --disable-doc
132 133 134 135 136

   If you wish to build this package to use native libparted /dev/mapper
   dmraid support use the --enable-libparted-dmraid flag:
      E.g., ./configure --enable-libparted-dmraid

137 138
   If you wish to build this package with online resize support then
   the following is required:
139 140 141 142 143 144 145 146 147 148 149
      a)  Linux kernel version 3.6 or higher.
      b)  Libparted with online resize support.  Either:
          i)  Libparted version 3.2 or later which includes online
              resize support as standard.  In this case GParted is
              automatically built with online resize support.
          ii) Online resize support back ported into an earlier version
              of libparted.  This is only known to be included in Debian
              and derived distributions with parted version 2.3-14 and
              higher.  In this case online resize support must be
              specifically enabled with the --enable-online-resize flag:
                E.g., ./configure --enable-online-resize
150

151 152 153 154 155
   If you wish to build GParted to allow it to use xhost to grant root
   access to the X11 server use the --enable-xhost-root flag.  This is
   required to allow GParted to display under Wayland.
      ./configure --enable-xhost-root

156
   Please note that more than one configure flag can be used:
157 158
      E.g., ./configure --disable-doc --enable-libparted-dmraid

159
   The INSTALL file contains further GNU installation instructions.
160

161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
c. Installing polkit's Action File

   GParted needs to run as root therefore it needs a graphical switch
   user program to allow normal users to run it.  Most desktops now use
   polkit as their preferred authorisation mechanism.  Therefore
   ./configure looks for polkit's pkexec as the first choice with
   fallbacks in order being: gksudo, gksu, kdesudo and finally xdg-su.
   Also polkit reads action files only from directory
   /usr/share/polkit-1/actions.  Therefore it is likely that a polkit
   action file will need to be installed into this directory.

   To determine if polkit's pkexec program is being used as the
   graphical privilege escalation program examine the output from
   ./configure.  These lines report that pkexec is being used:

176
      checking for pkexec >= 0.102... 0.112 found
177

178 179 180
   Where as either of these lines of ./configure output report that
   pkexec is not being used because either it was too old a version or
   it was not found:
181

182 183 184
      checking for pkexec >= 0.102... 0.96 found

      checking for pkexec >= 0.102... not found
185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202

   When GParted is configured with prefix /usr (using command
   ./configure --prefix=/usr) then make install will automatically
   install the polkit action file into the correct directory and no
   further steps need to be taken.  This is typically the case for
   distribution builds of GParted.

   However when GParted is configured with the default prefix of
   /usr/local, or any prefix other than /usr, then the polkit action
   file has to be manually installed into the correct directory.  Also
   it should have a unique file name to avoid overwriting the action
   file from the distribution's package.  Install the polkit action file
   with a unique name including an extra ".local" in the name:

      sudo install -m 644 org.gnome.gparted.policy \
             /usr/share/polkit-1/actions/org.gnome.gparted.local.policy

d. Building using a Specific (lib)parted Version
203 204 205 206 207 208 209 210 211 212

   1) Download the parted version you wish to use (e.g., 3.2) from:

      http://ftp.gnu.org/gnu/parted/

   2) Build and install parted.

      Extract parted tarball, configure, make, and sudo make install.
      Note that by default this will install into /usr/local.

213 214
   3) Set environment variables to inform the GParted build system to
      use libparted from /usr/local:
215

216
        export CPPFLAGS=-I/usr/local/include
217
        export LDFLAGS=-L/usr/local/lib
218
        export LD_RUN_PATH=/usr/local/lib
219
        export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
220 221 222 223 224 225 226 227 228

   4) Build gparted using steps listed above in "Building from Source".

      Note that when you run ./configure you should see the specific
      version of parted listed in the check for libparted >= 1.7.1.

      You will also see the libparted version listed when running
      gparted from the command line.

229

230 231
DIRECTORIES
------------
232 233
data     - contains desktop icons

234
doc      - contains manual page documentation
235

236 237
help     - contains GParted Manual and international translations

238
include  - contains source header files
239

240 241 242
lib/gtest
         - contains Google Test C++ test framework libraries

243 244
m4       - contains macro files

245
po       - contains international language translations
246

247
src      - contains C++ source code
248 249 250 251


DISTRIBUTION NOTES
------------------
252 253 254 255 256 257 258 259 260
GParted uses GNU libparted to detect and manipulate devices and
partition tables.  The blkid command is also required to detect those
file systems which libparted doesn't detect.  (The blkid command should
be considered a mandatory requirement).

GParted also queries and manipulates the file systems within those
devices and partitions.  When available, it uses each file system's
specific commands.  The following optional file system specific packages
provide this support:
261

262
   btrfs-progs / btrfs-tools
263
   e2fsprogs
264
   f2fs-tools
265
   dosfstools
266 267
   mtools          - required to read and write FAT16/32 volume labels
                     and UUIDs
268
   hfsutils
269
   hfsprogs
270
   jfsutils
271
   nilfs-utils
272
   ntfs-3g / ntfsprogs
273
   reiser4progs
274
   reiserfsprogs / reiserfs-utils / reiserfs
275
   udftools
276
   util-linux      - required to create and check MINIX file systems
277
   xfsprogs, xfsdump
278

279 280 281 282

For dmraid support, the following packages are required:

   dmsetup         - removes /dev/mapper entries
283 284
   dmraid          - lists dmraid devices and creates /dev/mapper
                     entries
285

286
For GNU/Linux distribution dmraid support, the following are required:
287 288
   - kernel built with Device Mapping and Mirroring built.  From
     menuconfig, it is under Device Drivers -> <something> (RAID & LVM).
289
   - dmraid drive arrays activated on boot (e.g., dmraid -ay).
290 291


292
For LVM2 Physical Volume support the following command is required:
293 294 295 296
   lvm             - LVM2 administration tool
And device-mapper support in the kernel.


297 298 299 300 301 302
For accurate detection and reporting of Linux Software RAID Arrays the
following command is required:

   mdadm           - SWRaid administration tool


303 304
For LUKS support the following commands are required:
   cryptsetup      - LUKS volume administration tool
305 306 307
   dmsetup         - Device-mapper administration tool


308 309 310 311 312
For attempt data rescue for lost partitions, the following package
is required:
   gpart           - guesses PC-type hard disk partitions


313 314 315 316 317 318 319 320 321 322 323
Several more commands are optionally used by GParted if found on the
system.  These commands include:

   blkid           - [mandatory requirement] used to detect file systems
                     libparted doesn't, read UUIDs and volume labels
   hdparm          - used to query disk device serial numbers
   udisks          - used to prevent automounting of file systems
   devkit-disks    - used to prevent automounting of file systems
   {filemanager}   - used in attempt data rescue to display discovered
                     file systems.  (e.g., nautilus, pcmanfm)
   hal-lock        - used to prevent automounting of file systems
324
   pkexec          - used to acquire root privileges in gparted shell
325 326
                     script wrapper, but only if available when gparted
                     source is configured
327
   gksudo          - alternatively used to acquire root privileges in
328 329
                     gparted shell script wrapper, second choice if
                     available when gparted source is configured
330
   gksu            - alternatively used to acquire root privileges in
331 332
                     gparted shell script wrapper, third choice if
                     available when gparted source is configured
333 334 335
   kdesudo         - alternatively used to acquire root privileges in
                     gparted shell script wrapper, fourth choice if
                     available when gparted source is configured
336
   xdg-su          - alternatively used to acquire root privileges in
337 338
                     gparted shell script wrapper, last choice if
                     available when gparted source is configured
339 340 341
   udevinfo        - used in dmraid to query udev name
   udevadm         - used in dmraid to query udev name
   yelp            - used to display help manual
342 343
   xhost           - used to grant root access to the X11 server, only
                     when configured to do so
344