Команда System V "pg"

Я старый парень с System V, и я, наконец, добрался до установки Linux, используя, конечно же, Ubuntu. Одна из первых вещей, которые я заметил, отсутствовала — это команда «pg». Интернет сообщает мне, что он доступен как часть пакета «util-linux». Ubuntu, который я загрузил, установив флажки «установить все», сообщает мне, что util-linux установлен, но «pg» и другие команды сценариев просто отсутствуют. Можно ли это исправить?

1 ответ

Глядя на журнал изменений пакета ( apt-get changelog util-linux) вы увидите, что это устарело и удалено:

       util-linux (2.29.2-2) unstable; urgency=medium

  "The big post-release cleanup."

  [ Andreas Henriksson ]
  * Add DEP12 upstream metadata (Closes: #852731)
  * Revert "Add configure flag to make libmount skip /etc/mtab"
  * Drop explicit --disable-silent-rules configure flag
  * Stop shipping the deprecated 'pg' utility
  * Revert "Explicitly (re)enable deprecated pg utility"
  * Stop shipping deprecated 'tunelp' utility
  * Stop shipping the deprecated 'line' utility
  * Drop explicitly passing CC for cross-building
  * Use configure flags to disable utils shipped by bsdmainutils
  * Revert "Attempt to work around debootstrap problems for hwclock.sh"
  * Drop no longer needed lintian overrides for dropped workaround
  * Drop obsolete fdisk reclaim on PPC
  * Revert "Rename libuuid user to uuidd in libuuidd1 postinst as well"
  * Revert "libuuid1: add passwd dependency for user migration"
  * Drop obsolete uuid-runtime user/group migration code
  * Remove 'pg' from being a pager alternative
  * Stop shipping deprecated tailf utility
  * Mention tailf removal in util-linux.NEWS</code></pre>

Однако исходный код по-прежнему присутствует в исходном пакете, поэтому при желании вы можете собрать и установить его вручную. Вам понадобится подходящая среда сборки, такая как предоставленная при установке build-essentialpackage, а также соответствующие зависимости, предоставленные

      sudo apt-get build-dep util-linux

Во-первых, убедитесь, что у вас есть deb-srcтип включен для вашего mainрепозиторий. Затем вы можете загрузить исходный код и исправить его в каталоге по вашему выбору (в отличие от большинства aptоперации, для этого не нужны повышенные привилегии):

      apt-get source util-linux

Перейдите в загруженный каталог, а затем настройте сборку, чтобы включить:

      ./configure --enable-pg

Если он завершится успешно,

      make pg

Проверьте его из текущего каталога, используя ./pg READMEили т.п.

Теперь вместо обычного «sudo make install» (который попытается собрать все утилиты) просто скопируйте двоичный файл в подходящее место, например или /usr/local/bin

      mkdir -p ~/bin && cp pg ~/bin/

Если вы выбрали и ранее не имели ~/binкаталог, то он не будет добавлен в ваш PATHпока вы не запустите новую оболочку входа или источник ~/.profile:

      . ~/.profile

так что вы можете выполнить pgоткуда угодно.

В качестве альтернативы вы можете собрать ВЕСЬ пакет с помощью --enable-pg, затем используйте checkinstallустановить его вместо предоставленного пакета Ubuntu, однако в этом случае вы будете нести ответственность за его обновление.

Другие вопросы по тегам