Алексей Федорчук
Поднабравшись всякой информации о пакетах, пока приступать к действиям с ними — к установке, переустановке, обновлению, удалению и всему, что потребуется впредь.
Как говорилось в позапрошлом очерке, любые действия над пакетами следует начинать с синхронизации репозиториев и локального кеша, поэтому далее опция -S
будет фигурировать практически во всех командах. Из которых первая, разумеется, — установка единичного пакета, которая требует только его имени в качестве агремента:
# xbps-install -S maim
После считывания информации с репозитория и её локального обновления она выведет сведения о версии пакета, его размере, а также аналогичные данные о его зависимостях и запросит согласия на продолжение:
Name Action Version New version Download size libid3tag install - 0.15.1b_7 26KB imlib2 install - 1.4.7_1 166KB maim install - 3.4.46_1 23KB Size to download: 217KB Size required on disk: 1007KB Free space on disk: 215GB Do you want to continue? [Y/n]
Согласие подразумевается по умолчанию, так что тут достаточно нажать Enter. После чего установка происходит со страшной научно-фантастической силой, определяемой, в сущности, только пропусной способностью канала.
Для ообновления пакета или системы в целом предназначена опция -u
, и осуществляется оно командами
# xbps-install -Su maim
и
# xbps-install -Su
соответственно.
Существует ещё несколько опций утилиты xbps-install
, влияющих на процесс установки:
-f
, или --force
— принудительная установка более старой версии пакета, нежелеи текущая из репозитория, ули переустановка инсталлированной версии;
-A
, или --automatic
— при её указании пакеты получают статус автоматически установленных;
-n
, или --dry-run
— имитация установки с выводом того, какие пакеты будут установлены как зависимости (не требует прав root’а).
Кроме того, есть несколько опций, определяющих установку пакетов из определённых репозиториев. Однако пока у меня они не востребованы: они предназначены в основном для работы с собственными, локальными или удалёнными, репозиториями.
Оборотная стороны установки пакетов — их удаление, которое выполняется утилитой xbps-remove
и в простом случае выглядит так:
# xbps-remove geeqie
Что, как и в случае с установкой пакетов, вызовет такое сообщение:
Name Action Version New version Download size geeqie remove 1.1_5 - - Size freed on disk: 3487KB Free space on disk: 215GB Do you want to continue? [Y/n]
А после согласия — такое:
Removing `geeqie-1.1_5' ... Updating MIME database... Removed `geeqie-1.1_5' successfully. 0 downloaded, 0 installed, 0 updated, 0 configured, 1 removed.
При этом пакеты, установленные автоматически как зависимости, не затрагиваются, обретая статус «сирот» (orphan
). Чтобы избавиться от них, команду удаления следует сопроводить опцией -R
, или --recursive
:
$ xbps-remove -R aisleriot [/home/alv] Name Action Version New version Download size aisleriot remove 3.16.2_1 - - guile remove 2.0.11_4 - - libguile remove 2.0.11_4 - - libunistring remove 0.9.6_1 - - Size freed on disk: 26MB Free space on disk: 215GB Do you want to continue? [Y/n]
Кроме того, опция -o
, или --remove-orphans
, служит для очистки системы от «осиротелых» зависимостей. А опция -F
, или --force-revdeps
, позволяет принудительно удалять пакеты, имеющие обратные зависимости, или так называемые «сломанные» зависимости. Правда, рекомендуется использовать её с осторожностью.
Поскольку при удалении пакетов острожность важнее, чем при установке, команда xbps-remove
не обходится и без опции -n
, которая позволяет посмотреть последствия деинсталляции какого-либо пакета без вреда для здоровья (системы и своих нервов).
И, наконец, опция -O
, или --clean-cache
очищает локальный кеш от скачанных пакетов, которые по умолчанию собираются в каталоге /var/cache/xbps
. Поскольку, как уже говорилось, Void относится к категории дистрибутивов со «скользящими релизами», и в нём постоянно происходят те или иные обновления, размер этого кеша может быть весьма значительным.
Так, у меня буквально за пару-тройку дней плотного использования этого дистрибутива накапливается до полугигабайта скачанных пакетов. А в силу «скользящего» характера обновлений они очень быстро сменяются обновлёнными версиями, и потому сколько-нибудь длительное время хранить локальный кеш нет ни малейшего резона.
Опережая паровоз, спрошу — а есть ли у него графический инсталлятор/удалятер?
Консоль, конечно, хорошо, но я за время пользования Линуксом (с 2001 года) так и не проникся к ней любовью (точнее — терпеть ненавижу), хотя и пользую периодически.
Ведь для, скажем, установки чего-нибудь (именно чего-н., т. к. еще не знаю чего, но, например, из игрушек ребенку) консоль категорически не годится. Ибо не знаю — что ставить без описания.
Нет, и, видимо, не предвидится. А описание пакета, найденного при поиске в консоли, будет точно тем же самым, что и в любой графическом инсталляторе, ибо берётся из одного и того же источника — больше ему просто неоткуда браться. Это касается _всех_ пакетных менеджеров, не только XBPS.
Проблема часто в том, что не знаешь, что искать. Просит ребятенок игрушку… Какую-то интересную. В консоли же не узнаешь какие есть и что они из себя представляют. Описания же нет. Или лезть в интернет по поводу ВСЕХ наличествующих в репозитори пакетов?
А ведь можно как-то тут получить в файл список пакетов из репозитория?
Как ТУТ это сделать проще?
И в консольных утилитах систем управления пакетами (повторяю, во _всех_ системах), и в графических «мордах» к ним описание пакета берётся из соответствующего файла (разного в разных системах). А туда оно попадает, как правило, из описания, которое дал своему пакету разработчик — майнтайнеры пакетов себя этим обычно не утруждают. Так что если описание кажется Вам не полным в консольном выводе — оно будет точно таки же и в каком-нибудь Synaptic’е или YaST’е.
> Как ТУТ это сделать проще?
Например, так:
$ xbps -Rs * > all_packages.txt
Но это только из подключённых репозиториев — а по умолчанию он один.
Так что остальные — смотреть в подкаталогах http://repo.voidlinux.eu/current/
Про вывод списка спасибо.
А вот про описание… Да, описание есть, но только если ее (консольку) спросишь про конкретный пакет. А в «мордах» (например, синаптике) можно смотреть/читать подряд или по разделам.
У Вас в описании системы «Dyson как он есть:» есть по этому поводу замечательные слова —
«…может установить графическую надстройку — Synaptic, и в наглядном виде отыскивать остальные требующиеся ему для практической работы компоненты, в том числе пользовательские приложения.»
Вот это я и имел ввиду в процессе своего бурчания.
Дело вкуса, привычек, обстоятельств.
Просто нужно помнить, что описания пакетов будут одни и те же во всех дистрибутивах, системах пакетного менеджмента, консолях и GUI’ях.
Других просто нет :)
И в каталогах софта, типа http://zenway.ru/ или http://linsoft.info/ будет то же самое :)
Разве что кто сподобится написать подробный материал о той или иной софтине…
Вы или не можете, или отказываетесь понимать. Командой в консоли можно посмотреть о пакете, название которого ты знаешь (как минимум). Невозможно почитать/посмотреть о пакете, которого не знаешь. Тем более, если не знаешь, чего вообще хочешь. Т. е. только о чем-то КОНКРЕТНОМ, а не о чем-то, чего я еще и сам не знаю. Невозможно посмотреть — какие игрушки тут есть для моего 9-тилетнего парня.
PS. Дело не конкретно в игрушках, а в том, что невозможно найти то, чего не знаешь. Просто глянуть — а вдруг я без этого жить не могу? Таким образом я для себя когда-то обнаружил ranger. Сейчас я без него, как без рук.
PPS. Надо по любому поставить. Он мне уже нравится (я про дистрибутив). А дальше — разберемся.
Жаль, что нет возможности исправить/дополнить.
Вдогонку.
PPPS. Спасибо за замечательные статьи. Всегда жду новых.
Пусть не всегда со всем бываю согласен, но всегда читаю с удовольствием.
А побурчать, я думаю, нам с Вами в наши 30 и плюс несколько месяцев позволительно.
Как вариант, можно зайти на сайт (какого-либо поп-дистра) и посмотреть там. Например в Арч, на который данный дистр похож, можно в вики найти описание приложений и к тому же большинство руссифицировано…
Гы-ы-ы, полагаю автору два раза по 30 с хвостиком! ;-D
> Надо по любому поставить. Он мне уже нравится (я про дистрибутив).
Мне тоже :)
А по поводу пакетов и их описаний лучший выбор — это таки Linux Mint: доступны все приложения для Ubuntu (включая PPA), есть аналог убунтовского Центра приложений — конечно, без платных коммерческих пакетов, но какой же русский любит покупать софт «на поглядеть», тем более игрушки?
А ещё в Cinnamon (только в реализации для Linux Mint/LMDE) есть бесценная возможность — удалять установленные пакеты прямо из главного меню. Именно пакеты, а не пункты — http://alv.me/?p=8406#toc144
Поскольку обычная судьба пакетов, поставленных «на поглядеть» — быть сразу же удалёнными, штука очень востребованная.
[b]aleks[/b], про «несколько» месяцев… Я имел ввиду именно «несколько». Для меня, например, это 313. Для edf;ftvjuj [b]alv[/b] «чуток» побольше.
Для [b]alv[/b], про Cinnamon я хорошо знаю — сам пользую в LMDE. А эта система будет стоять единственной и заглянуть будет некуда. Т. к. второго ПК или параллельно установленной системы не будет.
Опачки. Оказывается тут теги не работают?
Тэги — да, в каментах не работают