Linux Mint и его Cinnamon. Очерки применителя - Алексей Федорчук
Шрифт:
Интервал:
Закладка:
geany:i386
geany-plugins-common
geany-plugins
geany-plugin-xmlsnippets
geany-plugin-webhelper
geany-plugin-vc
geany-plugin-updatechecker
geany-plugin-treebrowser
geany-plugin-tableconvert
geany-plugin-spellcheck
geany-plugin-shiftcolumn
geany-plugin-sendmail
geany-plugin-scope
geany-plugin-prj
geany-plugin-prettyprinter
geany-plugin-pg
geany-plugin-numberedbookmarks
geany-plugin-multiterm
geany-plugin-miniscript
geany-plugin-markdown
geany-plugin-macro
geany-plugin-lua
geany-plugin-lipsum
geany-plugin-latex
geany-plugin-insertnum
geany-plugin-gproject
geany-plugin-geniuspaste
geany-plugin-gendoc
geany-plugin-extrasel
geany-plugin-doc
geany-plugin-devhelp
geany-plugin-debugger
geany-plugin-commander
geany-plugin-codenav
geany-plugin-addons
geany-common
geany-common
|deb-gview
Все приведённые выше внутренние команды дают информацию как об установленных пакетах, так и о пакетах, доступных в подключённых репозиториях. А вот команды contains и content работают только для установленных пакетов. Первая позволяет определить, к какому пакету принадлежит данный файл — именно таким способом была определена выше принадлежность утитлиты apt:
$ apt contains /usr/local/bin/apt
mintsystem: /usr/local/bin/apt
А команда content выводит список всех файлов пакета с указанием их положения в файловой иерархии:
$ apt content mintsystem
/.
/etc
/etc/apt
/etc/apt/preferences.d
/etc/apt/preferences.d/official-extra-repositories.pref
/etc/bash_completion.d
/etc/bash_completion.d/apt-linux-mint
/etc/init.d
/etc/init.d/mintsystem
...
/usr/share/nemo
/usr/share/nemo/actions
/usr/share/nemo/actions/mint-md5sum.nemo_action
Наконец, последняя из «информационных» команд — policy. При указании в качестве аргумента имени установленного пакета она выводит такую о нём информацию:
$ apt policy mintsystem
mintsystem:
Установлен: 7.9.7
Кандидат: 7.9.7
Таблица версий:
*** 7.9.7 0
700 http://linux-mint.froonix.org/ rebecca/main amd64 Packages
100 /var/lib/dpkg/status
А для пакета не установленного она будет такой:
$ apt policy geany
geany:
Установлен: (отсутствует)
Кандидат: 1.23.1+dfsg-1
Таблица версий:
1.23.1+dfsg-1 0
500 http://gd.tuwien.ac.at/opsys/linux/ubuntu/archive/ trusty/universe amd64 Packages
Где числе перед URL — приоритет репозитория, в который входит пакет, оно берётся из файлов каталога /etc/apt/preferences.d. Большее число соовтетствует более высокому приоритету.
Внутренняя команда policy была придумана для утилиты apt-cache дистрибутива Debian, где использовалась для управления приоритетами при совмещёнии в одной системе пакетов из его многочисленных веток — stable, testing, unstable, experimental. Не уверен, что она востребована в дистрибутиве Mint.
Работа с бинарными пакетами
Главное действие в отношении пакетов, которые были сочтены полезными — их установка. А основным инструментом установки является внутренняя команда install. В качестве аргументов она принимает имена пакетов — те самые, которые были найдены командой apt search и в полезности которых можно было убедиться командой apt show. Например, для установки чрезвычайно полезного текстового редактора Geany следует дать команду
$ apt install geany
которая сначала запросит пароль пользователя с административным типом аккаунта:
[sudo] password for alv:
А затем, после считывания локального списка пакетов и построения дерева зависимостей, сообщит о необходимости таковых, объёме скачиваемых пакетов и увеличении занятого дискового пространства после установки, запросив подтверждение серьёзности намерений:
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Будут установлены следующие дополнительные пакеты:
geany-common
НОВЫЕ пакеты, которые будут установлены:
geany geany-common
обновлено 0, установлено 2 новых пакетов, для удаления отмечено 0 пакетов, и 37 пакетов не обновлено.
Необходимо скачать 3808 kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 9872 kB.
Хотите продолжить? [Д/н]
Согласие предполагается по умолчанию, так что тут достаточно нажать Enter. После чего начинается скачивание пакетов из содержащего их репозитория, распаковка и инкорпорация компонентов в файловую иерархию, а также регистрация в базе данных и включение, если требуется, исполняемого файла в главное меню (для Geany — в секцимю Прграммирование, так как эта программа позиционируется её авторами как IDE — Integrated Development Environment, то есть интегрированная среда разработки). Основной статус пакета geany изменится на «установленный»:
$ apt search geany | head -n 1
i geany - Небольшая и быстрая IDE
А пакет geany-common приобретёт ещё и статус автоматически установленного:
$ apt search geany-common
i A geany-common - Небольшая и быстрая IDE — общие файлы
Если в системе уже был установлен данный пакет более старой версии — он будет обновлён. А вот переустановить пакет той же версии (например, если он был безнадёжно испорчен в ходе экспериментов) команда install откажется, сообщив, что
Уже установлена самая новая версия geany.
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 37 пакетов не обновлено.
Однако на этот предмет существует специальная команда reinstall, аргументом которой указывается установленный пакет, нуждающийся в исправлении.
Локально отдельные пакеты могут быть установлены с помощью внутренней команды deb, аргументом которой должно быть полное имя файла пакета, если нужно, с указанием пути. Например, команда
$ apt deb sublime-text_3065_amd64.deb
установит текстовый редактор Sublime — разумеется, предварительно файл этого пакета должен быть скачан.
Поскольку внутренняя команда deb — полный эквивалент конструкции sudo dpkg -i, она не занимается разрешением зависимостей, а только сообщает об их нарушении. Например, попытка установить в окружении Cinnamon файловый менджер Caja из среды MATE вызовет следующие сообщения:
$ apt deb caja_1.8.2-0+rebecca_amd64.deb
Выбор ранее не выбранного пакета caja.
(Чтение базы данных … на данный момент установлен 188621 файл и каталог.)
Preparing to unpack caja_1.8.2-0+rebecca_amd64.deb ...
Unpacking caja (1.8.2-0+rebecca) ...
dpkg: зависимости пакетов не позволяют настроить пакет caja:
caja зависит от libcaja-extension1 (= 1.8.2-0+rebecca), однако:
Пакет libcaja-extension1 не установлен.
caja зависит от libmate-desktop-2-17, однако:
Пакет libmate-desktop-2-17 не установлен.
caja зависит от mate-desktop, однако:
Пакет mate-desktop не установлен.
caja зависит от caja-common (= 1.8.2-0+rebecca), однако:
Пакет caja-common не установлен.
dpkg: error processing package caja (--install):
проблемы зависимостей — оставляем не настроенным
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Processing triggers for mime-support (3.54ubuntu1.1) ...
Processing triggers for gnome-menus (3.10.1-0ubuntu2) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu1) ...
Processing triggers for ubuntu-system-adjustments (2014.11.19) ...
При обработке следующих пакетов произошли ошибки:
caja
В отличие от внутренней команды install, команда deb не только обновит пакет до более новой версии, но и переустановит его версию текущую.
Установленные пакеты иногда требуется и удалять. Этой цели в apt для Mint служат две внутренние команды — remove и purge, аргументами которых служат, очевидно, имена удаляемых пакетов. Первая удаляет файлы пакета, но сохраняет его общесистемные конфиги, вторая — удаляет также и их. Различие между ними отражается в основном статусе удалённого пакета — в первом случае его значение будет c, во втором — p, как и у пакетов, которые никогда не устанавливались.
И remove, и purge автоматически удаляют все зависимые пакеты, список их выводится после ввода пользовательского пароля:
$ apt purge libreoffice-impress
[sudo] password for alv:
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Пакеты, которые будут УДАЛЕНЫ:
libreoffice-impress* libreoffice-ogltrans*
libreoffice-presentation-minimizer*
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 3 пакетов, и 5 пакетов не обновлено.
После данной операции, объём занятого дискового пространства уменьшится на 6031 kB.
Хотите продолжить? [Д/н]
Список удаляемых пакетов нужно читать очень внимательно, чтобы случайно не удалить что-нибудь жизненно необходимое.
Пакеты, от которых зависит удаляемый, автоматически не удаляются ни remove, ни purge. В этом случае apt предлагает воспользоваться внутренней командой autoremove для очистки системы от «осиротелых» зависимостей:
$ apt purge geany
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Следующий пакет устанавливался автоматически и больше не требуется:
geany-common
Для его удаления используйте «apt-get autoremove».
Пакеты, которые будут УДАЛЕНЫ:
geany*
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 1 пакетов, и 5 пакетов не обновлено.
После данной операции, объём занятого дискового пространства уменьшится на 2671 kB.
Хотите продолжить? [Д/н]
Разумеется, в нашем случае мы обращаемся не к команде apt-get, всё в той же утилите apt для Mint:
$ apt autoremove