Как установить пакет в OpenBSD?

Вопрос или проблема

Я установил OpenBSD и затем приступил к загрузке Firefox, используя переменную среды PKG_PATH.
Это сработало и, казалось, работало довольно хорошо, но затем, захотев попробовать другой браузер, я удалил Firefox с помощью pkg_delete (что, конечно, не было необходимо).

Теперь я не могу загрузить ни один браузер, так как по какой-то причине система теперь не распознает ни один FTP-сервер, к которому я пытаюсь подключиться. Каждый раз, когда я пытаюсь использовать ‘export PKG_PATH’, я получаю сообщение ‘no such directory’.

Есть ли какие-то подсказки, что произошло и что я могу сделать?

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

В противном случае выполните эту команду от имени root:

echo 'https://cdn.openbsd.org/pub/OpenBSD' > /etc/installurl

Если вы используете -stable, pkg_add загрузит пакеты оттуда.

Если вы используете -current и pkg_add не может найти пакеты, используйте pkg_add -Dsnap. Например: pkg_add -Dsnap -Vi chromium firefox.

Вы столкнулись с чем-то, что происходит перед каждым выпуском OpenBSD. OpenBSD разрабатывается на “одной дорожке”: дерево исходного кода помечается как 6.4, выпускается релиз, разработки продолжаются около 6 месяцев и предоставляются в виде снапшотов, пока разработчики не находят, что изменения стабильны для выпуска нового релиза, в этот момент дерево помечается как 6.5 и так далее.

Это означает, что в течение короткого времени (т.е. несколько дней до нового релиза) ядро помечается как “6.5” вместо “snapshot”. Когда вы используете pkg_add, оно будет искать пакеты для ядра, которое у вас работает, будет искать пакеты “6.5”, которые будут доступны только позже, отсюда и сообщение no such directory. Как ответил Руфо, добавление -D snap к pkg_add решит (временную) проблему, сказав pkg_add искать “snapshot” пакеты, даже с “release” ядром. Из man pkg_add:

snap
  Force ‘%c’ and ‘%m’ to expand to ‘snapshots’, even on a release kernel

Это, конечно, не идеально, но было проверено временем и лучше всего работает для разработчиков OpenBSD (см. презентацию по ссылке выше, чтобы узнать больше о релизной инженерии OpenBSD). Добавление -D snap за несколько дней до релизов, раз в два месяца, – это малая плата за использование снапшотов.

Установка приложений с помощью pkg пакетов или портов системы в OpenBSD одинакова. Вы выбираете один. Но между двумя, pkg пакеты очень просты в использовании.

В качестве справки вы можете прочесть статью, которая обсуждает оба процесса

Ответ или решение

Установка пакетов в операционной системе OpenBSD — это задача, которая может показаться сложной для новичков, особенно если возникают проблемы с сетевыми подключениями. Ваша ситуация — не редкость среди пользователей OpenBSD, поэтому рассмотрим все аспекты, связанные с этой процедурой и её потенциальными проблемами.

Теория: основы установки пакетов в OpenBSD

OpenBSD предоставляет два основных способа установки программного обеспечения: через бинарные пакеты (pkg) и через систему портов (ports). Наиболее удобным и простым способом является использование бинарных пакетов. OpenBSD предусматривает использование инструмента pkg_add для загрузки и установки пакетов из репозиториев.

Обычно установка пакетов будет работать без необходимости прямого указания пути к репозиторию, поскольку система определяет его автоматически, используя файл /etc/installurl. Этот файл содержит URL репозитория, с которого система будет загружать пакеты.

Пример: устранение и диагностика проблем

В вашем сценарии используются переменные окружения, что в наше время не является необходимым для OpenBSD. Установив правильный адрес репозитория в файле /etc/installurl, вы сможете избежать ошибок, связанных с определением путей. Чтобы устранить ваши текущие проблемы, следуйте следующим шагам:

  1. Проверьте файл installurl: Убедитесь, что у вас корректно указан URL-адрес репозитория. В большинстве случаев адрес будет таким: https://cdn.openbsd.org/pub/OpenBSD/. Чтобы задать его, выполните команду:

    echo 'https://cdn.openbsd.org/pub/OpenBSD' > /etc/installurl
  2. Понимание -stable и -current версий: Обратите внимание, что OpenBSD выпускается в двух ветках: -stable — для тех, кто предпочитает стабильность, и -current, которая предоставляет самые последние обновления и может своевременно содержать нестабильные изменения. Если вы используете версию -current, то в моменты, когда система переходит к новой версии, могут возникнуть временные проблемы с пакетом, такие как "no such directory".

  3. Использование флага -D snap в pkg_add: Если вы используете версию -current, вам может понадобиться флаг -D snap, чтобы указать системе, что нужно искать пакеты в каталоге snapshot, даже если у вас последняя версия ядра. Это делается следующей командой:

    pkg_add -Dsnap <имя_пакета>

Эта команда заставляет pkg_add искать пакеты в snapshots, что особенно актуально в преддверии новых релизов OpenBSD, когда серверы могут быть еще не полностью обновлены для последнего релиза.

Применение: как это реально работает

Начав с теории и приведенных выше примеров, вы сможете настроить вашу систему OpenBSD для корректной установки пакетов. Однако не стоит забывать определенные моменты:

  • Интернет-соединение: Убедитесь, что ваше сетевое подключение активно и вы можете доступать до внешних зеркал. Используйте ping или traceroute для диагностики проблем с сетевыми соединениями.

  • Обновление системы: Регулярно обновляйте систему. Это поможет устранить многие проблемы с зависимостями и совместимостью пакетов.

  • Чтение документации: Каждый раз, когда встречаете проблемную ситуацию, помните, что подробная документация для OpenBSD доступна как онлайн, так и через встроенные инструменты (например, man pages).

Следуя этим рекомендациям, вы сможете эффективно устанавливать и обновлять программы на OpenBSD, избегая часто встречающихся ошибок. Учет поведения системы в различных ветках и умение применять концепции на практике гарантирует, что у вас будет стабильная и функциональная операционная система.

Если у вас возникли дополнительные вопросы или нужна дальнейшая помощь, рекомендую обратиться к более специфическим ресурсам или сообществам разработчиков OpenBSD, где всегда можно найти поддержку и актуальные рекомендации.

Оцените материал
Добавить комментарий

Капча загружается...