Bsdtar linux что это

Обновлено: 04.07.2024

Mounting an ISO and extracting files from it. Command line techniques with a Debian ISO remaster example.

  1. Copy an optical disk to a file
  2. Mount an ISO file
  3. Convert any disk image to ISO format
  4. Loopmount an ISO Without Administrative Privileges
    1. udisksctl
    2. udevil
    3. pmount
    4. archivemount
    5. fuseiso9660
    1. bsdtar
    2. xorriso
    3. isoinfo
    4. 7z
    1. Extracting All Files from an ISO
    2. Appending Boot Parameters to the ISO
    3. Putting the ISO Back Together

    Copy an optical disk to a file

    Copy a CD to a .iso file:

    Mount an ISO file

    Mount the contents of a .iso file to a directory:

    Convert any disk image to ISO format

    The iat package can be used to convert many disk image formats (BIN, MDF, PDI, CDI, NRG, and B5I) to ISO9660.

    Loopmount an ISO Without Administrative Privileges

    Users seeking to view the contents of an ISO file or copy a file from it are frequently advised to mount the ISO with

    • The command requires root privileges, which the user might not have.
    • Why invoke a root privilege (if available) when it is unnecessary?

    The following programs allow loopmounting without administrative privileges.

    udisksctl

    If a desktop environment has been installed from the installer or after the installation, udisks2 will already be on the system.

    The package contains the udisksctl program. The command

    attaches the ISO to a loop device in /dev. Logging out and back in again might be necessary to have success with this command as a user.

    The ISO's main partition can be mounted and unmounted with the commands

    The mount point is at /media/$USER.

    Unmounting still leaves example.iso associated with /dev/loop0. To unattach the device do

    udisks2 appeared in Debian 8 (jessie).

    udevil

    Intended as a udisks2 replacement but udevil can co-exist with it and will work to mount an ISO with or without its recommended packages.

    work out of the box. The mount point is in /media.

    udevil appeared in Debian 8 (jessie) but has been backported to Debian 7 (wheezy).

    pmount

    Mounting an ISO with pmount requires (at present) the experimental version. Alter the loop_allow directive in /etc/pmount.conf to yes and uncomment loop_devices before mounting the ISO in /media with

    archivemount

    archivemount is a FUSE based file system which supports reading from (but not writing to) ISO 9660 images. Create the directory isomount in $HOME and mount with

    fuseiso9660

    fuseiso9660 is a module for the FUSE kernel service.

    Create the directory isomount in the home directory ($HOME) and mount the iso with

    fuseiso9660 deals only with the basic ISO9660 format (see the manual) so filenames are limited to uppercase and 11 characters in an 8.3 format.

    Viewing the Contents of an ISO

    Mounting the ISO and following up with

    is one method of seeing what the structure of the ISO is and what it contains. However, there are a number of programs which will allow examination of the contents of an ISO archive without having to mount it and without administration rights.

    A Debian 9 (stretch) netinst ISO will be used as an example image in what follows.

    bsdtar

    bsdtar is a tar implementation which can view the contents of various archive files, including ISO 9660 images. It can also extract files from the image. For a basic view of the contents of an ISO image do

    A detailed view would be obtained with

    To look at a particular directory in the archive there is

    xorriso

    xorriso is a versatile program which manipulates ISO 9660 filesystem images. It can also extract files from the image.

    Commands which correspond to the ones for bsdtar are

    isoinfo

    isoinfo is included in the genisoimage package and is able to list and extract files in an ISO 9660 image. The listing is of all files in the image.

    For basic listing:

    For long listing:

    The 7z utility comes in the p7zip-full package. It packs and unpacks 7z archives and has ISO 9660 as a supported format for unpacking.

    gives a file listing of the archive.

    Extraction of Files from an ISO

    If debian-9.3.0-i386-netinst.iso has been mounted and it is desired to have all the deb and udeb files copied to other media it should be sufficient to do

      isoinfo only extracts single files and will display a file on stdout (possibly the screen) if it is not redirected somewhere.

    Remaster an Installation Image

    Netinst and DVD-1 images are popular choices when it comes to installing Debian. Much of the time it is sufficient simply to boot the image to have everything installed to a user's satisfaction. However, it is also possible to pass boot parameters to the installer to achieve a particular end, either during the installation or on the installed system. Objectives could be to produce a fully automatic installation or to configure part of the system using preseeding.

    Appending parameters to the kernel command line to setup, for example, a network connection, can be done relatively easily, but is a repetitive task when installing frequently. On the other hand, the installation image can be altered to contain the needed parameters before burning to CD or DVD or writing to a USB stick.

    Manipulating an ISO image in this way is known as remastering. The basic idea will be illustrated using a Debian 9.3.0 i386 netinst image which is planned to be booted from the non-graphical install option with a preseed configuration file, preseed.cfg.

    Extracting All Files from an ISO

    First make a place to put the extracted files:

    The name of the directory is displayed. Something like this should be seen:

    Extract all files from the ISO with (for example)

    and make the files in /tmp/tmp.8t03ifDFAx writable:

    A preseed configuration file can now be put in /tmp/tmp.8t03ifDFAx:

    Appending Boot Parameters to the ISO

    Edit /tmp/tmp.8t03ifDFAx/isolinux/txt.cfg to add the required parameters to the end of the append line. What follows is a personal choice but

    shows the intent. The language and keymap questions will not be asked and the rest of the installation will proceed under the guidance of preseed.cfg. preseed.cfg is found by the installer because the image is mounted on /cdrom.

    Putting the ISO Back Together

    For instructions how to re-use the full boot equipment of installation ISOs for "i386", "amd64", "arm64", and other architectures, see RepackBootableISO. The instructions in the following text suffice for "i386" and "amd64" in legacy BIOS mode.

    Install genisoimage and do

    (Leave out \ when using the command. It is only here to indicate a line-break ).

    The original ISO was capable of being put on a USB stick at /dev/sdX (X depends on what lsblk gives when the stick is plugged in) with

    and would have been bootable. The ISO can be restored to a bootable state with

    Alternatively, the genisoimage and isohybrid commands can be replaced by the single command:

    XINETD

    Сервисы перечисленные в конфигурационном файле xinetd можно разделить на две группы. Сервисы из первой группы называются multi-threaded см. примечание и на каждый новый запрос запускается новый серверный процесс. Для таких сервисов xinetd продолжает слушать сеть на соответствующем порту ожидая новых запросов и готовай породить новый процесс. В другую группу включаются сервисы демоны которых в состоянии обрабатывать новые соединения. Такие сервисы называются single-threaded см. примечание и xinetd прекращает обработку новых запросов до тех пор пока серверный процесс не завершит свою работу. Сервисы в этой группе обычно datagram-based.

    Итак, причиной существования супер-сервера является факт сохранения системных ресурсов за счет не запуска множества серверных процессов которые возможно будут бездействовать большую часть своей жизни. Полностью соответствуя назначению запускать требуемые сервисы, xinetd осуществляет так же функции контроля доступа и регистрации событий. Кроме того xinetd не ограничен сервисами перечисленными в файле /etc/services. Можно использовать xinetd для запуска сервисов специального назначения.

    ПАРАМЕТРЫ

    УПРАВЛЕНИЕ XINETD

    При реконфигурации лог-файлы закрываются и вновь открываются. Это позволяет удалять старые логи.

    ФАЙЛЫ

    /etc/xinetd.conf стандартный конфигурационный файл /var/run/xinetd.dump стандартный файл дампа

    СМОТРИТЕ ДОПОЛНИТЕЛЬНО

    АВТОР

    Panos Tsirigotis, CS Dept, University of Colorado, Boulder

    ПРОИЗНОШЕНИЕ

    ПРИМЕЧАНИЕ

    Я несколько не согласен с терминологией авторов относительно "multi-threaded" и "single-threaded", в текстах прочитанных мною ранее например объяснения разницы архитектуры Apache и M$ IIS или Oracle и M$ SQL а также различных реализаций InterBase V6 то что авторы называют "multi-threaded" принято называть "классической архитектурой" (Classic) - на каждый запрос свой процесс, а для того что здесь названо "single-threaded" используется термин "многопоточный" (multi-threaded - вот оно, в точности наоборот :) или "суперсерверная архитектура", то есть в рамках одного процесса несколько потоков(нитей). В данном документе я решил при переводе оставить терминологию оригинального текста.

    Я всегда использовал GNU tar . Тем не менее, все дистрибутивы GNU /Linux, которые я видел ship bsdtar в своих репозиториях. Я даже видел, что он установлен по умолчанию в некоторых, IIRC. Я точно знаю, что Arch GNU /Linux требует его как часть basedevel (может быть base , но я не уверен), как я видел это в PKGBUILDs .

    Почему вы хотите использовать bsdtar вместо GNU tar ? В чем преимущества?

    Обратите внимание, что я человек, который спросил В чем основные отличия между BSD и GNU /Linux? .

    Ubuntu bsdtar - фактически реализация tar в комплекте с libarchive ; и это должно быть дифференцировано от классического bsdtar . Некоторые варианты BSD используют libarchive для их реализации tar, например FreeBSD.

    GNUtar поддерживает другие варианты tar и автоматическое обнаружение сжатия.

    В качестве визуализации вставил рекламный блок из Ubuntu, есть несколько вещей, которые специфичны для libarchive :

    1. libarchive по определению является библиотекой и отличается от классического bsdtar и GNUtar .
    2. libarchive не может прочитать некоторые старые неясные вариации GNU tar, наиболее примечательным было кодирование некоторых заголовков в base64, так что tar-файл был бы 7- бит чистый ASCII (это было в случае с 1.13.6-1.13.11 и изменено в 1.13.12, этот код был официально официально установлен в tar в течение 2 недель).
    3. libarchive 's bsdtar tar-файлы (например, zip, iso9660, cpio), но классический bsdtar не будет.

    Теперь, когда мы получили код libarchive , он в основном сводится к тому, что поддерживается в классическом bsdtar

    Вы можете сами увидеть свои страницы:

    • GNU tar (1)
    • FreeBSD tar (1) - libarchive-based
    • NetBSD tar (1)
    • OpenBSD tar (1)
    • Standard /Schily tar (1) - старейшая бесплатная реализация tar, никакого наследия для других
    • busybox (1) - реализация мини-tar для BusyBox, общая для встроенных систем >

    В своем первоначальном вопросе вы спросили, каковы преимущества классического bsdtar , и я не уверен, что действительно есть , Единственный раз, когда это действительно имеет значение, - если вы пытаетесь написать сценарии оболочки, которые должны работать на всех системах; вам нужно убедиться, что вы переходите к tar , действительно действительны во всех вариантах.

    GNUtar , libarchive ' bsdtar , классический bsdtar , star и BusyBox ' tar - это, безусловно, реализаторы tar, которые вы будете запускать большую часть времени, но я уверен, что есть другие (раннее QNX, например). libarchive / GNUtar / star являются наиболее функциональными, но во многих отношениях они давно отклоняются от исходных стандартов (возможно, к лучшему).

    "Программа bsdtar имеет ряд преимуществ перед предыдущими реализациями tar:

    • Библиотека. Поскольку основная функциональность находится в библиотеке, это может быть используемые другими инструментами, такими как pkg_add.
    • Автоматическое определение формата. Libarchive автоматически обнаруживает сжатие (нет /gzip /bzip2) и формат (старый tar, ustar, gnutar, pax, cpio, iso9660, zip) при чтении архивов. Он делает это для любой источник данных.
    • Поддержка формата обмена Pax. Это расширение POSIX /SUSv3 для старый формат «ustar» tar, который добавляет произвольные расширенные атрибуты для каждой записи. Делает все, что делает формат GNU tar, только лучше.
    • Обрабатывает флаги файлов, списки ACL, произвольные пути и т. д. Обмен Pax формат поддерживает атрибуты key /value с помощью легко расширяемого техника. Произвольные пути, имена групп, имена пользователей, размеры файлов являются частью стандарта POSIX; libarchive расширяет это с помощью поддержка файловых флагов, ACL и произвольных номеров устройств.
    • Поддержка GNU tar. Libarchive читает большинство архивов tar GNU. Если здесь это спрос, это может быть дополнительно улучшено ».

    BSDTAR vs TAR плюс многое другое

    Вот одно преимущество!

    Я расскажу здесь 5 тем (и уходите из темы, но она также будет охватывать то, что вы хотите):

    1. bsdtar vs tar
    2. разреженные файлы vs not
    3. толстые и тонкие файлы /luns с btrfs
    4. толстые и тонкие файлы /luns без btrfs
    5. diff между толстым и тонким и как это не распространяется на просто luns

    bsdtar обрабатывает разреженные файлы лучше, чем обычные tar

    • bsdtar возьмет все нули и только метаданные их.
    • tar будет обрабатывать каждый нуль

    * пример: Представьте себе 20 tb разреженный файл (называемый biglun) с 10 мегабайтами данных по 20 tb sparsefile (biglun) . теперь, поскольку это разреженный файл, он будет занимать всего 10 мегабайт на диске.

    Как сделать разреженный файл:

    Редкий файл - как это сделать - обнаружить его - все Редкие файлы похожи на «тонкие» луны (если вы использовали его для луна). «толстые» луны будут другой историей.

    * вернуться к теме:

    Тарирование biglun заставит tar пройти через все 10 мегабайт вместе со всем

    20tb хуже нулей, распространяемых по лунному . это займет некоторое время, я полагаю, и tar-файл будет довольно большой. Также - извлечение его - я никогда не делал извлечение файла tar из разреженного файла, но это может быть не очень красиво; Возможно, я ошибаюсь.

    bsdtarring biglun просто обработает 10 мегабайт данных и сделает небольшие метаданные для

    Benefit? Много их; Я только что написал несколько выше.

    Он похож на rsync vs cp

    • Кроме того, если вы rsync гигантский разреженный файл, он будет вести себя как tar
    • Если вы cp гигантский файл, он будет вести себя автоматически, как bsdtar (вы можете изменить поведение cp'ss, чтобы переходить через нули или не переходить через нули)

    Лично мне нравится представлять редкие файлы, такие как тонкие луны, и обычные файлы, такие как толстые луны .

    Следующая тема BTRFS тонкая против толстых лун:

    С файловыми системами, такими как BTRFS , тонкие луны - это разреженные файлы (сделайте это с усечением, как в wiki-документе).

    подсказка: с bsdtar , скопируйте с cp

    толстые луны - это обычные файлы с атрибутом + C (+ C, поэтому он не делает его COW, копирует на запись, так что все записи, судя по всему, привязаны туда, где они выделены, и никаких новых записей не происходит для этого файла, когда перезаписываются или удаляются - исследование COW и BTRFS ). Вместо того, чтобы сделать файл с усечением, сделайте его с помощью «fallocate -l»

    совет: резервное копирование с помощью bsdtar или tar, копирование с помощью rsync или cp

    следующая тема: EXT thin vs thick luns:

    тонкие луны, которые разрежены

    подсказка: с bsdtar , скопируйте с cp

    толстые луны - это обычные файлы с атрибутом + C (+ C, так что он не делает его COW, копирует на запись, так что все записи, по существу, привязаны к тому, где его выделено, и никаких новых записей не происходит для этого файла, когда перезаписываются или удаляются - исследование COW и BTRFS ). Вместо того, чтобы сделать файл с усечением, сделайте его с помощью «fallocate -l»

    совет: резервное копирование с помощью bsdtar или tar, копирование с помощью rsync или cp

    что толстый vs тонкий файл

    • толстые luns /files, заполнить их данные от 0 до выделенного размера, метаданные притворяются, где находятся 0s. по мере заполнения данных данные заполняются
    • толстые luns /files: заполнить свои данные в начале с помощью 0sили что-то в этом роде (ленивый нуль или нулевой нуль) - эти заданные резервирования (или как ZFS любят звонить refreservations)

    кончик

    Помните, что толстый и тонкий не просто применяется к LUNS, он также может быть на файлах, файловых системах zfs (share /volume /luns), и я уверен, что другие вещи (просто посмотрите на zfs).

    Следующее основано на чтении, а не на опыте - я только начинаю с Freebsd, поэтому у меня практически нет реального опыта (я исхожу из Linux). Я извиняюсь (и смиренно требую коррекции), если я пропустил что-то важное и что я говорю здесь, это мусор .

    Я не знаю наверняка, будет ли Gnu tar включать все метаданные UFS, как говорят, как это делает Freebsd tar, и это важная проблема. Но, по моему вкусу, я НИКОГДА не рассматриваю дамп, который будет завершен, пока я не сохраню сумму MD5 выходного файла, И ТОГДА сравнил файл дампа с данными, которые я только что выбросил. Различные проблемы могут привести к тому, что данные сброса будут отличаться от данных на диске. (Не только изменения файлов, но и ошибки диска, ошибки памяти, ошибки машины и т. Д. Все это произошло со мной.)

    По моему мнению, это делает Gnu tar единственным вариантом, который я до сих пор нашел для создания настоящих резервных копий в системе Freebsd.

    Я бы очень хотел узнать иначе, FWIW. Я бы предпочел использовать собственные утилиты, по крайней мере, для клонирования разделов и резервного копирования с резервным копированием. Но если вы не можете проверить правильность дампа, я не вижу смысла беспокоиться о его создании.

    bsdtar может читать и tar-элементы, поступающие из других архивов, используя синтаксис @archive

    GNU tar имеет параметр --delete - хотя в последнее время я обнаружил, что он может повредить архив.

    Я всегда использовал GNU tar . Однако все дистрибутивы GNU / Linux, которые я видел, поставляются bsdtar в их репозиториях. Я даже видел, как он установлен по умолчанию в некоторых, IIRC. Я точно знаю, что Arch GNU / Linux требует этого как часть basedevel (может быть base , но я не уверен), как я видел это в PKGBUILD.

    Почему вы хотите использовать bsdtar вместо GNU tar ? Каковы преимущества?

    Это ответ на вопрос: почему при извлечении этого tgz выдается ошибка на моем Mac, но не на Linux? на Apple.SE также имеет отношение к этому вопросу.

    Ubuntu bsdtar на самом деле является реализацией tar, связанной с libarchive ; и это следует отличать от классического bsdtar . Некоторые варианты BSD используют libarchive для своей реализации tar, например, FreeBSD.

    GNUtar поддерживает другие варианты tar и автоматическое определение сжатия.

    Когда визуализация вставила рекламный ролик из Ubuntu, есть несколько вещей, которые относятся к libarchive :

    1. libarchive по определению является библиотекой, и отличается от классической bsdtar и GNUtar в этом смысле.
    2. libarchive не может прочитать некоторые старые непонятные изменения tar GNU, наиболее заметной была кодировка некоторых заголовков в base64, так что файл tar был бы 7-битным чистым ASCII (это было в случае 1.13.6-1.13.11 и изменено в 1.13.12 этот код был только официально в tar в течение 2 недель)
    3. libarchive s bsdtar будет читать файлы, не относящиеся к tar (например, zip, iso9660, cpio), а классический bsdtar - нет.

    Теперь, когда мы libarchive ушли с дороги, все сводится к тому, что поддерживается в классической bsdtar .

    Вы можете увидеть сами страницы здесь:

    В своем первоначальном вопросе вы спросили, какие преимущества у классики bsdtar , и я не уверен, что они действительно есть. Единственное время, когда это действительно важно, - это если вы пытаетесь писать сценарии оболочки, которые должны работать на всех системах; Вы должны убедиться, что то, что вы передаете, tar действительно во всех вариантах.

    GNUtar , libarchive «S bsdtar , классические bsdtar , star и BusyBox » s tar , конечно , в реализации деготь , что вы будете работать в большую часть времени, но я уверен , есть и другие , там ( в начале QNX, например). libarchive / GNUtar / star являются наиболее функциональными, но во многих отношениях они давно отклоняются от первоначальных стандартов (возможно, в лучшую сторону).

    BSDTAR против TAR и многое другое

    Вот одно преимущество !!

    Я собираюсь перейти к 5 темам здесь (и далеко от темы, но она также охватит то, что вы хотите):

    1. Бсдтар против Тар
    2. разреженные файлы против не
    3. толстые и тонкие файлы / лун с btrfs
    4. толстые и тонкие файлы / лун без btrfs
    5. разница между толстым и тонким и как это не относится только к лунам

    bsdtar лучше обрабатывает разреженные файлы, чем обычный tar

    • bsdtar будет принимать все нули и просто метадать их
    • tar фактически обрабатывает каждый ноль

    * пример: представьте разреженный файл размером 20 ТБ (называемый biglun) с 10 мегабайтами данных в разреженном файле размером 20 ТБ (biglun) . теперь, поскольку этот файл является разреженным, он займет всего 10 мегабайт на диске.

    Как сделать разреженный файл:

    Разреженный файл - как это сделать - обнаружить его - все Разреженные файлы похожи на "тонкие" лунные (если вы использовали его для лунных). "толстые" лун были бы другой историей.

    * вернуться к теме:

    если вспомнить, что biglun заставит tar пройти все 10 мегабайтов вместе со всеми худшими нулями, разбросанными по

    20 ТБ, по луне . я предполагаю, что это займет некоторое время, и файл tar будет довольно большим. Кроме того - извлекая его - я никогда не делал извлечения файла tar из разреженного файла, но это может быть не красиво; Я могу ошибаться здесь.

    bsdtarring biglun просто обработает 10 мегабайт данных и создаст небольшие метаданные для

    Выгода? Ну, их много; Я просто написал несколько выше.

    Это похоже на rsync vs cp

    • Кроме того, если вы rsync гигантский разреженный файл, он будет вести себя как tar
    • Если вы скопируете гигантский файл, он будет вести себя автоматически, как bsdtar (вы можете изменить поведение cp'ss, чтобы переходить через нули или не проходить через нули)

    Лично мне нравится представлять редкие файлы, такие как тонкие луны, и обычные файлы, такие как толстые луны .

    Следующая тема BTRFS тонкая против толстой LUNs:

    В таких файловых системах , как BTRFS , тонкие лунки - это редкие файлы (делайте это с помощью усечения, как в вики-документе).

    совет: резервное копирование с помощью bsdtar , копирование с помощью cp

    толстые лунные файлы - это обычные файлы с атрибутом + C (+ C, что делает его не COW, копировать при записи, так что все записи, по существу, остаются там, где они выделены, и новые записи для этого файла не происходят при перезаписи или удаляет - исследуй COW и BTRFS ). Вместо того, чтобы создавать файл с усечением, сделайте это с помощью "fallocate -l"

    совет: сделайте резервную копию с помощью bsdtar или tar, скопируйте с помощью rsync или cp

    Следующая тема - EXT тонкий против толстых луны:

    тонкие луны, которые редки

    совет: резервное копирование с помощью bsdtar , копирование с помощью cp

    толстые лунные файлы - это обычные файлы с атрибутом + C (+ C, что делает его не COW, копировать при записи, так что все записи, по существу, остаются там, где они выделены, и новых записей для этого файла не происходит при перезаписи или удаляет - исследуй COW и BTRFS ). Вместо того, чтобы создавать файл с усечением, сделайте это с помощью "fallocate -l"

    совет: сделайте резервную копию с помощью bsdtar или tar, скопируйте с помощью rsync или cp

    что толстый против тонкого файла

    • толстые лунные файлы / файлы, заполняют свои данные от 0 до выделенного размера, метаданные претендуют на то, где 0. когда вы заполняете данные, данные заполняются
    • толстые лунные файлы / файлы: заполняйте свои данные в начале нулями или чем-то еще (ленивый ноль или нетерпеливый ноль) - эти наборы резервирований (или, как ZFS любит вызывать резервирования)

    чаевые

    помните, что толстые и тонкие не только применимы к лунам, они также могут относиться к файлам, файловым системам zfs (share / volume / luns) и, я уверен, к другим вещам (просто посмотрите на zfs).

    - Разрежьте с любым tar: просто передайте -S большинству реализаций tar, они все поддерживают это долгое время. - Разрежьте с помощью rsync: снова передайте --sarse, все работает. Недостатком использования любого разреженного обнаружения является то, что инструмент должен на самом деле читать больше блоков, что может привести к большой загрузке ЦП (особенно в случае чередующихся нулевых / ненулевых циклов). Лучше использовать bsdtar, даже если gnu tar поддерживает флаг разреженности, поскольку bsdtar знает, как пропускать разреженные дыры, не обрабатывая их (например, если у вас есть разреженный файл объемом 1 ТБ, содержащий только 1 КБ данных, bsdtar обработает 1 КБ из данные. Gnu tar обработает 1 ТБ.

    «Программа bsdtar имеет ряд преимуществ перед предыдущими реализациями tar:

    • Библиотека. Поскольку основная функциональность находится в библиотеке, она может использоваться другими инструментами, такими как pkg_add.
    • Автоматическое определение формата. Libarchive автоматически определяет сжатие (none / gzip / bzip2) и формат (старый tar, ustar, gnutar, pax, cpio, iso9660, zip) при чтении архивов. Это делается для любого источника данных.
    • Поддержка формата обмена Pax. Это расширение POSIX / SUSv3 к старому формату tar «ustar», которое добавляет произвольные расширенные атрибуты к каждой записи. Делает все, что делает формат GNU tar, только лучше.
    • Обрабатывает флаги файлов, списки ACL, произвольные имена путей и т. Д. Формат обмена Pax поддерживает атрибуты ключ / значение, используя легко расширяемый метод. Произвольные пути, имена групп, имена пользователей, размеры файлов являются частью стандарта POSIX; libarchive расширяет это за счет поддержки файловых флагов, списков ACL и произвольных номеров устройств.
    • Поддержка GNU tar. Libarchive читает большинство tar-архивов GNU. Если есть спрос, это может быть улучшено в дальнейшем ».

    Нижеследующее основано на чтении, а не на опыте - я только начинаю с Freebsd, поэтому у меня почти нет реального опыта (я в основном из Linux). Я прошу прощения (и смиренно требую исправления), если я пропустил что-то важное, и что я говорю здесь, это мусор .

    Я не знаю наверняка, будет ли tar Gnu включать все метаданные UFS, как об этом говорит tar Freebsd, и это важная проблема. Но на мой вкус, я НИКОГДА не могу считать, что дамп будет завершен, пока я не сохраню сумму MD5 выходного файла, И ТОГДА сравнил файл дампов с данными, которые я только что предположительно сбросил. Различные проблемы могут привести к тому, что сбрасываемые данные будут отличаться от данных на диске. (Не только изменения файла, но и ошибки диска, ошибки памяти, ошибки компьютера и т. Д. Все это на самом деле произошло со мной.)

    По моему мнению, это делает Gnu tar единственным вариантом, который я нашел для создания настоящих резервных копий в стандартной системе Freebsd.

    Мне бы очень хотелось узнать иначе, FWIW. Я бы предпочел использовать нативные утилиты по крайней мере для клонирования разделов и резервного копирования с жестким восстановлением. Но если кто-то не может проверить правильность дампа, я не вижу смысла его создавать.

    Читайте также: