Категории
Самые читаемые
onlinekniga.com » Компьютеры и Интернет » Программное обеспечение » Linux Mint и его Cinnamon. Очерки применителя - Алексей Федорчук

Linux Mint и его Cinnamon. Очерки применителя - Алексей Федорчук

Читать онлайн Linux Mint и его Cinnamon. Очерки применителя - Алексей Федорчук

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 53 54 55 56 57 58 59 60 61 ... 96
Перейти на страницу:

$ apt autoremove

Она не нуждается в аргументах и выполняет свою работу молча, не задавая вопросов. Перед её выполнением не вредно выполнить другую внутреннюю команду — check, проверяющую систему на предмет «сломанных» зависимостей.

apt check

[~] Что при хорошем раскладе после ввода пароля должно дать такой результата:

Чтение списков пакетов… Готово

Построение дерева зависимостей

Чтение информации о состоянии… Готово

А при плохом... плохого у меня до сих пор не было.

Перед установкой пакетов из репозитория они предварительно скачиваются и помещаются в каталог /var/cache/apt/archives/. Со временем файлов пакетов накапливается много, а нужны они бывают только в исключительных случаях. Для избавления от них существуют в apt для Mint предусмотрены команды autoclean и clean. Первая удаляет из кеша только пакеты устаревших версий, сохраняя те, версии которых установлены в системе. Вторая же полностью очищает каталог /var/cache/apt/archives/.

Обновление системы

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

$ apt update

Её же в обязательном порядке следует выполнять после каждого изменения в репозиториях — подключения новых или отключения имевшихся. Теоретически для редактирования списков репозиториев в apt для Mint предназначена команда sources. Однако практически она бесполезна, так как вызывает текстовый редактор по умолчанию (nano) для редактирования /etc/apt/sources.list. В нашем же дистрибутиве этот файл содержит только репозиторий локального оптического диска, а все реально подключённые репозитории описываются в файлах каталога /etc/apt/sources.list.d.

Для обновления всех, по возможности, пакетов установленной системы в apt для Mint существует внутренняя команда upgrade. Она выявит все пакеты, для которых в репозиториях доступны более свежие версии, выведет их список, объём для скачивания и прирост объёма занятого дискового пространства после выполнения процедуры, а также запросит подтвержения:

$ apt upgrade

Чтение списков пакетов… Готово

Построение дерева зависимостей

Чтение информации о состоянии… Готово

Расчёт обновлений…Готово

Пакеты, которые будут обновлены:

  gir1.2-gudev-1.0 libegl1-mesa libegl1-mesa-drivers libgbm1

обновлено 35, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.

Необходимо скачать 36,3 MБ архивов.

После данной операции, объём занятого дискового пространства возрастёт на 124 kB.

Хотите продолжить? [Д/н]

В ходе выполнения upgrade обновляются по возможности все пакеты, за исключением тех, для разрешения зависимостей которых обновление потребует доустановки новых пакетов или удаления существующих. Для таких пакетов текущие версии будут сохранены.

При использовании команды upgrade следует учитывать, что она обновляет в том числе и те компоненты, которые по умолчанию заблокированы для обновления через фирменный инструмент mintupdate — ядро и всё, что с ним связано, glibc, и так далее (пакеты уровней 4 и 5). Так что, прежде чем применять эту команду, следует либо всё взвесить и решиться на обновление указанных компонентов, либо явным образом зафиксировать их версии.

Фиксация версий пакетов может потребоваться и в ряде других случаев — например, при использовании более неподдерживаемых, но по прежнему необходимых пакетов, пакетов, пересобранных с собственными опциями, и ещё некоторых. Она выполняется внутренней командой hold с указанием имени фиксируемого пакета (пакетов). После чего пакет приобретает основной статус h и не затрагивается обновлениями. Обратная процедура, то есть снятие фиксации, если в ней пропала необходимость, выполняется внутренней командой unhold.

Для тотального обновления системы предназначена внутренняя команда dist-upgrade: она не только обновляет все пакеты, для которых обновления доступны, но может доустанавливать новые пакеты и удалять существующие, если это необходимо для разрешения зависимостей. Эта субкоманда применяется, например, при смене релиза дистрибутива — например, для перехода с Mint 17.0 Qiana на 17.1 Rebecca достаточно прописать одноимённые репозитории в файлах их описаний. И после этого дать команду

$ apt dist-upgrade

Есть и ещё несколько случаев, требующих применения dist-upgrade, а не просто upgrade — например, обновление версии рабочей среды (в данном случае Cinnamon) и некоторых других базовых компонентов системы.

При тотальном обновлении через dist-upgrade следует помнить о том, что выше было сказано про upgrade. И если в данном случае обновление базовых компонентов системы (ядра etc.) необходимо, то о фиксации самосборных и неподдерживаемых пакетов посредством команды hold нужно позаботиться заблаговременно.

В apt для Mint предусмотрена ещё одна внутренняя команда общего обновления — dselect-upgrade, эквивалентная конструкции sudo apt-get dselect-upgrade. Она выполняет обновление в соответствие со статусом пакетов, установленным по умолчанию для древней утилиты dselect — предшественницы aptitude. Поскольку самой этой утилиты в стандартной инсталляции Mint нет, изменить (и даже посмотреть эти умолчания затруднительно). Так что я бы воздержался от использования dselect-upgrade, тем более что ни малейшей необходимости обращаться к ней нет.

Работа с пакетами исходных текстов

Всё сказанное выше относилось к бинарным пакетам. Однако в утилите apt предусмотрены и средства для работы с пакетами исходных текстов. Так, с помощью внтуренней команды source можно просто скачать пакет, указанный в качестве её аргумента — разумеется, для этого должен быть подключён репозиторий исходников. Внутренняя команда build (эквивалент sudo dpkg-buildpackage) выполнит построение бинарного пакета (что требует соответствующего инструментария в установленном виде). А внутренняя команда build-dep ограничится конфигурированием необходимых для этого зависимостей, например:

apt build-dep ubuntu-zfs

Это потребовалось мне в Rebecca 17.1 при сборке пакетов поддержки ZFS on Linux.

Итог

Можно видеть, что и по части манипулирования пакетами возможности утилиты apt широки и многогранны. То есть это действительно универсальное средство управления пакетами, в обыденной жизни способное почти всегда заменить все прочие — от низкоуровневой dpkg (обращение к которой потребуется только в исключительных случаях) до графического front-end'а — Synaptic'а. Ибо не уступает последнему в наглядности вывода информации о пакетах, позволяя манипулировать ими проще и быстрее. Рядом с apt для Mint его тёзка из одномиённого пакета (общего для всех deb based дистрибутивов) Debian/Ubuntu выглядит ограниченным функционально, а традиционные apt-cache и apt-get — несколько усложнёнными синтаксически. Что же до aptitude, то она в этом контексте кажется вообще излишней: apt для Mint обеспечивает почти все функции её командного режима, а в интерактивном режиме эта программа в дистрибутивах семейства Ubuntu и её клонах уже давно работает не вполне корректно.

Примечание: кратко об apt из APT

Если apt-cache и apt-get полностью заменяются утилитой apt для Mint, то, как ни странно, apt из одноимённого пакета имеет некоторые дополнительные функции, и потому заслуживает хоть и краткого, но рассмотрения. Как уже говорилось, в нашем дистрибутиве его следует запускать с указанием полного пути:

$ /usr/bin/apt

В приведённом виде эта команда выведет справку о внутренних командах этой утилиты — краткую, но вполне достаточную:

CLI for apt.

Basic commands:

 list - list packages based on package names

 search - search in package descriptions

 show - show package details

 

 update - update list of available packages

 

 install - install packages

 remove  - remove packages

 

 upgrade - upgrade the system by installing/upgrading packages

 full-upgrade - upgrade the system by removing/installing/upgrading packages

 

 edit-sources - edit the source information file

Назначение большинства внутренних команд понятно без комментариев, из их имён и сопуствующих пояснений: search, show, install, remove, update и upgrade суть аналоги одноимённых внутренних команд apt для Mint (а также apt-cache и apt-search), full-upgrade идентична команде dist-upgrade, а edit-sources — команде sources.

Так что единственной внутренней командой, не имеющей аналогов ни в связке apt-cache и apt-search, ни в apt для Mint, оказывается list. Но зато командой очень полезной:

   • с опцией --installed она выводит список установленных пакетов (который иначе можно получить только командой dpkg -l или всякими конструкциями с grep);

   • опция --upgradable выводит список пакетов, для которых имеются обновления;

   • опция же --all-versions выдаёт на гора полный список доступных пакетов, специально отмечая установленные.

1 ... 53 54 55 56 57 58 59 60 61 ... 96
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Linux Mint и его Cinnamon. Очерки применителя - Алексей Федорчук.
Комментарии