[112348] При компоновке[12116] вы обычно не компонуете [112839]/usr/local/* [112840] с [112841]/bin[112842], но это скорее историческая практика. В общем, есть несколько "технических" причин, по которым вы не можете делать то, что предлагаете.[12117]Ссылка на исполняемые файлы в [112843]/bin[112844] может вызвать проблемы:[12118]Вероятно, самой большой оговоркой будет, если в вашей системе пакеты управляются каким-либо менеджером пакетов, таким как RPM, dpkg, APT, YUM, pacman, pkg_add и др. В этих случаях вы, как правило, хотите, чтобы менеджер пакетов выполнял свою работу и управлял такими каталогами, как [113308]/sbin[113309], [113310]/bin[113311], [113312]/lib[113313] и [113314]/usr[113315]. Одним из исключений является [113316]/usr/local[113317], который, как правило, является безопасным местом, чтобы делать то, что вы считаете нужным на коробке, не беспокоясь о том, что менеджер пакетов будет вмешиваться в ваши файлы.[12119]Часто в исполняемых файлах, собранных для [113318]/usr/local[113319], этот PATH будет жестко закодирован в их исполняемых файлах. Также могут быть конфигурационные файлы, которые включены в [113320]/usr/local[113321] как часть установки этих приложений. Таким образом, связывание только с исполняемым файлом может привести к проблемам с нахождением этих приложений в файлах [113322].cfg[113323] позже. Вот пример такого случая:[12120]$ строки /usr/local/bin/wit | grep '/usr/local'.
/usr/local/share/wit
/usr/local/share/wit/
[12121]Та же проблема, которая возникает при поиске файлов [113326].cfg[113327], может возникать и с "вспомогательными" исполняемыми файлами, которые необходимо запустить основному приложению. Они также должны быть скомпонованы в [113328]/usr/bin[113329], зная, что это может быть проблематично и проявляться только тогда, когда вы действительно пытаетесь запустить скомпонованное приложение. ПРИМЕЧАНИЕ: [12122]/usr/bin[112852] в общем случае лучше избегать соблазна связываться с одним приложением в [112853]/usr/bin[112854].[12123]/etc/profile. d[12124]/etc/profile.d[112858].[12125] Такой файл, как этот, [112859]/etc/profile, можно легко добавить к каждому [112855]$PATH[112856]. d/maven.sh[112860]:[12126]Обычно вы делаете это как администратор, а не загрязняете этим настройки всех пользователей. [12127]Используя альтернативы[12128]Большинство дистрибутивов теперь предоставляют другой инструмент под названием [112861]альтернативы[112862] (Fedora/CentOS) или [112863]обновления-альтернативы[112864] (Debian/Ubuntu), которые вы также можете использовать для зацикливания на утилитах [112865]$PATH[112866], которые могут находиться за пределами [112867]/bin[112868]. Использование таких инструментов предпочтительнее, так как они больше соответствуют тому, что большинство администраторов считают "стандартной практикой", и поэтому облегчают передачу систем от одного администратора другому.[12129]Этот инструмент делает аналогичную вещь при создании ссылок в [112869]/bin[112870]; но он управляет созданием и уничтожением этих ссылок, так что проще понять предполагаемую настройку системы, когда это делается с помощью инструмента, по сравнению с [112867]/bin[112870]. Это я использую эту систему для управления Java Oracle на ящике:[12131]Вы можете увидеть эффект от этого:[12132]Мои $0.02[12133]Создание ссылок в [112871]/bin[112872], хотя это и правдоподобно, но большинство сисадминов, скорее всего, будут сильно отговаривать вас от этого:[12134]Будет хмуриться, потому что это рассматривается как обычай и может привести к путанице, если другой администратор должен будет поднять коробку [12135]Может привести к выходу системы из строя в будущем в результате этой "хрупкой" настройки. [12136]
27.01.2020, 19:41
Ссылка