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:
gzip myinits.tar
...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.
- Check the links under "Resources" to better understand this - and to find out how to extract files from an archive!
- Use
tar
to create an archive copy of some files and check the resulting size - Run the same command, but this time use
-z
to compress - and check the file size - Copy your archives to /tmp (with:
cp
) and extract each there to test that it works
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?
Copyright 2012-2021 @snori74 (Steve Brorens). Can be reused under the terms of the Creative Commons Attribution 4.0 International Licence (CC BY 4.0).