Beberapa waktu yang lalu saya menginstal couchdb dari sumber di mesin debian saya. Tampaknya menginstal oke dan semuanya bekerja.
Beberapa minggu kemudian saya ingin meningkatkan dan menginstal dari. Deb menggunakan dpkg. Semuanya sekarang tampaknya telah diinstal di bawah /opt
. Semua sepertinya berfungsi dengan baik, tapi saya tidak begitu mengerti mengapa itu semua diinstal di bawah /opt
. Itu tidak terasa "halus" seperti ketika hal-hal dipasang langsung ke /usr/local/bin
dan /etc
dan /var/log
. Lebih rumit untuk dikonfigurasikan daripada ketika saya sebelumnya baru saja mengedit file konfigurasi yang diinstal di / etc / couchdb
Dapatkah seseorang menjelaskan kepada saya mengapa instalasi /opt
adalah "hal yang baik" dan mengapa ini adalah cara yang lebih baik dalam melakukan sesuatu daripada instalasi sebelumnya yang berasal dari sumber?
Saya tahu ini adalah pertanyaan yang agak kabur tapi saya hanya kompeten dengan Linux bukan ahli dan tidak mengerti pemikiran di balik menginstal /opt
sumber
Jawaban:
The Filesystem Hierarchy Standard memberikan definisi ini:
/opt
: Paket perangkat lunak aplikasi tambahan/usr/local
: Hirarki lokal (untuk digunakan oleh administrator sistem ketika menginstal perangkat lunak secara lokal)Cara saya membaca itu:
/bin
dan/usr/bin
(tersirat)/opt
/usr/local
jika administrator sistem menginginkannyaSecara ekstensi, jika sysadmin menginstal sesuatu menggunakan
dpkg
ataurpm
, itu tidak boleh masuk/usr/local
secara default.Jadi itu bisa dibilang melakukan hal yang benar.
sumber
Kebijakan Debian mengatakan
Tidak ada larangan spesifik seperti itu terhadap
/opt
. Kebijakan juga menambahkandan Standar Hierarki File mengatakan
dan kemudian lebih jauh ke bawah
Perhatikan bahwa Kebijakan adalah untuk Debian sendiri, tetapi umumnya sesuai dengan rekomendasi praktik terbaik. Hasilnya, jika saya membaca ini dengan benar, adalah bukan OK untuk menginstal paket (deb) biner
/usr/local
, tetapi OK untuk menginstal/opt
selama tidak mengganggu penggunaan ruang sysadmin.Pendapat pribadi saya adalah bahwa ide buruk untuk memiliki paket deb di salah satu
/usr/local
atau/opt
. Saya tidak setuju dengan D4RIO ketika dia mengatakan:Anda biasanya tidak ingin dua paket deb berbeda yang sesuai dengan perangkat lunak yang diinstal, dan jika mereka sebenarnya adalah nama paket yang sama, dpkg tidak akan mengizinkannya. Paket perangkat lunak Debian tidak resmi yang tersedia sebagai paket resmi umumnya (tetapi tidak selalu) memiliki nama yang sama dengan yang resmi; Anda hanya menginstal satu atau yang lain, tidak keduanya.
Untuk apa nilainya, saya pikir memasukkan paket deb
/opt
adalah ide yang buruk, dan satu-satunya kejadian baru-baru ini yang saya lihat adalah dengan Google Chrome. Namun, Google tidak selalu mengikuti praktik terbaik.sumber
/opt
untuk perangkat lunak pihak ketiga. Ada paket couchdb untuk debian (maksud saya, resmi), jadi jika Anda mengunduh yang lain, tidak masalah, ia harus diinstal di dalam/opt
atau di/usr/local/bin
salah satu.sumber
Meskipun ini bukan Debian, Pedoman Pengemasan Fedora cukup jelas tentang ini:
Alasan paket tidak menempatkan / opt cukup sederhana: Seperti yang ditunjukkan sebelumnya, Standar Hierarki File menyatakan bahwa ...
Itu adalah sesuatu yang tidak dapat dijamin oleh paket karena instalasi atau pembaruan dapat mengubah data tersebut.
Saya tahu Fedora bukan Debian, tapi saya kira dalam hal ini, mereka sangat mirip. Terutama karena Lintian, alat pemeriksaan paket untuk Debian, memiliki kesalahan khusus untuk ini: dir-atau-file-in-opt
sumber