Day 16 - Archiving and compressing
As a system administrator, you need to be able to confidently work with compressed “archives” of files. In particular two of your key responsibilities; installing new software, and managing backups, often require this.
On other operating systems, applications like WinZip, and pkzip before it, have long been used to gather a series of files and folders into one compressed file - with a .zip extension. Linux takes a slightly different approach, with the “gathering” of files and folders done in one step, and the compression in another.
So, you could create a “snapshot” of the current files in your /etc/init.d folder like this:
tar -cvf myinits.tar /etc/init.d/
This creates myinits.tar in your current directory.
Note 1: The
-v switch (verbose) is included to give some feedback - traditionally many utilities provide no feedback unless they fail.
Note 2: The
-f switch specifies that “the output should go to the filename which follows” - so in this case the order of the switches is important.
(The cryptic “tar” name? - originally short for “tape archive”)
You could then compress this file with GnuZip like this:
…which will create
myinits.tar.gz. A compressed tar archive like this is known as a “tarball”. You will also sometimes see tarballs with a .tgz extension - at the Linux commandline this doesn’t have any meaning to the system, but is simply helpful to humans.
In practice you can do the two steps in one with the “-z” switch, like this:
tar -cvzf myinits.tgz /etc/init.d/
This uses the
-c switch to say that we’re creating an archive;
-v to make the command “verbose”;
-z to compress the result - and
-f to specify the output file.
TASKS FOR TODAY
- Check the links under “Resources” to better understand this - and to find out how to extract files from an archive!
tarto create an archive copy of some files and check the resulting size
- Run the same command, but this time use
-zto compress - and check the file size
- Copy your archives to /tmp (with:
cp) and extract each there to test that it works
POSTING YOUR PROGRESS
Nothing to post today - but make sure you understand this stuff, because we’ll be using it for real in the next day’s session!
- What is a .bz2 file - and how would you extract the files from it?
- Research how absolute and relative paths are handled in tar - and why you need to be careful extracting from archives when logged in as root
- You might notice that some tutorials write “tar cvf” rather than “tar -cvf” with the switch character - do you know why?
Some rights reserved. Check the license terms here