[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

slackpkg

Slackpkg - автоматическая утилита для управления локальными пакетами и установки новых пакетов через сеть. Сейчас slackpkg идет в составе Slackware, но если его у вас нет, последнюю версию можно скачать с SourceForge и установить с помощью installpkg.

Настройка

Прежде чем начать использовать slackpkg, ему нужен актуальный список пакетов и их версий, который может быть скачан автоматически самой утилитой после выбора зеркала. Для выбора зеркала раскомментируйте одну ссылку в файле /etc/slackpkg/mirrors. Обратите внимание, что ссылки отсортированы по релизам Slackware, чтобы удостовериться, что выбранная ссылка соответствует релизу, который вам нужен.

После этого выполните:

darkstar~# slackpkg update gpg

Следующий шаг - обновление списка пакетов:

darkstar~# slackpkg update

Если в списке не было изменений после последнего обновления, программа выведет на экран:

No changes in ChangeLog.txt between your last update and now.
Do you really want to download all other files (y/N)?

В противном случае slackpkg скачает и установит актуальную информацию о пакетах и будет использовать полученный список.

Черный список

Slackpkg также учитывает выражения из /etc/slackpkg/blacklist. Например, следующие выражения указывают slackpkg игнорировать пакеты, установленные из SBo и репозитория alienBob'а:

[0-9]+_SBo
[0-9]+alien

Использование

Для поиска, установки и удаления пакетов slackpkg использует выражения. По указанному выражению будет произведет поиск в списке пакетов, и будут показаны все пакеты, соответствующие ему.

Поиск пакета отобразит информацию о полном имени пакета, его версии и статусе установки.

darkstar~# slackpkg search mc

Looking for mc in package list. Please wait... DONE

The list below shows all packages with name matching "mc".

[ installed ] - mcelog-1.0pre3-i486-1
[uninstalled] - pcmciautils-017-i486-1
[ installed ] - mc-4.8.1.3-i486-1
[ installed ] - libmcrypt-2.5.8-i486-1

Для поиска конкретного файла и последующей установки/удаления пакета с этим файлом:

darkstar~# slackpkg file-search sshd

Looking for sshd in package list. Please wait... DONE

The list below shows the packages that contains "sshd" file.

[ installed ] - openssh-6.0p1-i486-2

info

Для получения информации о пакете slackpkg info имяпакета отобразит имеющуюся информацию.

install

Для установки пакета используйте slackpkg install выражение. Если пакет был найдет, в диалоговом окне появятся все пакеты, соответствующие выражению, и пользователь сможет выбрать, какие пакеты установить.

Для установки всех пакетов в ветке можно набрать: slackpkg install ветка, например, slackpkg install kde установит все из kde (но ничего из kdei).

remove

Для удаления пакета используйте slackpkg remove выражение. Если пакет был найден, в диалоговом окне появятся все пакеты, соответствующие выражению, и пользователь сможет выбрать, какие пакеты удалить.

upgrade

Если для какого-то пакета доступно обновление, его можно установить с помощью slackpkg upgrade имяпакета.

reinstall

Эта команда может быть использована в случае, если пакет оказался неработоспособен и требует переустановки: slackpkg reinstall имяпакета.

blacklist

Для добавления какого-либо пакета в черный список можно использовать команду slackpkg blacklist выражение. Пакеты из черного списка игнорируются slackpkg.

generate-template

Если вам потребуется переустановить всю систему, либо установить на новый компьютер тот же набор пакетов, вы можете сгенерировать шаблон для последующей установки: slackpkg generate-template имяшаблона. Файл имяшаблона.template будет помещен в директорию /etc/slackpkg/templates.

install-template

Эта команда используется для установки на данном компьютере всех пакетов из шаблона: slackpkg install-template имяшаблона. Файл имяшаблона.template должен присутствовать в директории /etc/slackpkg/templates.

install-new

Запуск slackpkg с этим аргументом генерирует список пакетов, представленных в Slackware недавно, например, новые зависимости на обновленных пакетов. Рекомендуется использовать эту команду перед обновлением системы, если вы синхронизируетесь со slackware-current: slackpkg install-new.

upgrade-all

Запуск slackpkg с этим аргументом: slackpkg upgrade-all сгенерирует список всех пакетов, которые можно обновить до новой версии. Пользователь может выбрать, какие пакеты обновить, в представленном диалоговом окне.

clean-system

Запуск slackpkg с этим аргументом: slackpkg clean-system сгенерирует список всех пакетов, которые устарели и могут быть безопасно удалены из системы. Обратите внимание, что неофициальные пакеты также будут представлены в списке, если они не внесены в черный список.

new-config

Во время установки может быть установлен новый файл конфигурации, который перезапишет ваши настройки. Чтобы этого избежать, такой файл получит суффикс «.new» и после установки slackpkg информирует пользователя о присутствии этих файлов. Запуск slackpkg с этим аргументом: slackpkg new-config произведет поиск таких файлов и спросит пользователя, что с ними делать.

check-updates

Запуск slackpkg с этим аргументом выведет на экран удобочитаемую информацию о доступности обновлений: slackpkg check-updates.

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

Для произведения полного обновления системы выполните эти шаги (как root):

slackpkg update
slackpkg install-new
slackpkg upgrade-all
slackpkg clean-system

Всегда рекомендуется читать последние изменения и UPGRADING.TXT (находятся на HTTP/FTP зеркалах для каждой версии) прежде чем производить масштабные обновления системы.

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

Внешние ссылки

 ru:slackware:slackpkg ()
Этот перевод старее, чем оригинальная страница, и может быть неактуальным. Смотрите, что было изменено.
Перевод этой страницы?: