Exercise 1
Links and Archiving Tools
Archiving
For this exercise, information from the manual pages of ln, tar, and zip may be helpful.
Use the dd command to create a file that is 1 MB in size and contains random bits:
dd if=/dev/urandom of=testfile bs=1M count=1Create a hard link named testlink to testfile:
ln testfile testlinkArchive the two files using the following tools:
tar
tar -cf archive.tar testfile testlinktar + gzip
tar -czf archive.tar.gz testfile testlinktar + bzip2
tar -cjf archive.tar.bz2 testfile testlinkzip
zip archive.zip testfile testlinkAnalysis
ls -l
-rw-rw-r-- 1 user group 1054720 Jan 1 00:00 archive.tar
-rw-rw-r-- 1 user group 1054338 Jan 1 00:00 archive.tar.bz2
-rw-rw-r-- 1 user group 1049059 Jan 1 00:00 archive.tar.gz
-rw-rw-r-- 1 user group 2097782 Jan 1 00:00 archive.zip
-rw-rw-r-- 2 user group 1048576 Jan 1 00:00 testfile
-rw-rw-r-- 2 user group 1048576 Jan 1 00:00 testlinkDisplay the contents of the archives! Can you explain the size of the compressed file?
tar -tvf archive.tar
-rw-rw-r-- user/group 1048576 1970-01-01 00:00 testfile
hrw-rw-r-- user/group 0 1970-01-01 00:00 testlink link to testfiletar -tvf archive.tar.gz
-rw-rw-r-- user/group 1048576 1970-01-01 00:00 testfile
hrw-rw-r-- user/group 0 1970-01-01 00:00 testlink link to testfiletar -tvf archive.tar.bz2
-rw-rw-r-- user/group 1048576 1970-01-01 00:00 testfile
hrw-rw-r-- user/group 0 1970-01-01 00:00 testlink link to testfileunzip -l archive.zip
Archive: archive.zip
Length Date Time Name
--------- ---------- ----- ----
1048576 1970-01-01 00:00 testfile
1048576 1970-01-01 00:00 testlink
--------- -------
2097152 2 filesZeros
Compare the size of the compressed file when the original file consists only of zeros:
dd if=/dev/zero of=testfile0 bs=1M count=1ln testfile0 testlink0tar -cf archive0.tar testfile0 testlink0
tar -czf archive0.tar.gz testfile0 testlink0
tar -cjf archive0.tar.bz2 testfile0 testlink0
zip archive0.zip testfile0 testlink0Analysis
ls -l
-rw-rw-r-- 1 user group 1054720 Jan 1 00:00 archive0.tar
-rw-rw-r-- 1 user group 162 Jan 1 00:00 archive0.tar.bz2
-rw-rw-r-- 1 user group 1191 Jan 1 00:00 archive0.tar.gz
-rw-rw-r-- 1 user group 2380 Jan 1 00:00 archive0.zip
-rw-rw-r-- 1 user group 1054720 Jan 1 00:00 archive.tar
-rw-rw-r-- 1 user group 1054338 Jan 1 00:00 archive.tar.bz2
-rw-rw-r-- 1 user group 1049059 Jan 1 00:00 archive.tar.gz
-rw-rw-r-- 1 user group 2097782 Jan 1 00:00 archive.zip
-rw-rw-r-- 2 user group 1048576 Jan 1 00:00 testfile
-rw-rw-r-- 2 user group 1048576 Jan 1 00:00 testfile0
-rw-rw-r-- 2 user group 1048576 Jan 1 00:00 testlink
-rw-rw-r-- 2 user group 1048576 Jan 1 00:00 testlink0tar -tvf archive.tar
-rw-rw-r-- user/group 1048576 1970-01-01 00:00 testfile
hrw-rw-r-- user/group 0 1970-01-01 00:00 testlink link to testfile
tar -tvf archive0.tar
-rw-rw-r-- user/group 1048576 1970-01-01 00:00 testfile0
hrw-rw-r-- user/group 0 1970-01-01 00:00 testlink0 link to testfile0tar -tvf archive.tar.gz
-rw-rw-r-- user/group 1048576 1970-01-01 00:00 testfile
hrw-rw-r-- user/group 0 1970-01-01 00:00 testlink link to testfile
tar -tvf archive0.tar.gz
-rw-rw-r-- user/group 1048576 1970-01-01 00:00 testfile0
hrw-rw-r-- user/group 0 1970-01-01 00:00 testlink0 link to testfile0tar -tvf archive.tar.bz2
-rw-rw-r-- user/group 1048576 1970-01-01 00:00 testfile
hrw-rw-r-- user/group 0 1970-01-01 00:00 testlink link to testfile
tar -tvf archive0.tar.bz2
-rw-rw-r-- user/group 1048576 1970-01-01 00:00 testfile0
hrw-rw-r-- user/group 0 1970-01-01 00:00 testlink0 link to testfile0unzip -l archive.zip
Archive: archive.zip
Length Date Time Name
--------- ---------- ----- ----
1048576 1970-01-01 00:00 testfile
1048576 1970-01-01 00:00 testlink
--------- -------
2097152 2 files
unzip -l archive0.zip
Archive: archive0.zip
Length Date Time Name
--------- ---------- ----- ----
1048576 1970-01-01 00:00 testfile0
1048576 1970-01-01 00:00 testlink0
--------- -------
2097152 2 filesRelevance
This topic has security relevance in connection with ZIP bombs: