[ назад ] [ Содержание ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ] [ вперед ]
В Debian для управления пакетами имеется множество средств, от программ с графическими или текстовыми интерфейсами, до низкоуровневых утилит установки пакетов. Корректная работа всех доступных инструментов зависит от низкоуровневых утилит, и все они представлены здесь в порядке уменьшения уровня сложности.
Важно понимать, что высокоуровневые
инструменты управления пакетами, такие как
aptitude
или dselect
, для управления
пакетами используют apt
, который, в
свою очередь, использует dpkg
.
Подробнее об инструментах управления
пакетами Debian написано в Chapter
2. Debian package management
справочнике
Debian
Этот документ доступен на
различных языках и в разных форматах, см.
пункт Debian
Reference в описании руководств пользователя
DDP
.
Это основная программа управления
пакетами. dpkg
может вызываться с
многими параметрами. Наиболее часто
используемые из них:
Показать список всех параметров: dpkg --help
Показать управляющий файл (и другую информацию) для указанного пакета: dpkg --info foo_VVV-RRR.deb
Установить пакет на жёсткий диск (т. е. распаковать и настроить): dpkg --install foo_VVV-RRR.deb
Распаковать архив Debian на жёсткий диск (но не настраивать): dpkg --unpack foo_VVV-RRR.deb. Учтите, что в результате данной операции пакет не обязан быть в рабочем состоянии; для правильной работы может потребоваться внесение изменений в некоторые файлы. Данная команда удаляет любую ранее установленную версию программы и запускает сценарий preinst указанного пакета (см. Зачем нужны сценарии preinst, postinst, prerm и postrm?, раздел 7.6).
Настроить пакет, который был распакован ранее: dpkg --configure foo. Кроме всего прочего, эта команда запускает сценарий postinst указанного пакета (см. Зачем нужны сценарии preinst, postinst, prerm и postrm?, раздел 7.6). Она также обновляет файлы, перечисленные в conffiles. Обратите внимание, что в качестве аргумента для параметра configure указывается имя пакета (т. е. foo), а не имя файла-архива Debian (т. е. foo_VVV-RRR.deb).
Извлечь единственный файл с именем «blurf» (или группу файлов с именами по шаблону «blurf*») из архива Debian: dpkg --fsys-tarfile foo_VVV-RRR.deb | tar -xf - blurf*
Удалить пакет (но не его файлы настроек): dpkg --remove foo
Удалить пакет (вместе с файлами настроек): dpkg --purge foo
Вывести состояние установки пакетов, содержащих в имени строку (или регулярное выражение) «foo*»: dpkg --list 'foo*'
APT (Advanced Package Tool) — расшифровывается
как усовершенствованный инструмент
управления пакетами, в него входит
программа apt-get
. Эта программа
позволяет легко получать и устанавливать
из командной строки пакеты из разных
источников. В отличие от dpkg
,
программа apt-get
не понимает файлы .deb,
она работает с именами пакетов, и может
устанавливать архивы .deb только из
источников, указанных в файле
/etc/apt/sources.list
. После скачивания
архивов .deb команда apt-get
запускает
dpkg
.[5].
Часто используемые команды apt-get
:
Обновить список пакетов, имеющихся в источниках:
apt-get update
(вы должны регулярно запускать эту команду для обновления списка пакетов)
Обновить все пакеты в системе (без установки дополнительных пакетов или удаления пакетов):
apt-get upgrade
Установить пакет foo и все его зависимости:
apt-get install foo
Удалить пакет из системы:
apt-get remove foo
Удалить из системы пакет и все его файлы настроек:
apt-get --purge remove foo
Обновить все установленные в системе пакеты с установкой или удалением дополнительных пакетов, если это потребуется для обновления какого-то пакета:
apt-get dist-upgrade
(Команда upgrade оставит старую установленную версию пакета, если для разрешения новых зависимостей при обновлении потребуется установка дополнительных пакетов. Команда dist-upgrade менее консервативна.)
Учтите, что для выполнения каких бы то ни было команд для изменения пакетов в системе вам нужно иметь права суперпользователя.
Обратите внимание, что в настоящее время
apt-get
по умолчанию устанавливает
рекомендуемые пакеты, и эта программа
является предпочтительной для управления
пакетами из консоли при выполнении
установки или больших обновлений системы
вследствие её ошибкоустойчивости.
В комплект инструментов apt входит также
программа для обработки запросов по списку
пакетов apt-cache
. Её можно
использовать для поиска пакетов, имеющих
определённую функциональность, с помощью
простых текстовых запросов или регулярных
выражений, а также для получения списка
зависимостей из системы управления
пакетами. Часто используемые команды
apt-cache
:
Найти пакеты, содержащие в своём описании слово:
apt-cache search слово
Показать подробную информацию о пакете:
apt-cache show пакет
Показать зависимости пакета:
apt-cache depends пакет
Показать подробную информацию о доступных версиях пакета и о пакетах, от него зависящих (об обратных зависимостях пакета):
apt-cache showpkg пакет
Дополнительную информацию можно найти в
справочных страницах apt-get(8)
,
sources.list(5)
из пакета apt
и в
файле /usr/share/doc/apt-doc/guide.html/index.html
из
пакета apt-doc
.
aptitude
— это пакетный менеджер для
систем Debian GNU/Linux, предоставляющий
пользовательский интерфейс для
инфраструктуры управления пакетами apt.
aptitude
имеет текстовый интерфейс,
написанный с использованием библиотеки
curses, позволяет удобно и быстро выполнять
задачи управления пакетами.
Помимо функциональности dselect
и
apt-get
, aptitude
реализует много
других дополнительных возможностей,
которых нет ни в одной из этих программ:
обеспечивает лёгкий доступ ко всем версиям пакета;
позволяет легко отслеживать устаревшее ПО, занося его в «список устаревших пакетов и пакетов, созданных локально»;
включает достаточно мощную систему поиска
и ограничения отображаемых пакетов.
Пользователи, знакомые с mutt
,
освоятся быстро, так как синтаксис
регулярных выражений был навеян этой
программой;
можно использовать для установки заранее сформированных наборов для определённых задач. Подробности см. в tasksel, раздел 8.1.5;
в полноэкранном режиме имеет встроенную
функциональность команды su
и может
запускаться от обычного пользователя.
Когда действительно понадобятся права
администратора, вызовет su
(и, если
нужно, запросит пароль суперпользователя).
С aptitude
можно работать, используя
визуальный интерфейс (просто запустить
aptitude), или непосредственно из
командной строки. Используемый синтаксис
командной строки очень похож на синтаксис
apt-get
. Например, для установки пакета
foo, можно выполнить aptitude install
foo.
Заметим, что aptitude
является
предпочтительной программой для
ежедневного управления пакетами из
консоли.
Более подробную информацию можно найти в
справочной странице aptitude(8)
и в
пакете aptitude-doc
.
synaptic
— это менеджер пакетов с
графическим интерфейсом. Он позволяет
устанавливать, обновлять и удалять пакеты
ПО через дружественный интерфейс. Помимо
обеспечения всех возможностей aptitude, он
также позволяет редактировать список
используемых репозиториев, и поддерживает
обзор всей доступной документации по
пакету. Подробности см. на веб-сайте Synaptic
.
Иногда бывает трудно найти подходящий
комплект пакетов для выполнения
определённой задачи. Разработчики Debian
определили задачи, представляющие
собой наборы из нескольких пакетов Debian,
предназначенных для определённой
деятельности. Задачи можно устанавливать
с помощью программы tasksel
или
aptitude
.
Обычно программа установки Debian автоматически устанавливает задачу создания стандартной системы и окружения рабочего стола. Тип устанавливаемого окружения рабочего стола зависит от используемого носителя CD/DVD, как правило это рабочий стол GNOME (задача gnome-desktop). Также, в зависимости от ваших ответов во время установки, могут быть автоматически установлены другие задачи. Например, если вы выбрали какой-то язык, то также автоматически будет установлена задача, связанная с ним, и если программа установки обнаружит, что установка происходит на переносном компьютере, то также автоматически будет установлена задача для ноутбука.
Данная программа предоставляет
меню-ориентированный интерфейс для
системы управления пакетами Debian. Для woody и
более ранних версий это был основной
интерфейс управления пакетами для
первоначальной установки системы, но
сейчас пользователям вместо неё
предлагается использовать aptitude
.
Некоторым пользователям может быть более
удобно пользоваться aptitude
, к тому же
это рекомендуемая замена для dselect
при масштабных обновлениях. Подробности
об aptitude
см. в aptitude,
раздел 8.1.3.
Основные возможности dselect
:
помогает пользователю выбрать пакеты для удаления или установки, обеспечивает, что устанавливаемые пакеты не будут конфликтовать с другими, и что для каждого пакета будут установлены все пакеты, необходимые для его правильной работы;
предупреждает пользователя о несогласованности или несовместимости их выбора;
определяет правильную последовательность установки пакетов;
автоматически выполняет установку или удаление;
помогает пользователю пройти процесс настройки каждого из пакетов.
После запуска dselect
показывает
пользователю меню из 7 пунктов, каждый из
которых выполняет определённое действие.
Пользователь может выбрать одно из
действий, перемещая с помощью клавиш со
стрелками полосу подсветки, а затем нажав
клавишу <enter> для выбора
выделенного действия.
Что пользователь увидит далее, зависит от
выбранного действия. Если он выбрал
какое-то действие, но не Метод (Access)
или Выбрать (Select), то dselect
просто продолжит выполнение указанного
действия. Например, если пользователь
выбрал действие Удалить (Remove), то
dselect выполнит удаление всех файлов,
помеченных для удаления пользователем,
которые он выбрал в меню Выбрать
(Select) ранее.
Пункты меню Метод (Access) и Выбрать (Select) позволяют войти в дополнительные меню. В обоих случаях, меню представляют собой экран, разделённый надвое; в верхней части представлен список выбираемых пунктов, в нижней части выводится описание («справка») по каждому пункту.
Доступна подробная справка; к ней можно обратиться в любой момент, нажав клавишу «?».
Порядок представления действий в первом
меню dselect
соответствует тому
порядку, в котором пользователь обычно
выполняет действия для установки пакетов.
Однако, любое действие из главного меню
пользователь может выбирать как угодно
часто (или совсем не выбирать — в
зависимости от того, что он хочет сделать).
Начните с выбора метода доступа (Access
Method). Здесь выбирается способ, с
помощью которого пользователь получает
доступ к пакетам Debian; например, у некоторых
есть компакт-диски с пакетами Debian, другие
же скачивают эти пакеты по FTP. Выбранный
«метод доступа» сохраняется и после выхода
из dselect
, поэтому, если он не
изменился, то нет необходимости вызывать
этот пункт меню каждый раз.
Затем обновите (Update) список
доступных пакетов. Для этого dselect
читает файл «Packages.gz», который находится в
верхнем уровне дерева каталогов, в котором
хранятся пакеты Debian (если его там нет,
dselect
предложит его создать).
Выберите (Select) нужные пакеты для установки в систему. После выбора данного пункта меню, пользователю будет показан экран помощи (если в командной строке не указан параметр «--expert»). После выхода из экрана помощи, будет показано разделённое меню для выбора устанавливаемых (или удаляемых) пакетов.
Верхняя часть экрана представляет собой относительно узкое окно со списком 29000 пакетов Debian; нижняя часть экрана содержит описание пакета или группы пакетов, которые выделены выше.
Для указания пакета или группы, над которым будет совершаться операция, следует навести подсветку на название пакета или метку группы. После этого можно выбрать требуемую операцию;
нажмите клавишу «+».
пакеты можно удалить двумя способами.
Удалить (removed): эта команда удаляет большинство файлов принадлежащих пакету, но оставляет файлы, помеченные как настроечные (см. Зачем нужен файл conffile?, раздел 7.5) и информацию о настройке пакета. Выполняется нажатием клавиши «-».
Вычистить (purged): команда удаляет все файлы пакета. Выполняется нажатием клавиши «_».
Заметим, что невозможно удалить «все пакеты». Если вы попытаетесь это сделать, то система будет сокращена до первоначально установленных базовых пакетов.
Фиксация выполняется нажатием «=», и
указывает dselect
не выполнять
обновление пакета, даже если установленная
версия устарела по сравнению с той, что
имеется в используемом вами хранилище
пакетов Debian (указанном через метод
доступа (Access Method), и инициализируемом
при выполнении обновления (Update)).
Если пакет зафиксирован, то вернуть его в
нормальное состояние можно, нажав «:». Это
указывает dselect
, что пакет может быть
обновлён, если доступна более новая версия.
Такая настройка используется по умолчанию.
Вы можете выбирать различный порядок показа пакетов, используя клавишу «o» для переключения между режимами сортировки. Изначально пакеты отсортированы по приоритету; в пределах каждого приоритета пакеты представлены в порядке появления в каталоге (также называемого разделом), в котором они хранятся. При задании такого порядка сортировки, сначала могут отображаться пакеты из раздела A (как пример), потом какие-то из раздела B, а за ними ещё пакеты (с меньшим приоритетом) из раздела A.
Также можно получить описание значений меток в верхней части экрана, нажав клавишу «v». Данное действие увеличивает объём выводимого текста, и он выходит за правую границу экрана. Для прокрутки текста можно пользоваться клавишами со стрелками вправо и влево.
Если вы выбрали пакет для установки или
удаления, например, package/foo.deb
, и этот
пакет зависит от других пакетов (или
рекомендует их), например, package/blurf.deb
,
то dselect
выведет дополнительный
экран, подобный основному экрану выбора.
Там среди пакетов, относящихся к данному,
вы сможете выбрать те, что следует
установить. Вы можете принять
предлагаемый вариант или отказаться от
него. В последнем случае следует нажать
Shift-D; для возврата к предлагаемому варианту
нажмите Shift-U. В любом случае, свой выбор
можно сохранить нажатием Shift-Q.
Возвратившись после выбора пакетов в
главное меню, вы можете выбрать
«Установить» (Install) для установки и
настройки выбранных пакетов. Если вы
отметили пакеты для удаления, то можете
выбрать пункт «Удалить» (Remove). В любой
момент времени можно выбрать пункт «Выход»
(Quit) для выхода из dselect; при этом выбор
пакетов, отмеченных для установки и
удаления, dselect
сохранит.
Данная программа позволяет манипулировать файлами-архивами Debian (.deb файлами). Часто используемые команды:
Вывести список допустимых параметров: dpkg-deb --help
Определить, какие файлы содержатся в файле-архиве Debian: dpkg-deb --contents foo_VVV-RRR.deb)
Извлечь файлы из указанного архива Debian в определённый пользователем каталог: dpkg-deb --extract foo_VVV-RRR.deb tmp извлечёт все файлы из foo_VVV-RRR.deb в каталог tmp/. Это удобно для просмотра содержимого пакета в отдельном каталоге без его установки в основное дерево каталогов.
Извлечь из пакета файлы с управляющей информацией: dpkg-deb --control foo_VVV-RRR.deb tmp.
Учтите, что любые пакеты, просто распакованные командой dpkg-deb --extract, будут установлены некорректно, для установки следует использовать dpkg --install.
Дополнительную информацию можно найти в
справочной странице dpkg-deb(1)
.
Эта программа делит большие пакеты на
файлы меньшего размера (например, для
записи на дискеты), а также может
использоваться для объединения набора
разделённых файлов обратно в один файл.
Она может использоваться только в системах
Debian (т. е. в системах, содержащих пакет
dpkg
), т. к. вызывает программу
dpkg-deb для разделения файла пакета на
отдельные компоненты.
Например, для того чтобы разделить большой .deb файл на N частей, нужно:
Выполнить команду dpkg-split --split foo.deb. В результате в текущем каталоге получится N файлов, приблизительно по 460 Кбайт каждый.
Скопировать эти N файлов на дискеты.
Скопировать содержимое дискет на жёсткий диск другой машины.
Объединить эти части файлов вместе командой dpkg-split --join "foo*".
Ядро (файловая система) в системах Debian GNU/Linux поддерживает замену файлов, даже когда они используются.
Мы также предоставляем программу
start-stop-daemon
, которая используется для
запуска служб при загрузке компьютера или
их останова при изменении уровня
выполнения (например, при переключении из
многопользовательского в
однопользовательский или для выключения
компьютера). Эта же программа используется
сценариями установки при установке нового
пакета со службой, для остановки
работающей службы и её перезапуска при
необходимости.
Чтобы получить список всех установленных пакетов, выполните команду
dpkg --list
Эта команда выведет для каждого пакета однострочную сводку, включающую два символа состояния (объясняемые в заголовке), имя пакета, установленную версию и краткое описание.
Чтобы узнать состояние пакетов, имена которых начинаются с «foo», выполните команду:
dpkg --list 'foo*'
Чтобы получить более подробный отчёт о состоянии определённого пакета, выполните команду:
dpkg --status имя_пакета
Чтобы вывести список файлов установленного пакета foo, выполните команду
dpkg --listfiles foo
Учтите, что файлы, созданные сценариями установки, не отображаются.
Чтобы определить, в каком пакете содержится файл с именем foo, выполните одну из следующих команд:
dpkg --search имя_файла
Эта команда ищет имя_файла в установленных пакетах. (Это, в настоящий момент, эквивалентно поиску всех файлов с расширением .list в каталоге /var/lib/dpkg/info/ и выводу имён всех пакетов, которые содержат заданное имя файла и отклонения (diversions).)
Более быстрая альтернатива этому —
программа dlocate
.
dlocate -S имя_файла
zgrep foo Contents-ARCH.gz
Эта команда ищет файлы, содержащие в своих полных именах путей подстроку foo. Файлы Contents-ARCH.gz (где ARCH представляет нужную архитектуру) расположены в основных каталогах пакетов (main, non-free, contrib) на FTP-сайте Debian (то есть, в /debian/dists/wheezy). Файл Contents относится только к тем пакетам, что расположены в структуре подкаталогов того же каталога, где находится и он сам. Поэтому, чтобы найти пакет, содержащий файл foo, пользователю нужно искать более чем в одном файле Contents.
Преимущество этого метода над dpkg --search состоит в том, что будут найденыфайлы в тех пакетах, которые могут быть не установлены в вашей системе.
apt-file search foo
Если вы установите пакет apt-file
, то
приведённая выше команда выполнит поиск
файлов, содержащих в своих полных путях
подстроку или регулярное выражение
foo. Преимущество этой команды перед
приведёнными ранее в том, что вам не нужно
будет получать файлы Contents-ARCH.gz, так
как это будет сделано автоматически для
всех источников, описанных в
/etc/apt/sources.list
, при запуске (с правами
суперпользователя) команды apt-file
update.
Некоторые пакеты разделены на программы («foo») и данные («foo-data») (или на «foo» и «foo-doc»). Так в Debian сделано для многих игр, мультимедийных приложений и словарей, и объясняется это тем, что некоторым пользователям может быть нужно получить только данные без установки программ, или эти программы могут работать без данных, что делает их установку необязательной.
Подобное относится и к библиотекам: обычно они устанавливаются, так как пакеты приложений зависят от них. Когда пакет приложения вычищается, пакет библиотеки может остаться в системе. Или когда пакет приложения больше не зависит, скажем, от libdb4.2, а зависит от libdb4.3, то пакет libdb4.2 может остаться в системе при обновлении пакета приложения.
В таких случаях «foo-data» не зависит от «foo»,
поэтому при удалении пакета «foo»
большинство инструментов управления
пакетами не станет удалять его
автоматически. То же самое относится и к
пакетам библиотек. Это необходимо для
избежания циклических зависимостей. Тем
не менее, если для управления пакетами вы
используете программу aptitude
(см. aptitude, раздел 8.1.3), то она
отслеживает автоматически
устанавливаемые пакеты и удаляет их, когда
в системе не остаётся пакетов, от них
зависящих.
[ назад ] [ Содержание ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ] [ вперед ]
Часто задаваемые вопросы о Debian GNU/Linux
версия 5.0.2ubuntu1 от 17 June 2013