Установка пакетов в системах на основе Debian. Программа apt.
Управление пакетами Linux
Цель лабораторной работы
Научиться устанавливать новое программное обеспечение, как при помощи специальных программ инсталляторов, так и путем компилирования из исходных файлов.
Задания к работе
1. Вывести полный список пакетов, установленных в системе. Подсчитать общее количество пакетов, установленных в системе.
2. Выбрать из общего списка все пакеты, имеющие в названии слово gnome (т.е. те пакеты, которые принадлежат интегрированной среде GNOME) и подсчитать их количество.
3. Проверить, установлен ли в системе пакет mc и получить расширенную информацию об этом пакете.
4. Вывести в файл список тех файлов, которые включены в пакет mc.
5. Вывести список зависимостей для этого пакета.
6. Выполнить имитацию удаления (НЕ УДАЛЕНИЕ!) пакета perl. Подсчитать количество пакетов, которые от него зависят.
7. Проверить, установлены ли в системе пакеты lynx, links и w3m.
8. Выполнить установку пакета w3m (если не установлен).
9. Выполнить имитацию установки пакетов httpd, vsftpd и webmin, проанализировать результаты (убедиться, что все зависимости удовлетворены).
10. Дополнительно: повторить задания 1-9 в графическом режиме с использованием программы Synaptic.
Методические указания
Одна из первых вещей, на которые вы обращаете внимание при установке Linux -- это большое количество входящих в дистрибутив пакетов. Большинство дистрибутивов содержат операционную систему Linux, средства для инсталляции и средства администрирования. Кроме того, в них включаются средства для работы в Интернете, средства разработки, офисные пакеты, игры, а также некоторые средства, о которых вы даже не слышали. Дистрибутивы Linux, содержащие тысячи доступных пакетов, не редкость. Если вы не выбрали "установить все", будет установлено некоторое подмножество этих пакетов.
|
|
Теперь у вас могут возникнуть вопросы "Как удалить ненужные пакеты? Как установить что-то недостающее? Могу ли я использовать программное обеспечение, не входящее в мой дистрибутив?"
Зависимости
Разные разработчики разрабатывают разные программы и библиотеки. Определенная программа может зависеть от десятка библиотек, которые разработали разные люди. Следить за всем этим вручную — неблагодарное занятие.
К счастью для нас, проблема эта решена. Каждый раз когда вы ставите какое-либо ПО из репозитория или вручную при помощи пакета-установщика, программа-установщик разбирает эти зависимости и устанавливает их вместе с нужным вам приложением. Но иногда бывает и такая ситуация, когда репозитории не подключены (например, если нет интернета) и единственный способ поставить программу — скачать ее предварительно где-нибудь и потом ставить вручную. В любом случае при установке вы будете предупреждены, если нужная зависимость не установлена и не может быть найдена в репозиториях, так что теперь вы знаете в чем дело.
|
|
И напоследок о зависимостях: допустим, вам надо скачать какую-то программу. Она тянет за собой 5 зависимостей. Каждый из них тянет за собой по 5 зависимостей еще. В итоге может получиться так, что сама программа занимает 1 мегабайт, а скачать надо 50.
.deb = setup.exe
В Windows, чтобы установить программу, необходимо скачать некий файл, наподобие setup.exe, который сам все установит. В Ubuntu используется похожая система, только вместо setup.exe используются файлы с расширением .deb
Это пакет-установщик. В разных линукс-системах установщики могут быть разные. Например, в системе RedHat Linux для установки используются пакеты с расширением .rpm
Зачем это нужно знать? Когда вы ищите ПО в интернете (если его нету в репозиториях) — обычно на странице загрузки предоставляются различные пакеты. Вам нужен deb! Даже когда вы устанавливаете что-либо из репозитория, невидимо от вас программа скачивает deb файл (или несколько файлов, если имеются зависимости) и потом устанавливает его.
|
|
Пакеты RPM
В ходе установки Linux вы, вероятно, обратили внимание на информацию об устанавливаемых пакетах RPM. RPM, сокращение от Redhat Package Manager, созданный в Red Hat, стал стандартным средством управления программным обеспечением для Red Hat и UnitedLinux, а также для многих других дистрибутивов. RPM -- в сущности пакет, содержащий программное обеспечение для Linux, готовое для установки и запуска на компьютере определенной архитектуры.
Установка пакетов в системах на основе Debian. Программа apt.
Все архивы программного обеспечения, компакт-диски и т. д. не принесут никакой пользы, если вы не умеете устанавливать программы. Итак, вы хотите знать, как установить новый пакет в Debian.
Воспользуйтесь командой apt install:
# apt install tuxkart
Установка пакета с перезаписью файлов:
# apt install --reinstall tuxkart
Чтобы установить сразу несколько программ, перечислите их, разделяя пробелами:
# apt install tuxkart gltron frozen-bubble tuxracer nethack galaga
Загрузка программ без установки или распаковки:
# apt -d install tuxkart
Чтобы протестировать команду перед выполнением, присоедините к строке ключ - dry-run:
# apt install tuxkart gltron frozen-bubble tuxracer nethack galaga --dry-run
Для определения имен пакетов используйте страницу поиска Debian по адресу http://www.debian.org/distrib/packages/. Имена пакетов Debian часто отличаются от своих аналогов из RPM. Например, программа CyrusSASL оформляется в пакет sasl2.x.rpm, а в Debian она разбивается на несколько пакетов с именами libsasl-*.
|
|
Не забудьте выполнить команду apt update после изменения /etc/apt/sources.list и периодически запускайте ее, чтобы получать обновленную информацию из архивов пакетов. apt загружает и устанавливает (а при необходимости и удаляет) все пакеты, необходимые для разрешения всех зависимостей.
Удаление пакетов
Требуется удалить пакет или несколько пакетов из системы Debian. Воспользуйтесь командой apt remove:
# apt remove tuxpaint
Предварительное тестирование команды remove:
# apt remove tuxpaint -dry-run
Удаление всех следов существования пакета, включая конфигурационные файлы:
# apt --purge remove tuxpaint
Чтобы удалить сразу несколько программ, перечислите их, разделяя пробелами:
# apt remove tuxkart gltron frozen-bubble tuxracer nethack galaga
Обновление пакетов
Требуется обновить пакет в системе Debian, потому что новая версия обладает расширенными возможностями или в ней исправлены ошибки. Воспользуйтесь командой apt install:
# apt install gltron
Обновление нескольких пакетов:
# apt install tuxkart gltron frozen-bubble tuxracer nethack galaga
Команды обновления отдельных пакетов не существует. Команда apt install всегда устанавливает последнюю версию пакета.
Обновление системы
Требуется обновить все пакеты в системе и заменить их новейшими версиями. Убедитесь в том, что файл /etc/apt/sourcs.list содержит ссылки на нужные источники, а затем выполните команду apt upgrade.
Всегда начинайте с обновления списков пакетов:
# apt update
Следующая команда обновляет все установленные пакеты, но не удаляет пакеты для разрешения зависимостей:
# apt -u upgrade
Обновление всех установленных пакетов с удалением или установкой пакетов по мере необходимости для разрешения всех зависимостей:
# apt -u dist-upgrade
Флаг -u позволяет заранее просмотреть список всех изменений. Обновление может занять несколько часов, в зависимости от скорости подключения к Интернету и количества загружаемых пакетов.
Чтобы флаг -u применялся по умолчанию, отредактируйте (или создайте) файл /etc/apt/apt.conf:
// Всегда перечислять обновляемые пакеты
// и запрашивать подтверждение у пользователя
APT::Get::Show-Upgraded "true";
Перед каждым выполнением команды apt_get dist_upgrade сначала выполните команду apt upgrade, чтобы снизить вероятность ошибок при выполнении distupgrade
Поиск установленных программ
Требуется узнать, какие пакеты установлены в системе, к какому пакету относятся те или иные файлы и что находится в отдельных пакетах. Воспользуйтесь средствами обработки запросов dpkg.
Следующая команда выводит список всех установленных пакетов и направляет его в файл:
$ dpkg -l | tee dpkglist
Поиск всех пакетов, удовлетворяющих критерию поиска, и вывод информации об их состоянии:
$ dpkg -l '*gnome*'
Поиск установленных пакетов, удовлетворяющих критерию поиска:
$ dpkg -l | grep gnome
Вывод списка файлов, входящих в пакет:
$ dpkg -L gnome-applets
Операции с кэшем пакетов
Требуется обеспечить актуальность кэша пакетов и списков пакетов, чтобы программа apt работала правильно, без возникновения ложных проблем с зависимостями.
Воспользуйтесь программами apt и dpkg. Не забывайте выполнять команду apt update после модификации файла /etc/apt/sources.list, а также регулярно выполняйте ее, чтобы список пакетов оставался актуальным.
Следующая команда выводит список загруженных, но не установленных пакетов:
$ dpkg --yet-to-unpack
Проверка нарушенных зависимостей:
$ apt check
Удаление кэшированных пакетов, которые стали ненужными: $ apt-cache autoclean Удаление всех кэшированных пакетов:
$ apt-cache clean
Вывод списка частично установленных пакетов:
$ dpkg -audit
Если вызов dpkg --audit возвращает какие-либо результаты, как в следующем случае:
$ dpkg --audit
vpw (no information available)
для начала убедитесь в том, что возвращаемый пакет существует:
$ dpkg -l
vpw Package 'vpw' is not installed and no info is available
Если пакет существует, либо завершите установку, либо удалите ее. Если пакет не установлен, поищите соответствующую запись в /var/lib/dpkg/available и /var/lib/dpkg/status и удалите ее
Дата добавления: 2019-07-17; просмотров: 387; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!