Za każdym razem, gdy czytam wskazówki dotyczące instalowania SDK, IDE, jakiegoś rozszerzenia i tak dalej, mówi, że powinienem rozpakować je w /opt
folderze. Dlaczego muszę to zrobić?
Kiedy instalowałem Ubuntu, przeczytałem, że powinienem ustawić tylko 10-20 GiB dla /
systemu plików i pozostałe miejsce na /home
. Czy powinienem więc rozszerzyć przestrzeń na folder główny, czy zostawić wszystkie rzeczy w /home
? Czy jest jakaś różnica?
filesystem
disk-usage
Pratic
źródło
źródło
Odpowiedzi:
Po pierwsze, zrozum, że każdy katalog, który nie jest jawnie punktem podłączenia dla oddzielnej partycji (lub podkatalogem takiego punktu podłączenia) jest przechowywany na
/
partycji root ( ). Zatem jeśli masz root (/
) i/home
nie ma innych partycji, twój/opt
katalog jest po prostu katalogiem root (/
). Podobnie jest w przypadku/tmp
,/sbin
i cokolwiek innego. Zatem początkowe pytanie opiera się na fałszywym założeniu, że potrzebujesz osobnych partycji dla każdego katalogu, który prowadzi z root (/
), więc nie można na nie odpowiedzieć bezpośrednio.Po drugie,
/opt
jest używany do oprogramowania innych firm, co w kontekście Ubuntu oznacza wstępnie skompilowane oprogramowanie, które nie jest dystrybuowane za pośrednictwem pakietów Debiana. Czasami zobaczysz oficjalną dokumentację programu, do której się odwołuje/opt
, ale dostępne są pakiety Debiana, które upuszczają te pliki w innym miejscu. W takich przypadkach powinieneś zignorować oficjalną dokumentację lub przynajmniej zignorować odniesienia do jej lokalizacji podczas korzystania z pakietu Debian. Ponadto, jeśli masz wybór użycia wstępnie skompilowanego pakietu za pomocą tarballa lub pakietu Debian, zazwyczaj najlepiej jest użyć pakietu Debian. Podsumowując, używanie/opt
jest obecnie dość rzadkie. Jeśli nadal uważasz, że musisz wstawić pliki/opt
, dobrze jest nazwać oprogramowanie, ponieważ ludzie tutaj mogą wiedzieć, czy pakiet Debiana jest dostępny dla tego oprogramowania.Wreszcie, łącząc dwa poprzednie punkty, bardzo rzadko instalacje Ubuntu dzielą
/opt
się na osobną partycję, ponieważ rzadko jest tam przechowywana znaczna ilość danych. Większość oprogramowania Ubuntu trafia do/usr
innych lokalizacji. Kiedyś dzielono/usr
go na osobną partycję, ale dzisiaj taka praktyka jest dość rzadka. Jeśli tak się stało konieczne jest zainstalowanie oprogramowania w wiele/opt
, a następnie tworząc osobną partycję dla niego możema sens - ale w wielu przypadkach tak naprawdę nie będzie to pomocne. Oddzielne partycje mają sens, jeśli trzeba inaczej obchodzić się z bezpieczeństwem, jeśli pomocne będą różne funkcje systemu plików, w celu udostępniania danych w wielu instalacjach systemu operacyjnego w konfiguracji uruchamiania wielu systemów operacyjnych i z innych powodów. Rutynowa instalacja oprogramowania prawdopodobnie nie skorzysta z oddzielnej partycji; w rzeczywistości utworzenie oddzielnej partycji/opt
może powodować problemy, jeśli rozmiar zużywany przez przechowywane w niej oprogramowanie zmieni się lub jeśli początkowo źle oszacujesz rozmiar.źródło
Czy ty?
Faktem jest, że nie musisz tego robić. Używanie
/opt
jest konwencją. Poleciłbym go używać, ale nie jest to absolutnie konieczne.Z hierarchii systemu plików Linux: Rozdział 1. Hierarchia systemu plików Linux :
źródło
/opt
często był to osobny dysk. Zostałby wykorzystany do zainstalowania zastrzeżonego oprogramowania, które często wymagało ogromnej ilości miejsca na dysku z powodu łączenia wszystkich wymaganych bibliotek i innych zasobów. W dzisiejszych czasach dyski są tak duże, że wykonalne i łatwiej jest po prostu użyć jednego katalogu głównego na jednym dysku./opt
jest używany do (czasem zastrzeżonych) aplikacji zewnętrznych, które nie są uważane za część dystrybucji Linuksa. Aplikacje te mogą mieć zakodowane ścieżki, więc będą działały poprawnie tylko po zainstalowaniu/opt
- ale jeśli nie ma zakodowanych ścieżek, możesz je zainstalować na dowolnej ścieżce. Zainstalowany program/opt
powinien być samodzielny.Głównym powodem użycia
/opt
jest zapewnienie wspólnej standardowej ścieżki, w której można zainstalować oprogramowanie zewnętrzne bez ingerencji w resztę zainstalowanego systemu./opt
nie pojawia się w standardowych ścieżkach kompilatora lub łącznikiem (gcc -print-search-dirs
lub/etc/ld.so.conf
itp), więc nagłówki i biblioteki zainstalowane tam są nieco odizolowana od głównego systemu i nie powinny kolidować z już zainstalowanych programów.Użycie
/opt
jest określone przez Fileystem Hierarchy Standard : / opt , który zauważa, że/opt
oryginalnie pochodzi z Uniksa.źródło
Nie ma w tym nic świętego
/opt
, powszechną praktyką jest umieszczanie wstępnie skompilowanego oprogramowania, które powinno być dostępne dla wszystkich użytkowników systemu w tym katalogu. Jeśli jesteś jedynym użytkownikiem systemu, nie ma nic złego w wyodrębnieniu go z katalogu domowego. I nawet jeśli w systemie jest kilku użytkowników, którzy potrzebują dostępu do tego oprogramowania, ale chcesz wykorzystać miejsce na/home
partycji, nie ma nic złego w tworzeniu publicznie dostępnego/home/softwarename
katalogu i rozpakowywaniu tam swojego oprogramowania (jedynym zastrzeżeniem jest to, że się zdarzysz aby mieć nazwę użytkownikasoftwarename
, nie będzie można jej używać w katalogu osobistym użytkownika).źródło
Szczegółowe odpowiedzi są bardzo dobre, ale (oprócz oprogramowania, które może zawierać w sobie twarde ścieżki bezwzględne - nie jest to najlepsza praktyka programowania), najważniejsze jest to, że oprogramowanie niesystemowe / nie-dystrybucyjne nie powinno być przechowywane w połączeniu z zwykłe pliki systemowe.
Wkładanie
/opt
lub/usr/local
utrzymywanie rzeczy w czystości i bezpieczeństwo.W szczególności ścieżka wyszukiwania oprogramowania ($ PATH) określa kolejność wyszukiwania lokalizacji podczas szukania programu o określonej nazwie do wykonania. Zazwyczaj miejsca takie jak
/opt
i/usr/local
znajdują się na końcu listy.Jeśli zainstalujesz pakiet z programem o nazwie
cp
, domyślna kolejność wyszukiwania dostarczona z dystrybucją znajdzie normalną, ponieważ katalog, w którym jest przechowywany, jest przeszukiwany przed takimi miejscami/opt
.Jeśli to nie zadziała w ten sposób, kto wie, co może złamać lub otworzyć lukę w zabezpieczeniach, jeśli program o nazwie,
cp
który robi coś innego, zostanie uruchomiony, gdy myślisz, że próbujesz po prostu skopiować niektóre pliki.Jeśli coś takiego się wydarzy, może minąć trochę czasu, zanim ktoś pomyśli o uruchomieniu polecenia typu
type cp
(co może nawet nie wystarczyć, aby pokazać, że coś jest nie tak), aby dowiedzieć się, że to, co jest uruchamiane, nie jest tym, co myślisz. Do tego momentu utknąłeś w „Wszystko jest dokładnie tak, jak powinno być, pomijając drobny szczegół, że to nie działa!”Zasadniczo pomaga w zapobieganiu nieoczekiwanym zdarzeniom, a także pozwala uniknąć sytuacji, w których aktualizacje systemu mogą usunąć lub zastąpić niektóre lub wszystkie „niestandardowe” zainstalowane pakiety. Z drugiej strony niektóre „niestandardowe” programy mogą nadpisywać programy dostarczane przez system, na których może polegać wiele innych programów lub skryptów.
Z administracyjnego punktu widzenia mieszanie programów / plików „systemowych” i „opcjonalnych” w tych samych lokalizacjach powoduje, że system znajduje się w „niezdefiniowanym” lub przynajmniej „dwuznacznym” stanie.
Jeśli masz problem z systemem lub programem i potrzebujesz pomocy, jednym z pierwszych pytań jest „Co zmieniłeś?” i „Czy możemy tymczasowo wyłączyć niektóre z tych zmian, abyśmy wiedzieli, że przyglądamy się prawdziwemu problemowi, a nie tylko objawowi czegoś innego”.
Dzięki osobnym lokalizacjom zmiany te można szybko zidentyfikować, a wszystko, co musisz zrobić (przynajmniej dla samych programów), to tymczasowo usunąć ich katalogi ze ścieżki.
źródło