Saya mengerti bahwa di Windows serta Linux dan Unix, program | aplikasi | perangkat lunak dapat diinstal di direktori mana pun. Juga jika paket diinstal menggunakan sistem pengemasan distribusi, itu akan menempatkan file di lokasi yang benar.
Tetapi kadang-kadang, instalasi perangkat lunak meminta jalur untuk menempatkan file. Dalam hal distro Linux, di mana tempat default ini ( C:\Program Files
atau yang C:\progra~1
setara)? Apakah berbeda untuk berbagai distribusi? Jika ya, untuk apa ini RHEL
, Suse
dan Ubuntu
?
Tidak ada padanan langsung. Struktur direktori sangat berbeda. Di bawah Windows, Anda memiliki direktori tunggal untuk setiap paket / perangkat lunak yang diinstal yang berisi semua file yang berkaitan dengan (misalnya
C:\Program Files\MyProgram
). Di Linux, setiap perangkat lunak "tersebar" di banyak direktori sesuai dengan jenis file dan beberapa aturan lainnya.Sebagai contoh, kita dapat memeriksa di mana file yang berbeda terkait dengan
xscreensaver
program diinstal:Jangan khawatir, biasanya ketika installer suatu bertanya di mana untuk menginstal ke, jawaban yang benar adalah salah satu dari berikut:
/
,/opt
,/usr
,/usr/local
Seperti yang Anda lihat, cukup semua (1) file
xscreensaver
diinstal/usr
menurut beberapa aturan sederhana: executable in/usr/bin
, halaman manual/usr/share/man
, dokumentasi/usr/share/doc/packages/PROGRAMNAME
dan sebagainya.Ketika seorang pemasang meminta instalasi
prefix
, biasanya ia ingin sekarang jalur dasar di mana menginstal program. Dalamxscreensaver
contoh saya , itu/usr
.Sebagai aturan sederhana:
/
harus berisi hanya program yang diperlukan untuk mem-boot sistem (asC:\windows\system32
),/usr/local
harus berisi program yang hanya diperlukan pada komputer unik itu,/opt
(2) semua program opsional yang memiliki struktur direktori non standar dan/usr
semua perangkat lunak standar .Bagaimanapun, ada standar yang mendefinisikan semua aturan ini secara rinci: Filesystem Hierarchy Standard
(1) file konfigurasi sistem harus berada di
/etc
(2) cukup usang di Linux
sumber
/opt
lebih disukai untuk perangkat lunak pihak ketiga selama/usr/local
beberapa waktu./usr/share
disebut "bagikan" karena dibagi antara arsitektur yang berbeda (dokumentasi, skrip, gambar), sedangkan/usr/lib*
untuk file yang bergantung pada arsitektur (dan bukan yang dapat dieksekusi, ke mana/usr/bin
).Ususually,
/bin
,/usr/bin
,/usr/local/bin
, atau/opt/bin
. Saya pikir/usr/bin
dan/opt/bin
yang paling dekat dengan Program Files, karena biasanya mereka untuk binary non-sistem kritis yang diinstal oleh administrator sistem, meskipun tidak seperti windows keduanya mengandung program yang diinstal dengan manajer paket. Di mana/usr/local/bin
untuk perangkat lunak non-distro./bin
adalah untuk sistem seperti binari kritis/bin/sh
.sumber
/bin
,/usr/bin
,/usr/local/bin
Atau/opt/bin
. Tidak ada satu lokasi standar? Alasan saya bertanya adalah karena saya menginstal perangkat lunak pada beberapa VM dan lokasi default mengambil partisi yang memiliki ruang terbesar. Saya ingin mengubah ruang partisi ke direktori tempat perangkat lunak biasanya pergi dan tidak menempatkan perangkat lunak secara berbeda di semua VM./opt
misalnya biasanya digunakan untuk perangkat lunak berpemilik./usr/
- kadang partisi yang terpisah./bin
dan/usr/bin
diskriminasi sudah usang sekarang; historis, sistem-kritis barang akan di/bin
,/lib
, ... (langsung di root), sementara/usr
(dengan/usr/bin
,/usr/lib
, ...) akan dipasang nanti (mungkin melalui jaringan), tidak menjadi diperlukan untuk fungsionalitas sistem dasar./opt
seharusnya tidak keluar. Beberapa orang pernah berpikir di masa lalu bahwa itu adalah ide yang baik untuk memiliki beberapa aplikasi di lokasi yang berbeda dari semua aplikasi lain./bin
ada di partisi root. Karena pada beberapa sistem, ruang pada partisi root terbatas, binari yang tidak penting (yaitu semua aplikasi pengguna) dipindahkan ke/usr/bin
.Lihatlah
man hier
itu "Deskripsi hirarki sistem file".sumber
Seperti orang lain tunjukkan, program yang diinstal melalui manajer paket tersebar di beberapa direktori. Sementara biner biasanya ditemukan
/usr/bin
, file konfigurasi seluruh sistem ada di/etc
, dan seterusnya.Jika aplikasi tidak diinstal melalui manajer paket, file-file tersebut harus diinstal di tempat di mana mereka tidak mengganggu manajer paket. Tempat ini
/usr/local
.Jika Anda diminta untuk jalur instalasi, pilihan yang paling umum adalah
/usr/local/appname
sumber
Ketik
echo $PATH
terminal Anda untuk melihat jalur yang akan dilihat shell untuk menemukan perintah. Pergi memeriksa file dalam urutan itu dicetak.sumber
Yah Anda tidak akan menemukan semua solusi Anda
/bin
dansbin
karena mereka memegang sebagian besar perintah sistem (yaitu perintah yang digunakan oleh sistem)./usr/bin
dapat secara ideal disebut"Program Files"
dunia unix. Mengenai/opt
sangat sedikit paket memilih untuk menggunakan lokasi itu untuk instalasi, hal yang sama berlaku untuk paket yang menggunakan/etc/
atau/var
sebagai lokasisumber