Каждый раз, когда я читаю советы по установке SDK, IDE, какого-либо расширения и так далее, в нем говорится, что я должен распаковать их в /opt
папку. Зачем мне это делать?
Когда я устанавливал Ubuntu, я прочитал, что должен установить только 10-20 ГБ для /
файловой системы и оставшееся пространство для /home
. Так я должен расширить пространство для корневой папки, или оставить все вещи в /home
? Есть ли разница?
filesystem
disk-usage
Praytic
источник
источник
Ответы:
Во-первых, следует понимать, что любой каталог, который явно не является точкой монтирования для отдельного раздела (или подкаталог такой точки монтирования), хранится в разделе root (
/
). Таким образом, если у вас есть root (/
)/home
и другие разделы отсутствуют, ваш/opt
каталог - это просто каталог root (/
). Точно так же для/tmp
,/sbin
и всего остального. Таким образом, первоначальный вопрос основан на ложной предпосылке, что вам нужны отдельные разделы для каждого каталога, который ведет от root (/
), и поэтому на него нельзя ответить напрямую.Во-вторых,
/opt
используется для стороннего программного обеспечения, которое в контексте Ubuntu означает предварительно скомпилированное программное обеспечение, которое не распространяется через пакеты Debian. Иногда вы можете увидеть официальную документацию программы, на которую ссылаются/opt
, но доступны пакеты Debian, которые удаляют эти файлы в другом месте. В таких случаях вы должны игнорировать официальную документацию или, по крайней мере, игнорировать ссылки на расположение файлов при использовании пакета Debian. Кроме того, если у вас есть выбор использования предварительно скомпилированного пакета через tarball или пакет Debian, обычно лучше использовать пакет Debian. В общем, использование/opt
довольно редко в наши дни. Если вы все еще думаете, что вам нужно поместить файлы/opt
, вы могли бы назвать название программного обеспечения, так как люди здесь могут знать, доступен ли пакет Debian для этого программного обеспечения.Наконец, объединяя два предыдущих пункта, очень редко для установок Ubuntu делятся
/opt
на отдельный раздел, потому что это редко для хранения значительных объемов данных. Большая часть программного обеспечения Ubuntu используется в/usr
других местах. Когда-то было обычным делить/usr
на отдельный раздел, но сегодня такая практика встречается довольно редко. Если вам действительно нужно установить много программного обеспечения/opt
, то создание отдельного раздела для него можетимеет смысл - но во многих случаях это не очень полезно. Отдельные разделы имеют смысл, если вам нужно по-разному управлять безопасностью, если будут полезны различные функции файловой системы, для обмена данными между несколькими установками ОС в конфигурации с множественной загрузкой и по другим причинам. Обычная установка программного обеспечения вряд ли выиграет от отдельного раздела; на самом деле, создание отдельного раздела для/opt
может вызвать проблемы, если изменится размер, потребляемый хранящимся там программным обеспечением, или если вы изначально неверно оценили размер.источник
Вы?
Дело в том, что вам не нужно это делать. Использование
/opt
это соглашение. Я бы порекомендовал использовать его, но это не является строго необходимым.Из иерархии файловой системы Linux: Глава 1. Иерархия файловой системы Linux :
источник
/opt
часто был отдельный диск. Он будет использоваться для установки проприетарного программного обеспечения, которое часто требует огромного дискового пространства из-за объединения всех необходимых библиотек и других ресурсов. В наше время диски настолько большие, что возможно и проще просто использовать один корень на одном диске./opt
используется для (иногда проприетарных) внешних приложений, которые не считаются частью дистрибутива Linux. Эти приложения могут иметь жестко запрограммированные пути и поэтому будут корректно работать только при установке в/opt
- но если нет жестко запрограммированных путей, вы можете установить их по любому пути. Программа, которая установлена в/opt
, должна быть автономной.Основной причиной использования
/opt
является предоставление общего стандартного пути, где внешнее программное обеспечение может быть установлено, не мешая остальной части установленной системы./opt
не отображается в стандартных путях компилятора или компоновщика (gcc -print-search-dirs
и/etc/ld.so.conf
т. д.), поэтому установленные там заголовки и библиотеки несколько изолированы от основной системы и не должны мешать уже установленным программам.Использование
/opt
определяется стандартом иерархии файловых систем : / opt , который отмечает, что/opt
изначально пришел из Unix.источник
В этом нет ничего святого
/opt
, это просто обычная практика - размещать предварительно скомпилированное программное обеспечение, которое должно быть доступно всем пользователям системы в этом каталоге. Если вы являетесь единственным пользователем системы, нет ничего плохого в том, чтобы распаковать ее в вашем домашнем каталоге. И даже если в системе есть несколько пользователей, которым нужен доступ к этому программному обеспечению, но вы хотите использовать пространство в своем/home
разделе, нет ничего плохого в создании общедоступного/home/softwarename
каталога и извлечении вашего программного обеспечения там (единственное предостережение, если вы случитесь если имя пользователяsoftwarename
будет указано, вы не сможете использовать его в домашнем каталоге пользователя).источник
Подробные ответы очень хороши, но (кроме программного обеспечения, в котором могут быть жестко запрограммированные абсолютные пути - не лучшая практика программирования), главное, что несистемное / нераспространяемое программное обеспечение не должно храниться вместе с обычные системные файлы.
Помещать вещи
/opt
или/usr/local
держать вещи в чистоте и безопасности.В частности, ваш путь поиска программного обеспечения ($ PATH) определяет порядок поиска местоположений при поиске программы с конкретным именем для выполнения. Обычно такие места как
/opt
и/usr/local
находятся в конце списка.Если вы устанавливаете пакет, в котором есть программа, названная
cp
в нем, порядок поиска по умолчанию, поставляемый с вашим дистрибутивом, найдет нормальный, потому что каталог, в котором он хранится, ищется до таких мест, как/opt
.Если это не сработало, кто знает, что может сломать или открыть дыру в безопасности, если программа с именем,
cp
которая делает что-то еще, запускается, когда вы думаете, что просто пытаетесь скопировать некоторые файлы.Если что-то подобное происходит, может пройти некоторое время, прежде чем кто-то решит выполнить такую команду
type cp
(которой может даже не хватить, чтобы показать, что что-то не так), чтобы выяснить, что то, что выполняется, не то, что вы думаете. До этого момента вы застряли на «Все именно так, как и должно быть, кроме мелких деталей, что это не работает!»Это в основном помогает предотвратить непредвиденные события, а также позволяет избежать ситуаций, когда системные обновления могут удалять или заменять некоторые или все ваши «пользовательские» установленные пакеты. Или, наоборот, некоторые «пользовательские» программы могут перезаписывать системные программы, на которые могут положиться многие другие программы или сценарии.
С административной точки зрения, смешивание «системных» и «необязательных» программ / файлов в одних и тех же местах переводит вашу систему в «неопределенное» или, по крайней мере, «неоднозначное» состояние.
Если у вас есть проблема с вашей системой или программой и вам нужна помощь, один из первых вопросов, который задают: «Что вы изменили?» и «Можем ли мы временно отключить некоторые из этих изменений, чтобы мы знали, что смотрим на реальную проблему, а не просто на симптом чего-то другого».
В отдельных местах эти изменения можно быстро идентифицировать, и все, что вам нужно сделать (по крайней мере, для самих программ), это временно удалить их каталоги из пути.
источник