Руководство TazPkg

Название

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.

Все устаревшие файлы будут удалены как только мы убедимся, что ни одна программа их более не использует (изменив эти программы при необходимости).

В дополнение к общим файлам базы данных пакетов существуют также индивидуальные папки для всех установленных пакетов, которые располагаются по умолчанию в /var/lib/tazpkg/installed/пакет. Каждая папка может содержать следующие файлы:

Кеш

Кеш пакетов по умолчанию располагается в папке /var/cache/tazpkg с подпапками для разных репозиториев. Если быть точным, то используется папка /var/cache/tazpkg/cooking/packages для версий SliTaz, основанных на cooking.

Прочие файлы

Файл по умолчанию /var/log/slitaz/tazpkg.log хранит журнал действий TazPkg. В журнале сохраняются пять типов действий: установка, удаление, блокирование, разблокирование, переконфигурирование пакетов.

Разделяемая информация MIME, которая позволяет «угадать» файлы пакетов SliTaz, рецепты пакетов и файлы редакций SliTaz (flavor). Файл располагается здесь: /usr/share/mime/packages/tazpkg.xml.

Подключаемый модуль для 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. Кстати, используя эту опцию, можно установить SliTaz «с нуля» и удаленно обновлять пакеты.

Служебные команды
Работа со списками
Поиск
Установка и удаление пакетов
Работа с пакетами
Работа с репозиториями
Служебные команды

usage

Отобразить полный список команд TazPkg с кратким описанием.

$ tazpkg usage
$ tazpkg

help

Отобразить справку по выбранной команде (help или -h). Можно вводить краткое имя команды, полное имя, либо часть полного имени. Можно игнорировать дефисы в начале краткого имени. В случае, если запрошенной части полного имени соответствуют несколько имен команд, будет предложено уточнить имя команды.

$ tazpkg help -gi
$ tazpkg -h us

activity

Показать журнал действий TazPkg (activity или log или -a). При помощи параметра --nb= можно указать количество отображаемых строк журнала.

$ tazpkg activity
$ tazpkg -a --nb=20

clean-cache

Удалить пакеты *.tazpkg, загруженные в кэш (clean-cache или -cc). Во время установки TazPkg сохраняет копии пакетов, загруженных из интернета. Это сделано для того, чтобы сохранить трафик в случае переустановки, но вы можете захотеть освободить место на жестком диске или повторно загрузить пакеты.

# tazpkg clean-cache
# tazpkg -cc

list-cache

Список пакетов *.tazpkg, находящихся в кэше. Будет отображен список имен файлов и их размеров, а также общее количество фалов и размер.

# tazpkg list-cache

shell

Запустить интерактивную оболочку TazPkg. Здесь вы можете ввести все команды TazPkg, описанные выше.

$ tazpkg shell
# tazpkg shell
Работа со списками

list

Список пакетов, установленных в системе (list или -l). Эта команда может выводить список всех установленных пакетов, список категорий (c или cat или categories), список пакетов определенной категории, и список пакетов заблокированных от обновления (b или blocked). Вы можете также использовать команду search для вывода списка на основе условия или названия пакета.

$ tazpkg list
$ tazpkg -lc
$ tazpkg -l games
$ tazpkg -l игры
$ tazpkg -lb

list-mirror

Список пакетов, доступных в репозитории (list-mirror или -lm). Эта команда покажет список пакетов, загруженный из репозитория. Если этот список еще не загружался, вам будет предложено запустить tazpkg recharge с правами администратора (root), чтобы получить список доступных пакетов. Параметр --diff позволяет отобразить различия между новым и текущим списками пакетов.

$ tazpkg list-mirror
$ tazpkg -lm --diff

list-config

Список конфигурационных системных файлов. Параметр --box отображает список в виде таблицы. Вы можете указать имя пакета, чтобы отобразить конфигурационные файлы только для этого пакета.

$ tazpkg list-config
$ tazpkg list-config --box
$ tazpkg list-config slim
$ tazpkg list-config --box slim
Поиск

search-pkgname

Поиск файла среди всех файлов, доступных в репозитории с выводом только названий соответствующих пакетов (search-pkgname или -sp).

$ tazpkg search-pkgname libnss
$ tazpkg -sp /usr/share/fonts

search-file

Поиск файла среди всех файлов, которые были установлены с пакетами (search-file или -sf). Это бывает очень полезно, когда нужно найти полный путь к файлу или определить, присутствует ли файл в системе. Опция --mirror позволяет искать файл среди всех файлов, доступных в репозитории. Пример:

$ tazpkg search-file libnss
$ tazpkg -sf /usr/share/fonts --mirror
Установка и удаление пакетов

get

Загрузить пакет из репозитория (если он существует). Загруженный пакет сохраняется в текущей папке. Чтобы узнать текущий путь, вы можете использовать команду pwd.

$ tazpkg get grub
$ tazpkg get nano --root=/mnt/sda6

install

Эта команда позволяет устанавливать ранее загруженный пакет с расширением .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

Загрузить и установить пакет из репозитория в интернете. Эта команда (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

Установить набор пакетов, перечисленных в файле. Команда install-list позволяет вам установить за один раз несколько ранее загруженных пакетов, а команда get-install-list перед установкой списка пакетов предварительно загружает их из интернета. Эти команды также понимают параметр форсированной установки:

# tazpkg install-list мои-пакеты.list
# tazpkg get-install-list мои-пакеты.list --forced

remove

Удалить пакет (remove или -r). Вас спросят о подтверждении (y/N) удаления пакета, а также об удалении пакетов, зависящих от этого пакета, и о переустановке пакетов, которые были изменены этим пакетом. Эта команда удаляет все файлы, которые устанавливались в составе пакета.

Параметр --auto удаляет и переустанавливает пакеты без вашего подтверждения.

# tazpkg remove bc
# tazpkg -r gtk+-3 --root=/mnt/sda6
# tazpkg -r nano --auto

reconfigure

Повторяет пост-установочный скрипт из пакета.

# tazpkg reconfigure gcc
# tazpkg reconfigure gcc --root=/mnt/sda6

set-release

Эта команда меняет текущую версию и обновляет все пакеты до последнего релиза выбранной версии.

# tazpkg set-release cooking

add-flavor, install-flavor

Установить набор пакетов указанной редакции (flavor). Дополнительно, команда install-flavor удаляет все прочие установленные пакеты, не входящие в эту редакцию.

# tazpkg add-flavor gtkonly
# tazpkg install-flavor justx
Работа с пакетами

info

Показать всю доступную информацию по интересующему вас пакету. Можно указать название установленного пакета или пакета, который еще не установлен, но доступен в репозитории. Также можно получить информацию о локальном файле пакета, введя абсолютный или относительный путь к этому файлу .tazpkg. Информация содержится в базе данных TazPkg и в рецепте пакета — его версия, категория, разработчик, сайт и все зависимости (см. также Cookutils для получения дополнительной информации по рецептам).

$ tazpkg info busybox
$ tazpkg info minitube
$ tazpkg info packages/comix-4.0.4.tazpkg

desc

Описание пакета (desc или -d).

$ tazpkg desc busybox

list-files

Список всех файлов, которые устанавливаются при установке пакета (list-files или -lf). Эта команда просто читает и отображает файл files.list каждого пакета (он создается автоматически при создании пакета, а также используется для удаления файлов при удалении пакета).

$ tazpkg list-files bc

block, unblock, chblock

Команды позволяют вам блокировать (block или -b) и разблокировать (unblock или -u) установленную версию пакета. Команда chblock меняет состояние блокировки пакета на противоположное. Заблокированный пакет не будет обновляться командой upgrade. Список заблокированных пакетов находится в файле /var/lib/tazpkg/blocked-packages.list. Этот файл также можно отредактировать вручную.

# tazpkg block grub
# tazpkg unblock grub
# tazpkg chblock grub

check

Эта команда может проверить зависимости установленных пакетов и определить, все ли файлы, необходимые для переупаковки пакета присутствуют:

$ tazpkg check
$ tazpkg check --full
$ tazpkg check nano
$ tazpkg check sakura --full

bugs

Показывает список известных ошибок в пакетах. Вы можете указать название единственного пакета, для которого нужно показать список ошибок.

$ tazpkg bugs
$ tazpkg bugs мой_пакет

depends, rdepends

Отображает дерево зависимостей и обратное дерево зависимостей пакета, соответственно.

Для команды depends: опция --mark отмечает установленные пакеты плюсом, а не установленные — минусом. Опция --total подсчитывает общее количество отображенных пакетов и их суммарный размер. Также, при применении обоих опций будет показано количество и размер пакетов, которые будет нужно установить.

Для команды rdepends: без опции --all вы получите список обратных зависимостей, полученный только из установленных программ, а с этой опцией — список полученный из всех доступных программ. Опция --mark отмечает пакеты так же, как и в команде depends.

$ tazpkg depends mpd
$ tazpkg rdepends mpd

extract

Распаковать пакет в папку (extract или -e). Если вы не укажете папку назначения, то пакет будет распакован в папку с именем пакет-версия, которая будет создана в текущей папке.

$ tazpkg extract пакет.tazpkg
$ tazpkg extract пакет.tazpkg папка/назначения

pack

Эта команда создаст пакет из заранее подготовленной папки или из распакованного пакета. Используя эту команду вы можете создать пакет .tazpkg вручную (см. документацию Cookutils по вопросу автоматического создания пакетов).

# tazpkg pack пакет-версия

repack

Эта команда позволяет восстановить пакет из файлов в системе, где он был ранее установлен.

# tazpkg repack пакет

repack-config

Эта команда воссоздает пакет с конфигурационными системными файлами (см. list-config). Для того, чтобы восстановить текущую конфигурацию, потом достаточно будет установить созданный пакет.

# tazpkg repack-config

recompress

Перепаковать CPIO-архив .tazpkg с помощью LZMA. Эта команда нужна только для того, чтобы уменьшить размер имеющихся старых пакетов, созданных для SliTaz 2.0.

# tazpkg recompress пакет.tazpkg

convert

Преобразует пакеты «чужих» дистрибутивов в пакеты SliTaz (.tazpkg).

Поддерживаемые форматы пакетов:

# tazpkg convert файл-чужого-пакета

list-suggested

Список предложенных пакетов для каждого из ваших установленных пакетов. С параметром --all будет отображен полный список предложенных пакетов, а без параметра — только список предложенных пакетов, которые еще не установлены.

$ tazpkg list-suggested
$ tazpkg list-suggested --all
Работа с репозиториями

recharge

Обновление списка пакетов, доступных в репозитории. Эта команда загрузит из репозитория самую последнюю базу данных устанавливаемых пакетов и, прежде чем продолжить, сохранит старую базу. После обновления списка, вы можете использовать команды list и search. Для просмотра списка различий используйте команду list-mirror --diff, а для просмотра и обновления пакетов просто скомандуйте upgrade.

Команда без параметров обновит базы данных всех ваших репозиториев. Вы можете указать, какой репозиторий следует обновить: «main» для главного репозитория или имя неофициального репозитория. Параметр --root= позволяет указать корень файловой системы, где будут обновляться базы данных пакетов.

# tazpkg recharge
# tazpkg recharge main
# tazpkg recharge Мой_неофициальный
# tazpkg recharge --root=/mnt/sda6

upgrade

Команда позволяет обновить все установленные пакеты, доступные в текущем репозитории (upgrade или up). Обновление пакетов — важная составляющая безопасности системы, и вы можете чувствовать себя в безопасности с последними обновлениями и исправлениями. Хотя проект SliTaz и крохотный, но он обеспечивает регулярные обновления по безопасности и как правило, предоставляет последние версии ПО. Обратите внимание, что эта функция предназначена для людей, установивших SliTaz на жесткий диск. Обновленные пакеты в режиме Live CD, будут потеряны при выключении системы.

Вначале база данных пакетов автоматически обновляется (recharge) для того, чтобы предоставить вам актуальный список пакетов, которые вы сможете обновить.

Команда без параметров будет работать в интерактивном режиме и спрашивать перед установкой пакетов. Вы можете указать один из следующих параметров: -c или --check чтобы только проверить обновления; -i или --install чтобы проверить обновления и установить их все.

# tazpkg upgrade
# tazpkg up --check
# tazpkg up -i

setup-mirror

Установка адреса репозитория (setup-mirror или -sm). Эта команда запросит URL нового репозитория. Обратите внимание, что вы также можете изменить основной файл /var/lib/tazpkg/mirror. URL-адрес должен указывать на папку, содержащую пакеты и файл packages.info.

# tazpkg setup-mirror

add-undigest, setup-undigest

Устанавливает адрес дополнительного неофициального репозитория для тестирования пакетов, которые еще не присутствуют в официальных репозиториях. Обратите внимание, вы можете также вручную редактировать файлы в /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

list-undigest

Список дополнительных неофициальных репозиториев. Параметр --box выведет список в форме таблицы.

$ tazpkg list-undigest
$ tazpkg list-undigest --box

remove-undigest

Удаляет адрес неофициального репозитория. Перед удалением вас спросят о подтверждении.

# tazpkg remove-undigest my-repository
Мэйнтейнер

Christophe Lincoln <pankso at slitaz.org>