Один из способов, который работает всегда, не только в Debian, — это самостоятельно скомпилировать необходимое программное обеспечение. (Я делал это в Debian уже много лет, как тогда, когда мне нужна была более новая доступная версия, так и когда программное обеспечение вообще не предоставлялось ).
Я храню локально скомпилированные пакеты в /use/local
с помощью stow
, что позволяет мне хранить все файлы, связанные с пакетом, в дереве подкаталогов, а затем создавать символические ссылки на это дерево. Это упрощает управление скомпилированными пакетами. :Установленные файлы не конфликтуют с файлами, -предоставленными Debian, и я могу удалить пакет одной командой.
Шаги по компиляции и установке пакета, например some_software
, обычно представляют собой вариант следующего:
Загрузите файл .tar
и т. д. в /usr/local/src/
.
Создайте файл /usr/local/packages/some_software
, описывающий, откуда я скачал программное обеспечение, что оно делает, какая у него версия, и содержащий примечания о том, что мне нужно было сделать, чтобы его скомпилировать (см. ниже ).
Распаковать содержимое файла .tar
в /usr/local/tmp/some_software
.
В качестве альтернативы, если компилируется из репозитория,проверьте репозиторий в подходящем подкаталоге (, например. /usr/local/git/some_software
), и скомпилировать там,
cd
в этот каталог, посмотрите README
, INSTALL
и т. д.
В большинстве случаев для configure
пакета имеется сценарий autotools. Вызовите с ./configure --prefix /usr/local/stow/some_software-version
, чтобы файлы были установлены в этом подкаталоге. В противном случае прочитайте Makefile
и выясните, как задать путь для установленных файлов.
Скомпилируйте с помощью make
.
Установить с помощью make install
.
cd /usr/local/stow
, затемstow some_software-version
Проверьте, работает ли это.
Часто компиляция не работает с первой попытки. :Пакету могут потребоваться библиотеки и соответствующие включаемые файлы, поэтому необходимо установить правильные ...-dev
пакеты из Debian. Или gcc
может жаловаться на вещи, на которые не жалуется другая версия gcc
, которую использовал автор используемого пакета. Поэтому иногда приходится читать код и исправлять ошибки, но это случается не слишком часто.
Это может произойти, если вы только что изменили имя хоста в файле /etc/hostname. Это еще не отражено в имени хоста. Вы можете установить имя хоста, перезагрузив компьютер или проще:
hostname ZyXEL1