Tar in rpm linux

Содержание
  1. Команда Tar в Linux (создание и извлечение архивов)
  2. Синтаксис команды tar
  3. Создание архива Tar
  4. Создание архива Tar Gz
  5. Создание архива Tar Bz2
  6. Листинг архивов Tar
  7. Извлечение архива Tar
  8. Извлечение архива Tar в другой каталог
  9. Извлечение архивов Tar Gz и Tar Bz2
  10. Извлечение определенных файлов из архива Tar
  11. Извлечение файлов из архива Tar с использованием подстановочного знака
  12. Добавление файлов в существующий архив Tar
  13. Удаление файлов из архива Tar
  14. Выводы
  15. How To: Extract an RPM Package Files Without Installing It
  16. Extracting rpm file using combination of rpm2cpio and cpio command
  17. Syntax
  18. Examples – Extract files from rpm
  19. Say hello to tar command
  20. Say hello to Midnight Commander
  21. Opening an RPM file using Midnight Commander (mc)
  22. Say hello to tar command
  23. Conclusion
  24. Научите делать rpm из tar.gz
  25. Re: Научите делать rpm из tar.gz
  26. Re: Re: Научите делать rpm из tar.gz
  27. Re: Научите делать rpm из tar.gz
  28. Re: Re: Re: Научите делать rpm из tar.gz
  29. Re: Научите делать rpm из tar.gz
  30. Re: Re: Re: Научите делать rpm из tar.gz
  31. Re: Re: Re: Re: Научите делать rpm из tar.gz
  32. Re: Re: Re: Re: Re: Научите делать rpm из tar.gz
  33. Re: Re: Re: Re: Re: Re: Научите делать rpm из tar.gz
  34. Re: Re: Re: Re: Re: Re: Re: Научите делать rpm из tar.gz
  35. Re: Re: Re: Re: Re: Re: Re: Re: Научите делать rpm из tar.gz
  36. Команда tar в Linux
  37. Синтаксис команды tar
  38. Как пользоваться tar
  39. 1. Создание архива tar
  40. 2. Просмотр содержимого архива
  41. 3. Распаковка архива tar Linux
  42. 3. Работа со сжатыми архивами
  43. Выводы

Команда Tar в Linux (создание и извлечение архивов)

Команда tar создает файлы tar путем преобразования группы файлов в архив. Он также может извлекать архивы tar, отображать список файлов, включенных в архив, добавлять дополнительные файлы к существующему архиву и выполнять различные другие операции.

Изначально Tar был разработан для создания архивов для хранения файлов на магнитной ленте, поэтому получил свое название « T ape AR chive».

В этой статье показано, как использовать команду tar для извлечения, перечисления и создания архивов tar на практических примерах и подробных объяснениях наиболее распространенных параметров tar.

Синтаксис команды tar

Существует две версии tar, BSD tar и GNU tar , с некоторыми функциональными отличиями. В большинстве систем Linux по умолчанию предустановлен GNU tar.

Общий синтаксис команды tar следующий:

  • OPERATION — Разрешен и обязателен только один аргумент операции. Наиболее часто используемые операции:
    • —create ( -c ) — Создать новый tar-архив.
    • —extract ( -x ) — Извлечь весь архив или один или несколько файлов из архива.
    • —list ( -t ) — Показать список файлов, входящих в архив
  • OPTIONS — Наиболее часто используемые операции:
    • —verbose ( -v ) — Показать файлы, обрабатываемые командой tar.
    • —file=archive=name ( -f archive-name ) — указывает имя файла архива.
  • ARCHIVE_NAME — имя архива.
  • FILE_NAME(s) — список имен файлов, разделенных пробелами, для извлечения из архива. Если не указан, извлекается весь архив.

При выполнении команд tar вы можете использовать длинную или короткую форму операций и опций tar . Длинные формы более читабельны, а короткие — быстрее печатать. Опции в длинной форме начинаются с двойного тире ( — ). Опции краткой формы имеют префикс с одинарным дефисом ( — ), который можно опустить.

Создание архива Tar

Tar поддерживает широкий спектр программ сжатия, таких как gzip , bzip2 , lzip , lzma , lzop , xz и compress . При создании сжатых tar-архивов принято добавлять суффикс компрессора к имени файла архива. Например, если архив был сжат с помощью gzip , он должен называться archive.tar.gz.

Чтобы создать tar-архив, используйте параметр -c за которым следует -f и имя архива.

Например, чтобы создать архив с именем archive.tar из файлов с именами file1 , file2 , file3 , вы должны выполнить следующую команду:

Вот эквивалентная команда, использующая параметры полной формы:

Вы можете создавать архивы из содержимого одного или нескольких каталогов или файлов. По умолчанию каталоги архивируются рекурсивно, если не указана опция —no-recursion .

В следующем примере будет создан архив с именем user_backup.tar из user_backup.tar /home/user :

Читайте также:  Intellij idea linux rutracker

Используйте параметр -v если вы хотите увидеть файлы, которые обрабатываются.

Создание архива Tar Gz

Gzip — самый популярный алгоритм сжатия файлов tar. При сжатии tar-архивов с помощью gzip имя архива должно оканчиваться на tar.gz или tgz .

Параметр -z указывает tar сжимать архив с использованием алгоритма gzip мере его создания. Например, чтобы создать архив tar.gz из заданных файлов, вы должны выполнить следующую команду:

Создание архива Tar Bz2

Еще один популярный алгоритм сжатия файлов tar — это bzip2. При использовании bzip2 имя архива должно оканчиваться на tar.bz2 или tbz .

Чтобы сжать архив с помощью алгоритма bzip2 , вызовите tar с параметром -j . Следующая команда создает архив tar.bz2 из указанных файлов:

Листинг архивов Tar

При использовании с параметром —list ( -t ) команда tar выводит список содержимого архива tar без извлечения его.

Команда ниже отобразит содержимое файла archive.tar :

Чтобы получить дополнительную информацию, такую как владелец файла, размер файла, временная метка, используйте параметр —verbose ( -v ):

Извлечение архива Tar

Большинство архивных файлов в Linux заархивированы и сжаты с использованием формата tar или tar.gz. Важно знать, как извлекать эти файлы из командной строки.

Чтобы извлечь tar-архив, используйте параметр —extract ( -x ), за которым следует имя архива:

Также часто добавляют параметр -v для вывода имен извлекаемых файлов.

Извлечение архива Tar в другой каталог

По умолчанию tar извлекает содержимое архива в текущий рабочий каталог . Используйте —directory ( -C ) для извлечения архивных файлов в определенный каталог:

Например, чтобы извлечь содержимое архива в каталог /opt/files , вы можете использовать:

Извлечение архивов Tar Gz и Tar Bz2

При извлечении сжатых архивов, таких как tar.gz или tar.bz2 , вам не нужно указывать параметр распаковки. Команда такая же, как при распаковке tar архива:

Извлечение определенных файлов из архива Tar

Иногда вместо извлечения всего архива вам может потребоваться извлечь из него только несколько файлов.

Чтобы извлечь определенный файл (ы) из архива tar, добавьте разделенный пробелами список имен файлов, которые нужно извлечь, после имени архива:

При извлечении файлов вы должны —list их точные имена, включая путь, как напечатано с помощью —list ( -t ).

Извлечение одного или нескольких каталогов из архива аналогично извлечению файлов:

Если вы попытаетесь извлечь несуществующий файл, отобразится сообщение об ошибке, подобное следующему:

Извлечение файлов из архива Tar с использованием подстановочного знака

Чтобы извлечь файлы из архива на основе шаблона с подстановочными знаками, используйте переключатель —wildcards и —wildcards шаблон в кавычки, чтобы оболочка не интерпретировала его.

Например, чтобы извлечь файлы, имена которых заканчиваются на .js (файлы Javascript), вы можете использовать:

Добавление файлов в существующий архив Tar

Чтобы добавить файлы или каталоги в существующий tar-архив, используйте —append ( -r ).

Например, чтобы добавить файл с именем newfile в archive.tar, вы должны запустить:

Удаление файлов из архива Tar

Используйте операцию —delete для удаления файлов из архива.

В следующем примере показано, как удалить файл file1 из archive.tar:

Выводы

Чаще всего команда tar используется для создания и извлечения архива tar. Чтобы извлечь архив, используйте команду tar -xf за которой следует имя архива, а для создания нового используйте tar -czf за которым следует имя архива, а также файлы и каталоги, которые вы хотите добавить в архив.

Для получения дополнительной информации о команде tar обратитесь к странице документации Gnu tar .

Источник

How To: Extract an RPM Package Files Without Installing It

Y ou may know to how to extract a tarball and zip files on Linux and Unix-like system. Someone, recently PM me with a question:
Dear nixCraft,

How do I extract an RPM package file without installing it on my Fedora Linux or CentOS or RHEL (Red Hat Enterprise Linux) Suse Linux?

Extracting rpm file using combination of rpm2cpio and cpio command

To be frank, there is no direct option available for the rpm command to extract an RPM file. However, there is a small nifty utility available called rpm2cpio. It extracts cpio archive from RPM Package Manager (RPM) package. With the following hack, you will be able to extract an RPM file. First you use the rpm2cpio to convert the .rpm file into a cpio archive on standard out. If a — argument is given, an rpm stream is read from standard in. The basic syntax is as follows:

Читайте также:  Защита от брутфорса rdp windows server 2012 r2

Syntax

Examples – Extract files from rpm

Download an RPM file:
$ mkdir test
$ cd test
$ wget https://www.cyberciti.biz/files/lighttpd/rhel4-php5-fastcgi/php-5.1.4-1.esp1.x86_64.rpm

To extract RPM file using rpm2cpio and cpio command, type:
$ rpm2cpio php-5.1.4-1.esp1.x86_64.rpm | cpio -idmv
Sample outputs:

In this example, output of the rpm2cpio command piped to the cpio command with the following options:

  • i : Restore archive
  • d : Create leading directories where needed
  • m : Retain previous file modification times when creating files
  • v : Verbose i.e. display progress

Verify that you have extracted an RPM file in the current directory:
$ ls
Sample outputs:

Say hello to tar command

Another option is just use the tar command:
$ tar xvf file.rpm

  • No ads and tracking
  • In-depth guides for developers and sysadmins at Opensourceflare✨
  • Join my Patreon to support independent content creators and start reading latest guides:
    • How to set up Redis sentinel cluster on Ubuntu or Debian Linux
    • How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
    • How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
    • A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
    • How to protect Linux against rogue USB devices using USBGuard

Join Patreon

Say hello to Midnight Commander

GNU Midnight Commander (mc) is a directory browser/file manager for Unix-like operating systems. Install mc using the following yum command:
# yum install mc

Opening an RPM file using Midnight Commander (mc)

You can use mc command as follows to browse or extract rpm files:
$ mc
Sample outputs:

Fig.01: Browsing / viewing an rpm file with GNU Midnight Commander

Next select an RPM file (such as php-5.3*.rpm) by highlighting the package name and press Enter key. You need to select CONTENTS.cpio file:

Fig.02: The actual php rpm files are contained in the CONTENTS.cpio file

Fig.03: Viewing php.conf file

Say hello to tar command

Another option is just use the BSD tar command:
$ tar xvf file.rpm
Please note that this option only works with the BSD version of tar command. So if you are on MacOS or FreeBSD try the tar command to extract an rpm file.

Conclusion

I hope you found these tips useful to extract configuration file or another file without installing an RPM file.

Источник

Научите делать rpm из tar.gz

Подскажите, плиз, скачал с apache.org apache_1.3.31.tar.gz , хочу установить его на redhat 7.3 Как мне его закатать в rpm ? а можно в src.rpm ? Всем спасибо.

Re: Научите делать rpm из tar.gz

вытащи оттуда .spec и поправь в соответствии с новой версией

только смысл? можно уж тогда и из исходников просто поставить.

Re: Re: Научите делать rpm из tar.gz

2Dimetrio cпасибо, попробую так сделать. Смысл в том, чтобы менеджер пакетов rpm знал о существовании апача. Может есть все-таки какой-либо конвертер tar.gz->rpm ?

Re: Научите делать rpm из tar.gz

А в самом архиве нет spec-файла?
Сейчас во многих проектах их включают в тарболы. Праввда придется его рихтовать под 7.3, если он есть.

Re: Re: Re: Научите делать rpm из tar.gz

Есть такой конвертер, rpm или rpmbuild называется. Только ему spec-файл нужен.

Re: Научите делать rpm из tar.gz

Re: Re: Re: Научите делать rpm из tar.gz

>Может есть все-таки какой-либо конвертер tar.gz->rpm ?

Re: Re: Re: Re: Научите делать rpm из tar.gz

2anonymous2: отправь плиз мне на vlad_mail@ukr.net

Re: Re: Re: Re: Re: Научите делать rpm из tar.gz

может у кого есть уже готовые спек файл для redhat7.3 чтобы собрать из исходников apache_1.3.31.tar.gz с официального сайта?

Re: Re: Re: Re: Re: Re: Научите делать rpm из tar.gz

> может у кого есть уже готовые спек файл для redhat7.3 чтобы собрать из исходников apache_1.3.31.tar.gz с официального сайта?

Читайте также:  Чем открыть реестр windows другой системы

$ wget ftp://ftp.redhat.com:/pub/redhat/linux/7.3/en/os/i386/SRPMS/apache-1.3.23-11.src .rpm

$ rpm -i apache-1.3.23-11.src.rpm

$ rpmbuild -ba —target i686 /usr/src/redhat/SPECS/apache-*

Re: Re: Re: Re: Re: Re: Re: Научите делать rpm из tar.gz

это все хорошо, но редактировать спек такой влом.

Re: Re: Re: Re: Re: Re: Re: Re: Научите делать rpm из tar.gz

> это все хорошо, но редактировать спек такой влом.

Источник

Команда tar в Linux

В качестве инструмента для архивации данных в Linux используются разные программы. Например архиватор Zip Linux, приобретший большую популярность из-за совместимости с ОС Windows. Но это не стандартная для системы программа. Поэтому хотелось бы осветить команду tar Linux — встроенный архиватор.

Изначально tar использовалась для архивации данных на ленточных устройствах. Но также она позволяет записывать вывод в файл, и этот способ стал широко применяться в Linux по своему назначению. Здесь будут рассмотрены самые распространенные варианты работы с этой утилитой.

Синтаксис команды tar

Синтаксис команд для создания и распаковки архива практически не отличается (в том числе с утилитами сжатия bzip2 или gzip). Так, чтобы создать новый архив, в терминале используется следующая конструкция:

tar опции архив.tar файлы_для_архивации

Для его распаковки:

tar опции архив.tar

Функции, которые может выполнять команда:

Функция Длинный
формат
Описание
-A —concatenate Присоединить существующий архив к другому
-c —create Создать новый архив
-d —diff
—delete
Проверить различие между архивами
Удалить из существующего архива файл
-r —append Присоединить файлы к концу архива
-t —list Сформировать список содержимого архива
-u —update Обновить архив более новыми файлами с тем же именем
-x —extract Извлечь файлы из архива

При определении каждой функции используются параметры, которые регламентируют выполнение конкретных операций с tar-архивом:

Параметр Длиннный
формат
Описание
-C dir —directory=DIR Сменить директорию перед выполнением операции на dir
-f file —file Вывести результат в файл (или на устройство) file
-j —bzip2 Перенаправить вывод в команду bzip2
-p —same-permissions Сохранить все права доступа к файлу
-v —verbose Выводить подробную информацию процесса
—totals Выводить итоговую информацию завершенного процесса
-z —gzip Перенаправить вывод в команду gzip

А дальше рассмотрим примеры того, как может применяться команда tar Linux.

Как пользоваться tar

1. Создание архива tar

С помощью следующей команды создается архив archive.tar с подробным выводом информации, включающий файлы file1, file2 и file3:

tar —totals —create —verbose —file archive.tar file1 file2 file3

Но длинные опции и параметры можно заменить (при возможности) однобуквенными значениями:

tar —totals -cvf archive.tar file1 file2 file3

2. Просмотр содержимого архива

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

tar -tf archive.tar

3. Распаковка архива tar Linux

Распаковывает архив test.tar с выводом файлов на экран:

tar -xvf archive.tar

Чтобы сделать это в другой каталог, можно воспользоваться параметром -C:

tar -C «Test» -xvf archive.tar

3. Работа со сжатыми архивами

Следует помнить, что tar только создаёт архив, но не сжимает. Для этого используются упомянутые компрессорные утилиты bzip2 и gzip. Файлы, сжатые с их помощью, имеют соответствующие расширения .tar.bz2 и .tar.gz. Чтобы создать сжатый архив с помощью bzip2, введите:

tar -cjvf archive.tar.bz2 file1 file2 file3

Синтаксис для gzip отличается одной буквой в параметрах, и меняется окончание расширения архива:

tar -czvf archive.tar.gz file1 file2 file3

При распаковке tar-архивов с таким расширением следует указывать соответствующую опцию:

tar -C «Test» -xjvf arhive.tar.bz2

tar -xzvf archive.tar.gz

На заметку: архиватор tar — одна из немногих утилит в GNU/Linux, в которой перед использованием однобуквенных параметров, стоящих вместе, можно не ставить знак дефиса.

Выводы

В этой статье была рассмотрена команда tar Linux, которая используется для архивации файлов и поставляется по умолчанию во всех дистрибутивах. В её возможности входит создание и распаковка архива файлов без их сжатия. Для сжатия утилита применяется в связке с популярными компрессорами bzip2 и gzip.

Источник

Оцените статью