Поиск по сайту:

Проверьте доступность пакета в репозиториях Debian и Ubuntu

Проверьте, доступен ли пакет в репозиториях Debian или Ubuntu.

На днях один из посетителей нашего блога оставил комментарий к посту, отметив, что «libpam-cracklib» больше не доступен в Debian 12, и вместо этого: libpam-pwquality' занял его место.

Я хотел убедиться в этом, поэтому решил проверить его доступность, посетив ссылку packages.debian.org. Как и ожидалось, было подтверждено, что «libpam-cracklib» не существует в официальных репозиториях Debian версии 12.

Чтобы помочь другим пользователям, столкнувшимся с подобной ситуацией, я написал этот пост в блоге, чтобы объяснить, как проверить доступность пакетов в операционных системах Debian и Ubuntu как локально, так и онлайн.

В конце я также предоставил удобный сценарий Bash, чтобы еще больше упростить эту задачу. Читай дальше.

Проверьте доступность пакета в репозиториях Debian и Ubuntu из командной строки

Чтобы проверить, доступен ли пакет в репозиториях Debian или Ubuntu, вы можете использовать команду apt search, как показано ниже:

apt search libpam-cracklib

Эта команда ищет в доступных репозиториях пакеты, соответствующие заданному поисковому запросу, в данном случае «libpam-cracklib».

Если вы не видите никаких результатов, данный пакет недоступен в репозиториях.

Если пакет доступен в репозиториях, вы увидите результат, как показано ниже.

Sorting... Done
Full Text Search... Done
libpam-cracklib/oldstable 1.4.0-9+deb11u1 amd64
  PAM module to enable cracklib support

Команда apt search полезна, если вы хотите узнать, доступен ли в репозиториях пакет с определенным именем.

Вы также можете использовать команду apt-cache show для достижения той же задачи.

Команда apt-cache show отображает подробную информацию о конкретном пакете, который уже установлен или доступен в кэше пакетов (базе данных с информацией о пакетах в вашей системе).

Давайте проверим, доступен ли пакет libpam-cracklib локально или в репозиториях с помощью команды:

apt-cache show libpam-cracklib
N: Unable to locate package libpam-cracklib
E: No packages found

Нет, пакета не было.

Давайте проверим доступность пакета libpam-pwquality.

apt-cache show libpam-pwquality
Package: libpam-pwquality
Source: libpwquality (1.4.5-1)
Version: 1.4.5-1+b1
Installed-Size: 40
Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>
Architecture: amd64
Depends: libc6 (>= 2.4), libpam0g (>= 1.1.1), libpwquality1 (>= 1.1.0), libpam-runtime
Description-en: PAM module to check password strength
 libpwquality's purpose is to provide common functions for password
 quality checking and also scoring them based on their apparent randomness. The
 library also provides a function for generating random passwords with good
 pronounceability.
 .
 This module can be plugged into the password stack of a given service to
 provide some plug-in strength-checking for passwords. The code was originaly
 based on pam_cracklib module and the module is backwards compatible with its
 options.
Description-md5: a0adf9a37eba9a9b210c968269f49c5e
Multi-Arch: same
Homepage: https://github.com/libpwquality/libpwquality
Section: admin
Priority: optional
Filename: pool/main/libp/libpwquality/libpam-pwquality_1.4.5-1+b1_amd64.deb
Size: 12900
MD5sum: c505c02a13416c8603ca3b87c44a68dc
SHA256: 1af9459d90da346d40b030cf773c17c4fd7bd3ebe903d2bfaf494e7ec73b875c

Действительно, это доступно!

Как вы видите в выводе, команда apt-cache предоставляет подробную информацию о пакете, включая его версию, описание, зависимости, информацию о сопровождающем и многое другое.

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

Таким образом, apt search используется для поиска и обнаружения пакетов, а apt-cache show используется для получения подробной информации о конкретном пакете.

В зависимости от ваших потребностей вы можете использовать одну или обе эти команды при работе с управлением пакетами в системах Debian и Ubuntu.

Как видно из обоих результатов, нет четкого указания на то, доступен ли предоставленный пакет для конкретной версии, такой как Debian 12.

Например, если вы хотите проверить доступность определенного пакета для Debian 12 из системы Debian 11, вы не можете быть уверены, доступен ли пакет для предполагаемой версии.

Чтобы получить эту информацию, вам необходимо выполнить поиск на официальных веб-сайтах Debian или Ubuntu, как описано в следующем разделе.

Проверьте доступность пакетов в репозиториях Debian и Ubuntu через официальный сайт.

Чтобы проверить, существует ли пакет для определенной версии ОС, вам необходимо обратиться к репозиториям, специфичным для этой версии ОС. И Debian, и Ubuntu предлагают онлайн-инструменты поиска пакетов.

Если вы используете Debian, выполните следующие действия:

1. Посетите ссылку https://packages.debian.org/.

2. Прокрутите немного вниз, и вы увидите раздел "Поиск в каталогах пакетов". Введите имя вашего пакета в поле «Ключевое слово». Выберите нужный выпуск в раскрывающемся меню «Дистрибутив» и нажмите кнопку «Поиск».

Проверьте доступность пакетов в репозиториях Debian через официальный сайт

Обратите внимание, что термин «стабильный» в раскрывающемся списке «Распространение» относится к Debian 12. Как вы уже знаете, Debian 12 — это текущая стабильная версия.

Если вы используете Ubuntu, перейдите по ссылке https://packages.ubuntu.com/ и выполните следующие действия:

1. Введите имя пакета в поле «Ключевое слово».

2. Выберите версию распространения (например, фокусную) и нажмите кнопку «Поиск».

Проверьте доступность пакета в репозиториях Ubuntu через официальный сайт

Этот метод лучше, чем предыдущий метод командной строки, поскольку он позволяет вам искать доступность пакетов в системах на базе Debian из любой системы Linux или Windows, используя только веб-браузер.

Скрипт Bash для проверки доступности пакетов в репозиториях Debian и Ubuntu

Я объединил вышеупомянутые шаги в простой и удобный сценарий Bash, который сообщает вам, доступен ли пакет для версии Debian или Ubuntu. Все, что вам нужно сделать, это просто скачать скрипт, сделать его исполняемым и запустить.

Этот сценарий известен как dpkg-repo-query. Он запрашивает у пользователя имя пакета и дистрибутив/версию. Затем он проверяет официальные репозитории Debian или Ubuntu, чтобы узнать, доступен ли пакет для данной версии/кодового имени. Результат отображается в удобном табличном формате.

Скрипт опубликован на GitHub, и вы можете использовать его в любой системе, поддерживающей Bash.

1. Git клонирует репозиторий с помощью команды:

git clone https://gist.github.com/ostechnix/86362cb9361f7f5ccf7de43a33e915de dpkg-repo-query

Это клонирует сценарий внутри каталога с именем dpkg-repo-query в текущем рабочем каталоге.

2. Перейдите в каталог и сделайте скрипт исполняемым с помощью команд:

cd dpkg-repo-query
chmod +x dpkg-repo-query.sh

3. Запустите скрипт от имени пользователя sudo:

sudo ./dpkg-repo-query.sh

4. Вам будет предложено ввести имя пакета (например, libpam-cracklib).

Enter the package name: libpam-cracklib

5. Затем введите имя дистрибутива. Введите Debian или Ubuntu.

Enter the distribution (debian/ubuntu): debian

6. Введите версию дистрибутива (кодовое имя или номер). Например, введите «книжный червь» для Debian 12 и jammy для Ubuntu 22.04 LTS.

Enter the distribution version (e.g., buster, jammy, 22.04, 11, etc.): bookworm

Вместо кодовых названий вы также можете ввести номера версий. Например, введите 12 для Debian 12 и 22.04 для версий Ubuntu 22.04 LTS. Конечно, вы можете изменить это поведение, отредактировав скрипт.

7. Вот и все. Теперь скрипт будет отображать доступность данного пакета для выбранного дистрибутива в удобном табличном столбце.

+----------------+----------------+----------------+----------------+
| Package Name   | Distribution   | Version        | Status         |
+----------------+----------------+----------------+----------------+
| libpam-cracklib | debian         | bookworm       | Not Available  |
+----------------+----------------+----------------+----------------+

Скрипт Bash для проверки доступности пакетов в репозиториях Debian и Ubuntu

Вы можете проверить скрипт в нашем официальном репозитории GitHub, указанном ниже.

  • dpkg-repo-query.sh

Не стесняйтесь адаптировать и улучшать этот сценарий в соответствии с вашими требованиями. Любые улучшения этого сценария будут очень признательны.

Заключение

В этом руководстве мы обсудили, как проверить, доступен ли пакет в репозиториях Debian или Ubuntu как из командной строки, так и через Интернет.

Мы также предоставляем простой сценарий Bash для проверки доступности пакета для систем на базе Debian. Надеюсь, это было полезно.

Связанное чтение:

  • Как узнать, установлен ли пакет в Linux и Unix
  • Как составить список установленных пакетов в Linux

Статьи по данной тематике