Руководство администратора Linux по безопасности

       

Tarballs / tgz


Наиболее современные дистрибутивы Linux используют систему управления пакетами чтобы устанавливать, следить и удалять программное обеспечение. Имеются, однако, много исключительных ситуаций, Slackware не использует систему управления пакетами, но взамен имеет precompiled tarballs (сжатый файл tar, содержащий файлы) который Вы просто распаковываете из корневого каталога, чтобы установить пакет. Некоторые такие пакеты имеют скрипт установки, чтобы выполнить любые задачи установки типа добавления пользователя. Эти пакеты также могут быть удалены, но функции типа запроса относительно файлов пакета, сравнения установленных файлов с файлами пакета и им подобные практически отсутствуют. Иногда Вам придется иметь дело с такими пакетами, даже если система использует менеджер пакетов. Допустим, Вы хотите попробовать последнюю версию X, но никто еще не создал хороший .rpm или .deb файл, так что Вы должны захватить исходный текст (также обычно в сжатом tarball), распаковывать его и установить. Это представляет не большую опасность, чем любой пакет поскольку большинство tarball имеет MD5 и/или PGP сигнатуры, связанные с ними. Так что Вы можете загрузить и проверить пакет. Главная проблема в том, чтобы отслеживать нужные файлы и определять их версии. Например, удалили Вы какой-то пакет, вместе с кучей его библиотек, а система работать перестала. Что такое? А все просто: библиотеки были нужны еще пакетам, которые Вы добавили уже после этого. Так что лучше бы Вам их не использовать, но если очень надо, сделайте перед установкой список файлов системных каталогов, после установки еще один и сравните их, чтобы знать, что куда дописалось. Собственно, менеджеры пакетов часто делают именно это. Запустите 'find /* > /filelist.txt' перед и 'find /* > /filelist2.txt' после установки tarball и используйте 'diff -q /filelist.txt /filelist2.txt > /difflist.txt' для получения перечня изменений. Альтернатива: выполните 'tar -tf blah.tar' чтобы получить список файлов в архиве, но толку от этого может и не быть: большинство tarballs выполняет компиляцию программ и установочные скрипты, так что простой перечень файлов может и не помочь. Другой метод для слежения за тем, что Вы установили через tar состоит в использовании программ типа ?stow?, stow ставит пакет в отдельный каталог (например, /opt/stow) и создает ссылки из системы на данный каталог. Stow требует Perl и доступен на

http://www.gnu.ai.mit.edu/software/stow/stow.html.

Команда Действие
tar -tf filename.tar Перечисляет имена файлов в filename.tar
tar -xf filename.tar Распаковывает файлы из filename.tar



Содержание раздела