Αρχειοθέτηση αρχείων
Πέρα από τη συμπίεση, πολύ σημαντική είναι και η αρχειοθέτηση των αρχείων, δηλαδή η τοποθέτησή πολλών αρχείων σε ένα ενιαίο αρχείο με σκοπό την εύκολη μεταφορά και αποθήκευση. Όπως με τα συστήματα συμπίεσης αρχείων έτσι και με τα συστήματα αρχειοθέτησης υπάρχει μεγάλη ποικιλία. Συνήθως δε, κάθε λειτουργικό σύστημα υιοθετεί κάποιο ειδικό σύστημα αρχειοθέτησης. Στο UNIX, για λόγους ιστορικούς και συμβατότητας, το πιο συνηθισμένο σύστημα είναι το TAR (Tape ARchive) που χρησιμοποιεί την ομώνυμη εντολή tar και οι αρχειοθήκες του έχουν την ίδια κατάληξη .tar. Πολύ συχνά τα αρχεία αυτά απαντώνται και συμπιεσμένα οπότε μπορούμε να τα δούμε με τις εξής καταλήξεις:
|
Κατάληξη Αρχείου
|
Είδος Αρχείοθήκης
|
|
.tar.Z .tar.gz .tgz |
Αρχειοθήκη συμπιεσμένη με το πρόγραμμα gzip. |
|
.tar.bz .tar.bz2 .tbz |
Αρχειοθήκη συμπιεσμένη με το πρόγραμμα bzip2. |
| .tar.zip | Αρχειοθήκη συμπιεσμένη με το πρόγραμμα zip (σπάνια χρησιμοποιείται ο συνδυασμός αυτός). |
Στο Debian, χρησιμοποιείται η έκδοση GNU tar η οποία προσφέρει ορισμένα επιπλέον χαρακτηριστικά από τις εντολές tar των άλλων συστημάτων UNIX. Η σύνταξη της εντολής GNU tar ακολουθεί τους εξής κανόνες:
tar [-] [function][options] archive files...
όπου function η εργασία που θα πραγματοποιήσει η tar, με τις επιλογές options, χρησιμοποιώντας την αρχειοθήκη archive και τα αρχεία (ή καταλόγους files). Για αυτήν την εντολή η χρήση της παύλας “-“ δεν είναι απαραίτητη.
Ως εργασία εννοούμε μία από τις εξής:
|
Εργασίες
|
Λειτουργία
|
|
-A --catenate --concatenate |
Αν τα αρχεία files είναι και αυτά αρχειοθήκες .tar, τότε η εντολή πραγματοποιεί συνένωση αυτών στην αρχική αρχειοθήκη archive. |
|
-c --create |
Δημιουργεί την αρχειοθήκη archive με περιεχόμενα τα αρχεία files. |
|
-d --diff --compare |
Εμφανίζει τις διαφορές μεταξύ των αρχείων που βρίσκονται στην αρχειοθήκη και των αρχείων που βρίσκονται στο σύστημα αρχείων. |
| --delete | Διαγράφει τα αρχεία files που βρίσκονται στην αρχειοθήκη archive. |
|
-r --append |
Προσαρτά τα αρχεία files στο τέλος της αρχειοθήκης archive. |
|
-t --list |
Εμφάνιση των περιεχομένων της αρχειοθήκης. |
|
-u --update |
Ανανέωση των αρχείων files που βρίσκονται στην αρχειοθήκη archive. Αν υπάρχουν ήδη στην αρχειοθήκη, γίνεται αντικατάσταση με τα νέα αρχεία, ενώ διαφορετικά προστίθενται στην αρχειοθήκη. |
|
-x --extract --get |
Εξάγει τα αρχεία files από την αρχειοθήκη archive. Αν δεν δοθούν ονόματα αρχείων για εξαγωγή, εξάγει όλα τα αρχεία της αρχειοθήκης. |
Ενώ ως επιλογές εννοούμε οποιονδήποτε (συμβατό) συνδυασμό των παρακάτω:
|
Επιλογές
|
Λειτουργία
|
|
-C --directory DIR |
Χρησιμοποιείται σε συνδυασμό με την εργασία εξαγωγής (-x, extract) και εξάγει τα αρχεία στον κατάλογο DIR και όχι στον τρέχοντα κατάλογο. |
|
-f --file [HOSTNAME:]FILE |
Χρησιμοποιεί ως αρχειοθήκη το αρχείο FILE, το οποίο μπορεί να είναι και απομακρυσμένο (εξού και η επιλογή HOSTNAME). Η tar είχε σχεδιαστεί, εξάλλου, να λειτουργεί με συσκευές οδηγών κασέτας (tape drives). Αυτό σημαίνει ότι το αρχείο μπορεί να είναι απευθείας το σημείο επαφής της συσκευής οδηγού κασέτας, π.χ. /dev/st0. |
|
-T --files-from FILE |
Χρησιμοποιεί τη λίστα αρχείων που βρίσκεται στο αρχείο κειμένου FILE για εξαγωγή ή αρχειοθέτηση, αντί της παραμέτρου files. |
| --exclude PATTERN | Αποκλείει από την εξαγωγή ή αρχειοθέτηση τα αρχεία που ταιριάζουν στην κανονική παράσταση PATTERN. |
|
-X --exclude-from FILE |
Αποκλείει από την εξαγωγή ή αρχειοθέτηση τα αρχεία που περιέχονται στο αρχείο κειμένου FILE. |
|
-l --one-file-system |
Όταν γίνεται αρχειοθέτηση χρησιμοποιεί μόνο το τρέχον σύστημα αρχείων και δεν εισέρχεται σε συναρμοσμένα συστήματα αρχείων σε αυτό (mounted). |
| --no-recursion | Δεν περιλαμβάνει στην αρχειοθέτηση αναδρομικά τα περιεχόμενα των καταλόγων. |
|
-h --dereference |
Όταν συναντά συμβολικούς συνδέσμους, αρχειοθετεί τα πραγματικά αρχεία και όχι τους συνδέσμους. |
| --ignore-case | Αγνοεί την διαφορά πεζών-κεφαλαίων στον αποκλεισμό αρχείων (με την --exclude). |
|
-k --keep-old-files |
Κατά την εξαγωγή δεν διαγράφει τα υπάρχοντα αρχεία. |
|
-N --after-date DATE --newer DATE |
Αρχειοθετεί μόνο τα αρχεία που είναι νεώτερα από την ημερομηνία DATE. |
| --newer-mtime DATE | Αρχειοθετεί μόνο τα αρχεία που έχουν μεταβληθεί μεταγενέστερα από την ημερομηνία DATE. |
| --mode M | Κατά την αρχειοθέτηση χρησιμοποιεί τις άδειες πρόσβασης που ορίζονται από τον οκταδικό αριθμό M (βλ. απόλυτο τρόπο εκτέλεσης chmod). |
|
-p --same-permissions --preserve-permissions |
Διατηρεί τις άδειες προσπέλασης των αρχείων κατά την αρχειοθέτηση ή εξαγωγή τους. |
|
-s --same-order --preserve-order |
Κατά την εξαγωγή των αρχείων, διατηρείται η σειρά τους όπως στην αρχειοθήκη. |
| --same-owner | Διατηρεί τα ονόματα ιδιοκτητών/ομάδος των αρχείων κατά την αρχειοθέτηση ή εξαγωγή τους (προκαθορισμένο για το χρήστη root). |
| --no-same-owner | Χρησιμοποιεί το όνομα του τρέχοντος χρήστη/ομάδος κατά την αρχειοθέτηση ή εξαγωγή των αρχείων (ισχύει για όλους τους χρήστες πλήν του root). |
| --group G | Κατά την αρχειοθέτηση ορίζει την ομάδα των αρχείων. |
| --totals | Εμφανίζει το συνολικό αριθμό bytes που αρχειοθετήθηκαν. |
|
-V --label NAME |
Ονομάζει την αρχειοθήκη με την ετικέτα NAME. |
|
-w --interactive --confirmation |
Διαλογική εργασία. Ζητάει επαλήθευση για κάθε πράξη. |
|
-Z --compress --uncompress |
Χρησιμοποιεί την εντολή compress για τη συμπίεση ή αποσυμπίεση των αρχείων (το όνομα του αρχείου θα πρέπει να είναι .tar.Z). |
|
-z --gzip --gunzip --ungzip |
Χρησιμοποιεί την εντολή gzip για τη συμπίεση ή αποσυμπίεση των αρχείων (το όνομα του αρχείου θα πρέπει να είναι .tar.gz ή .tgz). |
|
-j --bzip2 |
Χρησιμοποιεί την εντολή bzip2 για τη συμπίεση ή αποσυμπίεση των αρχείων (το όνομα του αρχείου θα πρέπει να είναι .tar.bz2 ή .tbz). Σημείωση: παλαιότερες εκδόσεις της tar χρησιμοποιούσαν την επιλογή -I. |
| --use-compress-program PROG | Χρησιμοποιεί την εντολή PROG για τη συμπίεση ή αποσυμπίεση των αρχείων. Η μόνη απαίτηση είναι η εντολή να δέχεται την παράμετρο -d για αποσυμπίεση. |
Ακολουθούν μερικά παραδείγματα χρήσης της εντολής tar.
Αν θέλετε να πάρετε συμπιεσμένο αντίγραφο του καταλόγου σας $HOME με τη μορφή αρχειοθήκης με όνομα /tmp/homebackup.tar.gz, και να το μεταφέρετε σε ένα καινούριο δίσκο που έχετε συναρμόσει στον κατάλογο /newdisk:
$ tar czf /tmp/homebackup.tar.gz $HOME $ cd /newdisk/ $ tar xzf /tmp/homebackup.tar.gz
Η τελευταία εντολή είναι ισοδύναμη με
$ tar xzf -C /newdisk /tmp/homebackup.tar.gz
Αν θέλετε να ανανέωσετε τα αρχεία της αλληλογραφίας σας στην αρχειοθήκη μπορείτε να χρησιμοποιήσετε την εντολή:
$ tar uvf /tmp/homebackup.tar.gz $HOME/mail
Ως χρήστης root, αν επιθυμείτε να λάβετε ένα πλήρες αντίγραφο ενός καταλόγου, συμπιεσμένου με την εντολή bzip2, και να βλέπετε αναλυτικά τα αρχεία καθώς εισάγονται στην αρχειοθήκη, τότε γράψτε:
# tar cvpjf /var/backup/etc.tar.gz /etc
Active forum topics
- Wake up from suspend mode failed
- Οργάνωση στις μεταφράσεις των ελληνικών στο Debian.
- απορια σχετικα με nvidia440
- πρόβλημα εγκατάστασης nvidia driver GTS250.
- kernel 2.6.38 για squeeze
- Gnome3
- 2 μήνες σπασμένο το upgrade σε unstable [SOLVED]
- Οι χρήστες του Internet Explorer είναι χαζοί;
- Debian Lenny + Nvidia drivers
- εγκατασταση usb cosmote
New forum topics
Νέοι χρήστες
- kountp
- Adonthegreat
- giorgos_m
- prodromos
- airmaik
Οι πιο πρόσφατες καταχωρίσεις blog.
- Fosscomm 2012
- armhf officially into Debian!
- back from UDS/Linaro Connect...
- FTF is over, Linaro Interview
- straight from FTF 2011, San Antonio...
- Όσο μεγαλώνεις μαθαίνεις...
- Emdebian 2011 Sprint report, Genesi Europe store goes online...
- Θεσσαλονίκη - open source ERP workshop
- Χρήσιμο URL για Flash Cards και Linux filesystems
- Cambridge, UK, ARM HQ for Emdebian 2011 Sprint