[ назад ] [ Содержание ] [ 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 (см. Зачем нужны Debian сценарии preinst, postinst, prerm и postrm?, раздел 7.6), связанный с пакетом
Настроить пакет, который ранее был распакован: dpkg --configure foo. Кроме всего прочего, эта команда запускает сценарий postinst (см. Зачем нужны Debian сценарии 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 — это улучшенный инструмент
управления пакетами, он предоставляет
программу apt-get
. Программа
apt-get
позволяет легко получать и
устанавливать пакеты из разных источников
с помощью командной строки. В отличие от
dpkg
, apt-get
не понимает файлы .deb,
она работает с именами пакетов, и может
устанавливать архивы .deb только из
источников, указанных в файле
/etc/apt/sources.list
. Команда apt-get
запускает dpkg
после скачивания
архивов .deb[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, позволяет удобно и быстро выполнять
задачи управления пакетами.
aptitude
предоставляет функции
dselect
и apt-get
, а также много
других дополнительных возможностей,
которых нет ни в одной из этих программ:
Обеспечивает лёгкий доступ ко всем версиям пакета.
Позволяет легко отслеживать устаревшее ПО, занося его в «список устаревших и пакетов, созданных локально».
Включает достаточно мощную систему поиска
и ограничения отображаемых пакетов.
Пользователи, знакомые с 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
представлены действия, соответствует
порядку, в котором пользователь обычно
выполняет действия в dselect
для
установки пакетов. Однако пользователь
может выбирать любое действие из главного
меню как угодно часто (или совсем не
выбирать — в зависимости от того, что он
хочет сделать).
Начните с выбора метода доступа (Access
Method). Здесь выбирается способ, с
помощью которого пользователь получает
доступ к пакетам Debian; например, у некоторых
есть компакт-диски с пакетами Debian, другие
же скачивают эти пакеты по FTP. Выбранный
«метод доступа» сохраняется после выхода
из dselect
, поэтому, если он не
изменился, то нет необходимости вызывать
этот пункт меню каждый раз.
Затем обновите (Update) список
доступных пакетов. Для этого dselect
читает файл «Packages.gz», который находится в
верхнем уровне дерева каталогов, в котором
хранятся пакеты Debian (если его там нет,
dselect
предложит его создать).
Выберите (Select) нужные пакеты для установки в систему. После выбора данного пункта меню, пользователю показывается экран помощи (если в командной строке не указан параметр «--expert»). После выхода из экрана помощи, будет показано разделённое меню для выбора устанавливаемых пакетов (или удаляемых).
Верхняя часть экрана представляет собой относительно узкое окно со списком 29000 пакетов Debian; нижняя часть экрана содержит описание пакета или группы пакетов, которая выделена выше.
Для указания пакета или группы, над которым будет совершаться операция, следует навести подсветку на название пакета или метку группы. После этого можно выбрать требуемую операцию;
Нажмите клавишу «+».
Пакеты можно удалить двумя способами.
Удалить (remove): эта команда удаляет большинство файлов принадлежащих пакету, но оставляет файлы, помеченные как настроечные (см. Зачем нужен Debian файл 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/squeeze). Файл 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.1ubuntu1 от 25 November 2012