Информация о пакете linux

Шпаргалка начинающего Debian/Ubuntu администратора по управлению пакетами

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

Краткая справка Debian администратора

Основное и общеизвестное
sudo aptitude safe-upgrade 
aptitude search "?description("key_word")" 
aptitude show package_name 
sudo aptitude install package_name 
sudo aptitude remove package_name 
sudo aptitude purge package_name 
aptitude autoclean # удалятся только пакеты неактуальных версий aptitude clean # очистится весь кэш 

Установка отдельно скачанного/созданного пакета (для создания пакета из сторонних исходников нужно использовать утилиту checkinstall с флагом -D)

sudo dpkg -i /path/to/package.deb 
man aptitude sudo aptitude install aptitude-doc-en 

и смотрим документацию (/usr/share/doc/aptitude/html/en/index.html), кому быструю справку по поисковым шаблонам, тому сюда — /usr/share/doc/aptitude/html/en/ch02s04.html. Если лень ставить доку, то в сети она есть.
Вводная на Debian Wiki: wiki.debian.org/Aptitude

А теперь то что не очевидно или требует полного прочтения документации
aptitude search ?upgradable 

но после его установки точно также будет себя вести и обычный update

2. Как узнать что изменилось в пакетах которые будут обновлены?
Можно пробовать

sudo aptitude changelog package_name 

для каждого пакета.
Но лучше поставить apt-listchanges, тогда перед любой установкой обновлений будет показан список изменений, по умолчанию настройки не очень удобные, поэтому лучше перенастроить под себя, например, выбрать формат вывода (пока использую текст, при больших обновлениях наверно pager лучше), не слать писем, спрашивать подтверждения, выводить всю информацию. Для этого нужно запустить

sudo dpkg-reconfigure apt-listchanges 

3. Что делать если обновление что-то поломало и нужно откатиться?
Отката нет, можно попробовать найти предыдущую версию пакета

sudo aptitude version package_name 
sudo aptitude install package_name=version 

4. Как найти все пакеты установленные вручную?
есть вариант команды (aptitude search ‘~i!~M’), но к сожалению он не даёт желаемого результата, так что вопрос остаётся открытым, есть куча способов основанных на анализе логов

/var/log/aptitude (+ ротированные куски) /var/log/installer/initial-status.gz /var/log/dpkg.log (+ ротированные куски) 

но простого и готового решения нет, да информация теоретически может быть потеряна при ротациях, нужно конфигурить

Читайте также:  Linux mint режим восстановления

5. Как посмотреть список файлов в пакете?
если пакет установлен

apt-file list package_name 
alien --to-deb /path/to/file.rpm 

12. Как установить пакет из testing или experimental?
На эту тему нужно писать отдельно (например так), но если кратко, то команды для этого есть

sudo aptitude -t testing package_name 
sudo aptitude package_name/testing 

13. Как удалить метапакет, но оставить одну из зависимостей?
придётся почитать документацию про ключ unmarkauto или глянуть сюда.

14. Как узнать что попало в файловую систему мимо системы управления пакетами?
Есть утилита cruft, хотя вопрос интерпретации результатов (файла report) пока открыт

sudo cruft -d / -r report --ignore /home --ignore /var --ignore /tmp 

15. Какие есть дополнительные репозитории?
Debian — wiki.debian.org/UnofficialRepositories
Ubuntu — множество всяких PPA

16. Что есть ещё?
apt-cdrom
apt-spy
auto-apt. заметка на хабре
apt-key
apt-add-repository
Некоторые вещи умеет только apt-get
Есть альтернативные утилиты для управления пакетами, например wajig, который пытается вобрать в себя функционал всех остальных утилит.

17. Как найти пакеты зависящие от данного

apt-cache rdepends package_name 
aptitude why package_name 

Благодарю всех кто помог своими советами в рассылке, жж (JackYF) и хабре ( run4way, sledopit, nazarpc, AgaFonOff, amarao, traaance, adrianopol, Karamax). Замечания и дополнения приветствуются.

Источник

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

Пакетный менеджер Apt или Advanced Package Tool используется во множестве дистрибутивов, основанных на Debian или Ubuntu, а таких дистрибутивов сейчас очень много. Этот пакетный менеджер поддерживает все необходимые функции, вы можете устанавливать и удалять пакеты, обновлять то, что было уже установлено, искать пакеты, устанавливать их из файла или загружать без установки. При этом все зависимости будут разрешаться автоматически.

Утилита apt ничем не уступает пакетному менеджеру yum, используемому в RPM дистрибутивах, да, здесь все ещё не поддерживается частичное обновление пакетов, как в Zypper, но в целом всё выглядит очень неплохо. В этой статье мы подробно рассмотрим как пользоваться apt в Linux для решения задач работы с программами.

Читайте также:  Kali linux net creds

Синтаксис и опции apt

Синтаксис команды apt очень простой и похож на другие команды Linux:

$ apt опции команда параметры_команды

Опции указывают общее поведение утилиты, команда — действие, которое надо выполнить, а в параметрах команды обычно передается имя пакета, с которым следует работать, например, установить или удалить. Вот основные опции утилиты:

  • -v, —version — выводит версию утилиты;
  • -h, —help — выводит справку по использованию утилиты;
  • -y, —yes — автоматически отвечать «да» на все возникающие вопросы;
  • —assume-no — автоматически отвечать «нет» на все возникающие вопросы;
  • -d, —download-only — только скачать пакеты и больше ничего не делать;
  • -f, —fix-broken — исправить недостающие зависимости;
  • —no-download — ничего не загружать, использовать только пакеты из кэша;
  • -s, —simulate — режим симуляции, никакие операции не выполняются, только выводится информация на экран;
  • —allow-unauthenticated — позволяет установить пакеты, из репозиториев, для которых нет GPG подписи;
  • —no-install-recommends — не устанавливать рекомендованные пакеты, по умолчанию будут установлены;
  • -m, —ignore-missing — игнорировать пакеты, которые существует;
  • -q, —quiet — выводить минимум информации, не показывать прогресс бар;
  • -V, —verbose-versions — показывать полные версии обновленных пакетов;
  • —only-upgrade — не устанавливать новые пакеты, только обновлять;
  • —allow-downgrades — разрешить откатывать версию пакетов;
  • —reinstall — переустановить пакет если он уже установлен;

А теперь давайте пройдёмся по командам apt, которые вы можете использовать:

  • install — установить пакет;
  • remove — удалить пакет, конфигурационные файлы, которые были изменены в вашей системе удалены не будут;
  • purge — полностью удалить пакет, вместе со всеми его конфигурационными файлами;
  • autoremove — очистить ненужные пакеты;
  • autoclean — очистить кэш пакетов;
  • update — обновить списки пакетов из репозиториев;
  • upgrade — обновить версию пакета до последней, если пакет не указан будут обновлены все пакеты;
  • full-upgrade — полное обновление системы, включая удаление несовместимых или больше ненужных пакетов;
  • list — список установленных пакетов;
  • search — поиск пакетов;
  • show — посмотреть информацию о пакете;
  • download — скачать пакет в текущую папку;
  • edit-sources — открыть с настройками репозиториев в текстовом редакторе.
  • source — скачать исходный код пакета в текущую папку;
  • build-dep — установить зависимости необходимые для сборки выбранного пакета;

Дальше рассмотрим несколько примеров работы с apt, которые пригодятся как начинающим, так и более опытным пользователям.

Читайте также:  Linux good for games

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

1. Обновление пакетов

Сначала давайте обновим список пакетов apt из репозиториев. Репозитории находятся на удалённых серверах и когда утилита apt ищет пакет для установки, естественно, что она не обращается ко всем репозиториям подряд чтобы узнать где он находится. В системе уже есть сохранённых кэш информации о том, какие пакеты вообще есть и где их можно скачать. Для обновления этого кэша используйте команду update:

Во время загрузки URL репозиториев обозначаются специальными префиксами, вот что они означают:

  • Hit (Сущ) — список не изменился с момента предыдущей загрузки;
  • Ign (Игн) — репозиторий игнорируется, либо он слишком новый, либо произошла незначительная ошибка во время загрузки;
  • Get(Пол) — доступна новая версия и она будет загружена.

Когда кэш обновлен вы можете посмотреть для каких пакетов доступны обновления:

Аналогично можно посмотреть установленные пакеты apt:

sudo apt list —all-versions

Затем можно обновить все пакеты в системе:

Источник

Yum, шпаргалка

Шпаргалка по работе с пакетным менеджером Yum (Yellowdog Updater, Modified), который используется в популярных Linux дистрибутивах: RedHat, CentOS, Scientific Linux (и других). В целях экономии места вывод команд не представлен.

Оглавление

#yum updateinfo list security
#yum groupinfo "Basic Web Server"
#yum groupinstall "Basic Web Server"
#yum groupremove "Basic Web Server"
#yum repo-pkgs reponame install
#yum repo-pkgs reponame remove

проверить локальную базу rpm (поддерживаются параметры dependencies, duplicates, obsoletes, provides)

установить из локальной директории (поиск/установка зависимостей будут произведены из подключенных репозиториев)

#yum localinstall httpd.rpm
#yum localinstall http://server/repo/httpd.rpm

Опции Yum

--disableplugin=fastestmirror
#yum update -y --enablerepo=epel
#yum update -y --disablerepo=epel

скачать пакеты, но не устанавливать
(на Centos 7 x86_64 будут скачаны в ‘/var/cache/yum/x86_64/7/base/packages/’)

#yum install httpd --downloadonly

Cледующие команды доступны после установки пакета yum-utils

#repoquery --requires --resolve httpd
#reposync -p repo1 --repoid=updates

запрос к локальной базе yum, отображение информации о пакете
(использованная команда, контрольная сумма, URL с которого был установлен и другое)

скачать src.rpm пакет из репозитория
(должен быть подключен соответствующий репозиторий, например в ‘/etc/yum.repos.d/CentOS-Sources.repo’ в CentOS)

Конфигурационные файлы Yum и их расположение

Некоторые опции yum.conf:

cachedir=/var/cache/yum/$basearch/$releasever

Определяет должен или нет Yum хранить кэш заголовков и пакетов после успешной установки. Значения: 0 или 1. (по умолчанию 1)

Некоторые полезные плагины

Работа Yum через прокси сервер

proxy_proxy_username=user proxy_password=pass
#export http_proxy="http://server:3128"

Источник

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