TazPkg — менеджер пакетов в системе SliTaz GNU/Linux.
tazpkg [команда] [параметры...]
TazPkg — это легковесный менеджер пакетов, позволяющий устанавливать, выдавать списки, загружать, обновлять и удалять бинарные пакеты в системе GNU/Linux. TazPkg предоставляет команды для поиска и создания пакетов, он был создан независимо для проекта. Пакеты с расширением *.tazpkg — это архивы CPIO, содержащие сжатую при помощи LZMA файловую систему, рецепт и дополнительное описание. TazPkg также управляет зависимостями на основе рецептов, находящихся в пакетах. Каждый рецепт содержит полную информацию о пакете, а также может содержать пре- и пост-установочные функции. Тот же самый рецепт использует Cookutils для компиляции исходников и создания пакетов .tazpkg.
TazPkg разработан полностью с нуля, он написан на скрипте, совместимом с Bash. TazPkg работает под управлением Ash, который входит в состав проекта BusyBox. TazPkg распространяется под свободной лицензией GNU GPL v3.
TazPkg использует некоторые переменные окружения:
База данных пакетов по умолчанию располагается в папке /var/lib/tazpkg.
date -d@timestamp
)Все устаревшие файлы будут удалены как только мы убедимся, что ни одна программа их более не использует (изменив эти программы при необходимости).
В дополнение к общим файлам базы данных пакетов существуют также индивидуальные папки для всех установленных пакетов, которые располагаются по умолчанию в /var/lib/tazpkg/installed/пакет. Каждая папка может содержать следующие файлы:
Кеш пакетов по умолчанию располагается в папке /var/cache/tazpkg с подпапками для разных
репозиториев.
Файл по умолчанию /var/log/slitaz/tazpkg.log хранит журнал действий TazPkg.
Разделяемая информация MIME, которая позволяет «угадать» файлы пакетов SliTaz, рецепты пакетов и
файлы редакций SliTaz (flavor).
Подключаемый модуль для TazPanel (панель администрирования и настройки SliTaz) /var/www/tazpanel/pkgs.cgi позволяет управлять пакетами SliTaz при помощи специального веб-приложения.
Документация TazPkg, которую вы читаете, располагается в папке /usr/share/doc/tazpkg.
Первый параметр tazpkg — это команда, за которой следуют обязательные и необязательные параметры как будет описано далее. Опции начинаются с двух дефисов, вы можете располагать в любом порядке и в любом месте, даже перед командой. Неизвестные и неподходящие опции игнорируются. Следующие команды идентичны:
$ tazpkg info nano --root=/mnt/sda6 $ tazpkg --root=/mnt/sda6 info nano $ tazpkg info --root=/mnt/sda6 nano --color
Вы можете добавить глобальную опцию --root=… к любой команде TazPkg. Эта опция позволяет
работать с другими установками SliTaz. Опция указывает на корень примонтированной файловой системы
другой установки SliTaz.
Отобразить полный список команд TazPkg с кратким описанием.
$ tazpkg usage $ tazpkg
Отобразить справку по выбранной команде (help или -h). Можно вводить краткое имя команды, полное имя, либо часть полного имени. Можно игнорировать дефисы в начале краткого имени. В случае, если запрошенной части полного имени соответствуют несколько имен команд, будет предложено уточнить имя команды.
$ tazpkg help -gi $ tazpkg -h us
Показать журнал действий TazPkg (activity или log или -a). При помощи параметра --nb= можно указать количество отображаемых строк журнала.
$ tazpkg activity $ tazpkg -a --nb=20
Удалить пакеты *.tazpkg, загруженные в кэш (clean-cache или -cc). Во время установки TazPkg сохраняет копии пакетов, загруженных из интернета. Это сделано для того, чтобы сохранить трафик в случае переустановки, но вы можете захотеть освободить место на жестком диске или повторно загрузить пакеты.
# tazpkg clean-cache # tazpkg -cc
Список пакетов *.tazpkg, находящихся в кэше. Будет отображен список имен файлов и их размеров, а также общее количество фалов и размер.
# tazpkg list-cache
Запустить интерактивную оболочку TazPkg. Здесь вы можете ввести все команды TazPkg, описанные выше.
$ tazpkg shell # tazpkg shell
Список пакетов, установленных в системе (list или -l). Эта команда может выводить список всех установленных пакетов, список категорий (c или cat или categories), список пакетов определенной категории, и список пакетов заблокированных от обновления (b или blocked). Вы можете также использовать команду search для вывода списка на основе условия или названия пакета.
$ tazpkg list $ tazpkg -lc $ tazpkg -l games $ tazpkg -l игры $ tazpkg -lb
Список пакетов, доступных в репозитории
(list-mirror или -lm). Эта команда покажет список пакетов, загруженный из
репозитория. Если этот список еще не загружался, вам будет предложено запустить
tazpkg recharge
с правами администратора (root), чтобы получить
список доступных пакетов. Параметр --diff позволяет отобразить различия между новым и
текущим списками пакетов.
$ tazpkg list-mirror $ tazpkg -lm --diff
Список конфигурационных системных файлов. Параметр --box отображает список в виде таблицы. Вы можете указать имя пакета, чтобы отобразить конфигурационные файлы только для этого пакета.
$ tazpkg list-config $ tazpkg list-config --box $ tazpkg list-config slim $ tazpkg list-config --box slim
Поиск пакета по имени владельца или названию пакета (search или -s). Эта
команда будет искать в списке установленных пакетов (-i или --installed) и
в списке пакетов, доступных в репозитории (-l или --list). Для того, чтобы
получить новейший список пакетов из репозитория, просто запустите tazpkg recharge
перед
началом проведения поиска:
$ tazpkg search gcc $ tazpkg search mt -i $ tazpkg search bit -l
Поиск файла среди всех файлов, доступных в репозитории с выводом только названий соответствующих пакетов (search-pkgname или -sp).
$ tazpkg search-pkgname libnss $ tazpkg -sp /usr/share/fonts
Поиск файла среди всех файлов, которые были установлены с пакетами (search-file или -sf). Это бывает очень полезно, когда нужно найти полный путь к файлу или определить, присутствует ли файл в системе. Опция --mirror позволяет искать файл среди всех файлов, доступных в репозитории. Пример:
$ tazpkg search-file libnss $ tazpkg -sf /usr/share/fonts --mirror
Загрузить пакет из репозитория (если он существует). Загруженный пакет сохраняется в текущей
папке. Чтобы узнать текущий путь, вы можете использовать команду pwd
.
$ tazpkg get grub $ tazpkg get nano --root=/mnt/sda6
Эта команда позволяет устанавливать ранее загруженный пакет с расширением .tazpkg (install или -i). См. get-install, если вы хотите установить пакет из интернета. Обратите внимание, что вы можете выполнить принудительную установку с параметром --forced. Параметр --newconf позволяет переписать все конфигурационные файлы пользователя файлами из пакета. Параметр --nodeps позволяет установить только указанный пакет без его зависимостей.
# tazpkg install пакет-1.0.tazpkg # tazpkg -i путь/к/пакету-1.0.tazpkg --forced # tazpkg -i путь/к/пакету-1.0.tazpkg --root=/mnt/rootfs
Загрузить и установить пакет из репозитория в интернете. Эта команда (get-install или -gi) сначала проверяет, существует ли пакет в репозитории и был ли он уже загружен. Для получения списка пакетов в репозитории используйте команду list-mirror. Обратите внимание, что вы можете выполнить принудительную установку с параметром --forced. Параметр --newconf позволяет переписать все конфигурационные файлы пользователя файлами из пакета. Параметр --nodeps позволяет установить только указанный пакет без его зависимостей.
Параметр --forced позволяет обновить уже установленный пакет.
# tazpkg get-install grub # tazpkg -gi grub --forced # tazpkg -gi nano --root=/mnt/sda6
Установить набор пакетов, перечисленных в файле. Команда install-list позволяет вам установить за один раз несколько ранее загруженных пакетов, а команда get-install-list перед установкой списка пакетов предварительно загружает их из интернета. Эти команды также понимают параметр форсированной установки:
# tazpkg install-list мои-пакеты.list # tazpkg get-install-list мои-пакеты.list --forced
Удалить пакет (remove или -r). Вас спросят о подтверждении (y/N) удаления пакета, а также об удалении пакетов, зависящих от этого пакета, и о переустановке пакетов, которые были изменены этим пакетом. Эта команда удаляет все файлы, которые устанавливались в составе пакета.
Параметр --auto удаляет и переустанавливает пакеты без вашего подтверждения.
# tazpkg remove bc # tazpkg -r gtk+-3 --root=/mnt/sda6 # tazpkg -r nano --auto
Повторяет пост-установочный скрипт из пакета.
# tazpkg reconfigure gcc # tazpkg reconfigure gcc --root=/mnt/sda6
Эта команда позволяет установить пакет, уже установленный на другом носителе. Установка заключается в создании символьных ссылок и требует очень мало памяти. Обычно это применяется, когда система работает в оперативной памяти и нужно установить дополнения с USB-флэш.
# tazpkg link openoffice /media/usbdisk
Эта команда меняет текущую версию и обновляет все пакеты до последнего релиза выбранной версии.
# tazpkg set-release cooking
Установить набор пакетов указанной редакции (flavor). Дополнительно, команда install-flavor удаляет все прочие установленные пакеты, не входящие в эту редакцию.
# tazpkg add-flavor gtkonly # tazpkg install-flavor justx
Показать всю доступную информацию по интересующему вас пакету. Можно указать название установленного пакета или пакета, который еще не установлен, но доступен в репозитории. Также можно получить информацию о локальном файле пакета, введя абсолютный или относительный путь к этому файлу .tazpkg. Информация содержится в базе данных TazPkg и в рецепте пакета — его версия, категория, разработчик, сайт и все зависимости (см. также Cookutils для получения дополнительной информации по рецептам).
$ tazpkg info busybox $ tazpkg info minitube $ tazpkg info packages/comix-4.0.4.tazpkg
Описание пакета (desc или -d).
$ tazpkg desc busybox
Список всех файлов, которые устанавливаются при установке пакета (list-files или -lf). Эта команда просто читает и отображает файл files.list каждого пакета (он создается автоматически при создании пакета, а также используется для удаления файлов при удалении пакета).
$ tazpkg list-files bc
Команды позволяют вам блокировать (block или -b) и разблокировать (unblock или -u) установленную версию пакета. Команда chblock меняет состояние блокировки пакета на противоположное. Заблокированный пакет не будет обновляться командой upgrade. Список заблокированных пакетов находится в файле /var/lib/tazpkg/blocked-packages.list. Этот файл также можно отредактировать вручную.
# tazpkg block grub # tazpkg unblock grub # tazpkg chblock grub
Эта команда может проверить зависимости установленных пакетов и определить, все ли файлы, необходимые для переупаковки пакета присутствуют:
$ tazpkg check $ tazpkg check --full $ tazpkg check nano $ tazpkg check sakura --full
Показывает список известных ошибок в пакетах. Вы можете указать название единственного пакета, для которого нужно показать список ошибок.
$ tazpkg bugs $ tazpkg bugs мой_пакет
Отображает дерево зависимостей и обратное дерево зависимостей пакета, соответственно.
Для команды depends
: опция --mark отмечает установленные пакеты плюсом,
а не установленные — минусом. Опция --total подсчитывает общее количество отображенных
пакетов и их суммарный размер. Также, при применении обоих опций будет показано количество и размер
пакетов, которые будет нужно установить.
Для команды rdepends
: без опции --all вы получите список обратных
зависимостей, полученный только из установленных программ, а с этой опцией — список полученный из
всех доступных программ. Опция --mark отмечает пакеты так же, как и в команде
depends
.
$ tazpkg depends mpd $ tazpkg rdepends mpd
Распаковать пакет в папку (extract или -e). Если вы не укажете папку назначения, то пакет будет распакован в папку с именем пакет-версия, которая будет создана в текущей папке.
$ tazpkg extract пакет.tazpkg $ tazpkg extract пакет.tazpkg папка/назначения
Эта команда создаст пакет из заранее подготовленной папки или из распакованного пакета. Используя эту команду вы можете создать пакет .tazpkg вручную (см. документацию Cookutils по вопросу автоматического создания пакетов).
# tazpkg pack пакет-версия
Эта команда позволяет восстановить пакет из файлов в системе, где он был ранее установлен.
# tazpkg repack пакет
Эта команда воссоздает пакет с конфигурационными системными файлами (см. list-config). Для того, чтобы восстановить текущую конфигурацию, потом достаточно будет установить созданный пакет.
# tazpkg repack-config
Перепаковать CPIO-архив .tazpkg с помощью LZMA. Эта команда нужна только для того, чтобы уменьшить размер имеющихся старых пакетов, созданных для SliTaz 2.0.
# tazpkg recompress пакет.tazpkg
Преобразует пакеты «чужих» дистрибутивов в пакеты SliTaz (.tazpkg).
Поддерживаемые форматы пакетов:
# tazpkg convert файл-чужого-пакета
Список предложенных пакетов для каждого из ваших установленных пакетов. С параметром --all будет отображен полный список предложенных пакетов, а без параметра — только список предложенных пакетов, которые еще не установлены.
$ tazpkg list-suggested $ tazpkg list-suggested --all
Обновление списка пакетов, доступных в репозитории. Эта команда загрузит из репозитория самую
последнюю базу данных устанавливаемых пакетов и, прежде чем продолжить, сохранит старую базу. После
обновления списка, вы можете использовать команды list и
search. Для просмотра списка различий используйте команду
list-mirror --diff
, а для просмотра и обновления пакетов просто скомандуйте
upgrade.
Команда без параметров обновит базы данных всех ваших репозиториев. Вы можете указать, какой репозиторий следует обновить: «main» для главного репозитория или имя неофициального репозитория. Параметр --root= позволяет указать корень файловой системы, где будут обновляться базы данных пакетов.
# tazpkg recharge # tazpkg recharge main # tazpkg recharge Мой_неофициальный # tazpkg recharge --root=/mnt/sda6
Команда позволяет обновить все установленные пакеты, доступные в текущем репозитории (upgrade или up). Обновление пакетов — важная составляющая безопасности системы, и вы можете чувствовать себя в безопасности с последними обновлениями и исправлениями. Хотя проект SliTaz и крохотный, но он обеспечивает регулярные обновления по безопасности и как правило, предоставляет последние версии ПО. Обратите внимание, что эта функция предназначена для людей, установивших SliTaz на жесткий диск. Обновленные пакеты в режиме Live CD, будут потеряны при выключении системы.
Вначале база данных пакетов автоматически обновляется (recharge) для того, чтобы предоставить вам актуальный список пакетов, которые вы сможете обновить.
Команда без параметров будет работать в интерактивном режиме и спрашивать перед установкой пакетов. Вы можете указать один из следующих параметров: -c или --check чтобы только проверить обновления; -i или --install чтобы проверить обновления и установить их все.
# tazpkg upgrade # tazpkg up --check # tazpkg up -i
Установка адреса репозитория (setup-mirror или -sm). Эта команда запросит URL нового репозитория. Обратите внимание, что вы также можете изменить основной файл /var/lib/tazpkg/mirror. URL-адрес должен указывать на папку, содержащую пакеты и файл packages.info.
# tazpkg setup-mirror
Устанавливает адрес дополнительного неофициального репозитория для тестирования пакетов, которые еще не присутствуют в официальных репозиториях. Обратите внимание, вы можете также вручную редактировать файлы в /var/lib/tazpkg/undigest/имя_репозитория. URL-адрес должен указывать на папку, содержащую пакеты и файл packages.info:
# tazpkg add-undigest public-repository http://my.home.org/slitaz # tazpkg setup-undigest local-repository /home/slitaz/packages
Список дополнительных неофициальных репозиториев. Параметр --box выведет список в форме таблицы.
$ tazpkg list-undigest $ tazpkg list-undigest --box
Удаляет адрес неофициального репозитория. Перед удалением вас спросят о подтверждении.
# tazpkg remove-undigest my-repository
Christophe Lincoln <pankso at slitaz.org>