«правильный» способ справиться с добавлением пакетов на путь

Интерпретация идентификатора раздела - это функция загрузчика. Linux на самом деле это не волнует, он использует другие методы, чтобы определить, что находится в каждом разделе. Однако другим операционным системам все равно (например, я считаю, что разные версии Windows).

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

1
24.11.2018, 14:00
1 ответ

Одним из довольно распространенных альтернативных подходов к обновлению $PATHявляется создание символических ссылок на двоичные файлы где-то, что уже указано в $PATH, например, в /usr/local/bin.

Вы можете сделать это с помощью:

$ cd /usr/local/bin
$ sudo ln -s../haskell/bin/*.

(Но прежде чем вы это сделаете, обязательно просмотрите список двоичных файлов в /usr/local/haskell/bin/и убедитесь, что создание символических ссылок имеет смысл. Вы также можете решить сделать символическую ссылку только на подмножество файлов.)

Одной из причин, по которой вы не не хотите перемещать сами двоичные файлы, является то, что часто двоичные файлы, которые распространяются в двоичной форме в tar-архивах, написаны таким образом, что они могут работать после распаковки в любом месте системы. Для этого они часто пытаются определить, где они установлены (чаще всего, просматривая /proc/self/exe. )Таким образом, они могут найти родительский каталог /usr/local/haskell, где они ожидают найти другие библиотеки и файлы, которые им нужны. Создание символических ссылок обычно не мешает таким механизмам, поскольку они по-прежнему смогут найти фактические двоичные файлы в /usr/local/haskell/bin, успешно определяя путь установки.

Другая причина не перемещать двоичные файлы заключается в том, что позже, если вы захотите удалить Haskell, вы можете просто удалить весь каталог /usr/local/haskell,вам не нужно помнить , что некоторые из двоичных файлов были перемещены в /usr/local/bin, и, даже если вы это помните, вам не нужно вспоминать, какие из них принадлежат Haskell (, предполагая, что вы использовали этот метод для установки более одного пакета программного обеспечения. )Вы действительно получите некоторые неработающие символические ссылки в /usr/local/bin, если вы удалите Haskell, просто удалив каталог, но они безвредны, и легко указать, какие из них принадлежат Haskell, поскольку все они будут иметь ../haskell/binв своем имени, так что их тоже легко очистить.

2
27.01.2020, 23:31

Теги

Похожие вопросы