Использование / opt и / usr / локальных каталогов в контексте ПК

55

В чем разница между папками /opt и /usr/local и какие программы должны быть установлены для них?

Я ссылался на иерархию файловой системы Linux , но объяснение не так уж и ясное. Согласно приведенной выше ссылке;

/opt : - Этот каталог зарезервирован для всего программного обеспечения и дополнительных пакетов, которые не являются частью стандартной установки

/usr/local : - Иерархия /usr/local предназначена для использования системным администратором при локальном установлении программного обеспечения. При обновлении системного программного обеспечения он должен быть безопасным после перезаписывания.

В контексте ПК без каких-либо сетевых компьютеров какой должен быть каталог для установки программного обеспечения, к которому будут обращаться несколько локальных пользователей? (то есть, где я должен установить программное обеспечение, такое как netbeans)

Спасибо

    
задан Niroshan 13.04.2011 в 16:42
источник

3 ответа

56

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

Пример:

SIP-клиент с открытым исходным кодом, поставляемый как .deb, будет установлен в /usr . Если он был построен с помощью Qt-структуры, apt будет тянуть его как зависимость.

Тот же самый открытый sip-клиент с открытым исходным кодом, построенный из источника, будет находиться в /usr/local , поэтому он не будет испорчен apt, если вы позже установили пакет .deb для того же приложения. Вы можете либо построить свои зависимости от источника, либо получить их из диспетчера пакетов.

Стороннее приложение в /opt должно быть самодостаточным. Например, проприетарный sip-клиент, использующий Qt, не будет полагаться на версию с apt, но будет связан с ней или статически связан.

Для получения дополнительной информации см. Стандарт иерархии файловой системы .

    
ответ дан Egil 13.04.2011 в 21:00
источник
11

Я установил сторонние двоичные пакеты только для /opt .

Все, что вы создаете из источника, я бы поставил в /usr/local .

netbeans находится в Ubuntu Repos. Вам нужна конкретная версия?

    
ответ дан Broam 13.04.2011 в 18:15
7

Все дело в упаковке. Если что-то упаковано в LHS-способе (помещение исполняемых файлов в bin / libraries в lib / и т. Д.), Оно должно войти в / usr / local.

Если что-то имеет каталог верхнего уровня и не следует этой модели, оно входит в / opt. Как правило, вам нужно явно добавлять вещи в / opt для вашего PATH.

См. также Этот вопрос о суперпользователе

    
ответ дан TREE 13.04.2011 в 22:23