Perbedaan antara banyak folder lib di Linux

14

Apa perbedaan antara banyak lib di sistem Linux? (/ lib, / usr / lib, / var / lib, / usr / share / lib, dll, dll).

Saya tahu ini ditangani secara otomatis oleh sinaptik setiap kali saya menginstal aplikasi, tetapi jika saya ingin menjadi pengembang Linux, saya yakin perlu tahu di mana harus meletakkan lib aplikasi saya di sistem.

Andreas Wong
sumber

Jawaban:

10

Biasanya, perangkat lunak Anda akan diinstal di bawah /, atau / usr, atau / usr / lokal. Ini disebut "awalan". Saya biasanya disediakan untuk program sistem operasi paling kritis. / usr / dicadangkan untuk digunakan oleh manajer paket. Karena itu, saat Anda menulis perangkat lunak, paling sopan mengaturnya agar awalannya menjadi / usr / lokal. Maka ini bisa diganti ketika seseorang mengemasnya untuk distribusi.

Perhatikan saya tidak secara khusus berbicara tentang "Lib". Ada beberapa subdir yang umum di bawah awalan, hanya menjadi salah satu dari mereka. "bin" digunakan untuk executable, "share" untuk file data, "lib" untuk shared library dan sebagainya. Jadi jika program Anda adalah pustaka, Anda dapat menginstalnya secara default ke / usr / local / lib. Jika ini adalah program normal, Anda dapat menginstalnya ke / usr / local / bin dengan file data Anda di / usr / local / share. Yang penting adalah Anda membuatnya sehingga awalan dapat dipilih pada waktu kompilasi. Beberapa mungkin lebih suka menginstal ke / usr daripada / usr / local atau sebaliknya.

Matthew Talbert
sumber
Jadi maksud Anda adalah bahwa lokasi lebih merupakan pedoman daripada batas keras?
Andreas Wong
1
Ini adalah pedoman, tetapi HARUS diikuti, dan banyak aplikasi mengharapkan file tertentu di tempat-tempat tertentu.
Jim Deville
@james point diambil: D
Andreas Wong
8

Ada juga standar yang menggambarkan hierarki sistem linux / unix. Itu dapat ditemukan di: http://www.pathname.com/fhs/ . Ini dimaksudkan terutama untuk pengembang distribusi, tetapi saya tidak melihat alasan siapa pengguna / pengembang seharusnya tidak menyadarinya.

Ahe
sumber
0

/ bin dan / sbin

  • binari digunakan untuk administrasi sistem dan juga dalam usermode tunggal. File pustaka mereka berada di / lib.

/ usr / bin dan / usr / sbin

  • berisi biner non esensial non esensial yang digunakan oleh semua pengguna dan biner yang digunakan untuk layanan jaringan dan semua. Perpustakaan mereka ditempatkan di / usr / lib.

/ var / lib

  • berisi file yang menyimpan informasi tentang keadaan menjalankan program atau contoh program. Pengguna tidak perlu mengubah ini.

/ usr / share / lib

  • Berisi file data arsitektur-independen.
RahulKrishnan RA
sumber