Cpio
cpio — це архіватор файлів без стиснення та її формат архіву в Unix-подібних операційних системах. Назва програми походить від англ. copy in and out. Історіяcpio була розроблена в 1977 для архівації на стрічку в Programmer Workbench UNIX - версії UNIX на базі UNIX v7, потім вона була портована на інші Unix-системи. З моменту свого створення формат архіву cpio файлів зазнав кількох, іноді несумісних, змін. Найбільш помітною є перехід з використання бінарного формату метаданих файлу ASCII (текстовий) формат. В подальшому стали використовувати інші програми резервного копіювання та архівації, наприклад утиліта tar, майже на всіх Unix витіснила cpio. Але cpio залишився форматом архіву в менеджері пакетів RPM, в програмі initramfs ядра Linux 2.6, та в інсталяторі Apple (pax). Приклади роботиcpio як і tar, був створений для зберігання резервних копій файлів Його робота полягає в тому, щоб взяти ієрархічну структуру каталогів, файлів, разом з їх метаданими (номер inode, права, часові мітки) та сформувати безперервний потік, який можна записати на стрічку. Він не стискає свій зміст, але отриманий потік або файл часто стискають за допомогою gzip або зовнішніх утиліт. Створення архівуДля створення архіву використовується опція У цьому прикладі утиліта find формує список імен файлів разом з шляхами, передає це в stdin утиліті cpio. cpio видає готовий архів в stdout. $ find . -depth -print | cpio -o > /path/archive.cpio
РозпаковкаДля розпаковки англ. copy-in, використовується опція При цьому програма cpio очікує в stdin архів, і вона буде відтворювати на файловій системі файли. Опція $ cpio -i -vd < archive.cpio
Для розпаковки всі інші аргументи які йдуть після опцій, вважаються іменами файлів (з підтримкою глобів) які необхідно розпакувати. Наприклад розпаковка лише одного файлу /etc/fstab: $ cpio -i -d /etc/fstab < archive.cpio
Перелік файлів в архівіДля того щоб подивитись які файли є в архіву використовується опція $ cpio -t < archive.cpio
Архів може містити в собі як абсолютні так і відносні шляхи файлів. Копіюванняcpio підтримує ще тип операцій - копіювання файлів, це опція Ця операція поєднує кроки copy-out та copy-in не створюючи безпосередньо файл архіву. Копіює створюючи каталоги з потребою, виставляє права на файли, а також можливо заміняючи існуючи файли (опція -u), і виводячи прогрес в stdout (-v). $ find . -depth -print | cpio -p -dumv new-path
Стандартизація POSIXУтиліта cpio була в стандарті до POSIX.1-1988, але була виключена з POSIX.1-2001. Для роботи з cpio пропонується утиліта pax яка може працювати з архівами cpio (опція -x с значеннями cpoi та bcpio для binary metadata cpio). [1] [2]
Дивись також
Список літератури |