What is gnetic?

Gnetic is a free project developed in C++ to create or restore GNU/Linux systems images. It can also work on a LAN to transfer data within computers. This tool provides an easy way to manage the GNU/Linux installation in offices or schools, including machines with different hardware, e.g., different hard-disk sizes, using only the space required by the data.

Features

  • Supports 12 filesystems.

  • Supports 9 disk labels.

  • Clones disks or partitions with different sizes.

  • Clones selinux systems.

  • GRUB boot loader restoration.

  • Multiple cloning on a LAN.

  • UUID's and filesystem labels cloning.

License

This program is free software and is distributed under the GNU GPL v3 License.

Documentation

Supported disk labels

Gnetic works with all the libparted supported disk labels:

Disk Labels
Aix
Amiga
Bsd
Dvh
Gpt
Mac
MsDos
Pc98
Sun

Supported filesystems

Gnetic uses libblkid to detect filesystems, and also uses some external tools to format them. The filesystem labels and uuid's management is performed by libparted library.

Here is the filesystems supported list, and the libraries and tools required to format or mount it.

Filesystem Required software
ext2 mke2fs
ext3 mke2fs
ext4 mke2fs
fat16 mkdosfs
fat32 mkdosfs
hfs mkfs.hfs
hfs+ mkfs.hfsplus
jfs jfs_mkfs
linux-swap mkswap
ntfs mkntfs
reiserfs mkreiserfs
xfs mkfs.xfs

The installation of these tools is optional, but it is necessary to have the apropriate filesystem tool to work with.

Software Required

It is necessary to have the library libparted 2.2 or any later version. The libe2fs, libuuid, libglibmm, libblkid, liblog4cpp and libselinux libraries are also required.

Platforms Supported

Until now, Gnetic has been compiled only in GNU/Linux.

Local use

Gnetic local use is limited to create DNA images of a disk or partition, or to restore previously created images.

Network use

Gnetic is allowed to work over the local network. This way, it is possible to restore images from another computer. For this purpose, it is possible to work in two modes: the Unicast/Multicast and the Chain Mode.

Unicast/Multicast

There is one server and one client or more. This server has to run before, and then wait for the clients. After that, the clients are able to connect with the server, which will send them its data.

Chain Mode

This mode creates a computer chain, where every node sends the data to the next one in the chain. The clients run before, and then the server sends a broadcast package to find out who is listening. After that, it sorts out the chain by sending to each client the IP address of the next one, and starts transferring the data to the first one.

After using Gnetic

After creating a complete hard disk image, the boot sector is also saved. This means, if the original system has the GRUB bootloader installed, it will be cloned, the same as all of its options into the receiving machine. If the original machine has not got GRUB, the first 440 bytes of the disk will be cloned "as is".

Partitions

It is possible to create a 40GB hard disk image, and afterwards to restore it in a 20GB hard disk (e.g.). The program only saves the files, so if the original data only takes 10GB, the image will be restored with no incidences. In addition to this, the partitions adjust to the proportion that they occupied in the original drive, i.e., for an original partition that takes the 70% of a 40GB disk, it will take the 70% of the 20GB disk on the client as long as the data fits on that space. In other case, Gnetic will return an error. If the original disk is smaller than the destination one, the partitions will be increased proportionally.

Source Code Repository

The source code of gnetic is hosted in Savannah git server. See the git browser view for more information.

Download the source & compile it

You can download the source to your computer by typing:

git clone git://git.sv.gnu.org/gnetic.git

Then, just execute the following commands:

autoreconf -i
./configure
make

The package comes with two scripts: config-gdb.sh and config-nogdb.sh with two possible sets of parameters for the ./configure script

Libgnetic

Libgnetic is a free library developed in C++ to create or restore images of GNU/Linux systems. This is the library that Gnetic uses to perform its work, it can either create copies on the fly, i.e., sending the information directly over the network, without creating an image first; or create and restore the image locally .

Libgnetic uses libparted

For further information, please read the Doxygen reference: