Я не вижу причин использовать cpio по какой-либо другой причине, кроме копирования открытых файлов RPM через disrpm или rpm2cpio, но могут быть крайние случаи, когда cpio предпочтительнее дегтя.
История и популярность
Как tar, так и cpio — это конкурирующие форматы архивов, представленные в Версии 7. Unix в 1979 году, а затем включен в POSIX.1-1988, хотя остался только tar в следующем стандарте, POSIX.1-20011.
Формат файла Cpio менялся несколько раз и не оставался полностью совместимым между версиями. Например, теперь существует ASCII-кодированное представление информационных данных двоичного файла.
Tar более широко известен, с годами стал более универсальным и с большей вероятностью будет поддерживаться в данной системе. Однако Cpio по-прежнему используется в некоторых областях, например в формате Red Hat (RPM). RPM v5 (что, по общему признанию, неясно) использует xar вместо cpio.
Оба работают в большинстве Unix-подобных систем, хотя tar встречается чаще. Вот статистика установки Debian:
#rank name inst vote old recent no-files (maintainer)
13 tar 189206 172133 3707 13298 68 (Bdale Garbee)
61 cpio 189028 71664 96346 20920 98 (Anibal Monsalve Salazar)
Режимы
Копирование. Используется для создания архива, аналогично tar -pc
.
Копировать: используется для извлечения из архива, аналогично tar -px
.
Проход: это в основном оба вышеперечисленных, похожие на tar -pc … |tar -px
, но в одной команде (и, следовательно, микроскопически быстрее). Он похож на cp -pdr
, хотя и cpio, и (особенно) tar имеют больше возможностей для настройки. Также обратите внимание на rsync -a
, о котором люди часто забывают, так как он чаще используется при сетевом подключении.
Я не сравнивал их производительность, но ожидаю, что они будут очень похожи по процессору, памяти и размеру архива (после сжатия).
person
Adam Katz
schedule
07.07.2016