it-swarm-id.com

/ usr / bin vs / usr / local / bin di Linux

Mengapa ada begitu banyak tempat untuk meletakkan biner di Linux? Setidaknya ada lima ini:

  1. /bin/
  2. /sbin/
  3. /usr/bin/
  4. /usr/local/bin/
  5. /usr/local/sbin/

Dan di kotak kantor saya, saya tidak punya izin menulis untuk beberapa di antaranya.

Jenis biner seperti apa yang masuk dalam bin ini?

487
Lazer
  1. /bin (dan /sbin) ditujukan untuk program-program yang harus dengan ukuran kecil / partisi sebelum yang lebih besar /usr, dll. partisi telah dipasang. Saat ini, sebagian besar berfungsi sebagai lokasi standar untuk program-program utama seperti /bin/sh, meskipun maksud aslinya mungkin masih relevan untuk mis. instalasi pada perangkat tertanam kecil.

  2. /sbin, berbeda dari /bin, untuk program manajemen sistem (biasanya tidak digunakan oleh pengguna biasa) yang diperlukan sebelum /usr sudah terpasang.

  3. /usr/bin adalah untuk program pengguna normal yang dikelola distribusi.

  4. Ada sebuah /usr/sbin dengan hubungan yang sama dengan /usr/bin sebagai /sbin harus /bin.

  5. /usr/local/bin adalah untuk program pengguna normal tidak dikelola oleh manajer paket distribusi, mis. paket yang dikompilasi secara lokal. Anda tidak harus menginstalnya ke /usr/bin karena peningkatan distribusi di masa mendatang dapat memodifikasi atau menghapusnya tanpa peringatan.

  6. /usr/local/sbin, karena Anda mungkin bisa menebak pada titik ini, adalah ke /usr/local/bin sebagai /usr/sbin hingga /usr/bin.

Selain itu, ada juga /opt yang untuk paket non-distribusi monolitik, meskipun sebelum mereka diintegrasikan dengan benar berbagai distribusi menempatkan Gnome dan KDE di sana. Umumnya Anda harus memesannya untuk paket pihak ketiga yang besar dan berperilaku buruk seperti Oracle.

600
geekosaur

Saya sarankan untuk melihat halaman manual hierarki sistem file:

man hier

yang juga tersedia online, misalnya: http://linux.die.net/man/7/hier . Bagian yang relevan telah disalin di bawah ini. Tergantung pada sistem Anda, itu mungkin mengatakan sesuatu yang berbeda.

Nama

    hier - deskripsi hirarki sistem file

Deskripsi

    Sistem Linux yang khas memiliki, antara lain, direktori berikut:

    /bin
      Direktori ini berisi program yang dapat dieksekusi yang diperlukan dalam mode pengguna tunggal dan untuk meningkatkan sistem atau memperbaikinya.
    /sbin
      Suka /bin, direktori ini menyimpan perintah yang diperlukan untuk mem-boot sistem, tetapi biasanya tidak dijalankan oleh pengguna normal.
    /usr/bin
      Ini adalah direktori utama untuk program yang dapat dieksekusi. Sebagian besar program dijalankan oleh pengguna normal yang tidak diperlukan untuk booting atau untuk memperbaiki sistem dan yang tidak diinstal secara lokal harus ditempatkan dalam direktori ini.
    /usr/local/bin
      Binari untuk program-program lokal ke situs.
    /usr/local/sbin
      Program yang dipasang secara lokal untuk administrasi sistem.
    /usr/sbin
      Direktori ini berisi binari program untuk administrasi sistem yang tidak penting untuk proses boot, untuk pemasangan /usr, atau untuk perbaikan sistem.
69
davitenio

Entri Filesystem Hierarchy Standard di Wikipedia membantu saya menjawab pertanyaan yang sama ketika saya memilikinya, ditambah lagi memiliki tabel yang sangat jelas.

Kutipan dari halaman itu1:

/bin        Essential command binaries that need to be available in single user mode; for all users, e.g., cat, ls, cp.
/usr/bin    Non-essential command binaries (not needed in single user mode); for all users.
/usr/local  Tertiary hierarchy for local data, specific to this Host. Typically has further subdirectories, e.g., bin, lib, share
/usr/sbin   Non-essential system binaries, e.g., daemons for various network-services.
/sbin       Essential system binaries, e.g., fsck, init, route.

1Diakses pada 19 Juni 2019; permalink .

36
Humphrey Bogart

Direktori sbin berisi program-program yang umumnya hanya administrasi sistem. Program untuk pengguna reguler tidak boleh masuk di dalamnya.

Beberapa program diperlukan saat startup, dan berakhir di /bin/ atau /sbin/. Ini harus tersedia sebelum sistem file dipasang. Hal-hal seperti mount, dan fsck yang diperlukan untuk memeriksa dan me-mount sistem file harus ada di sana.

Sebagian besar program yang dikemas berakhir pada /usr/bin/ dan /usr/sbin/. Ini mungkin pada sistem file selain sistem file root. Dalam beberapa kasus mereka mungkin berada pada drive yang dipasang jaringan.

Program dan skrip lokal termasuk dalam /usr/local/bin/ dan /usr/local/sbin/. Ini mengidentifikasi mereka sebagai jelas non-standar, dan mungkin hanya tersedia di situs.

Untuk penjelasan lebih lanjut coba jalankan perintah man hier yang harus memberikan deskripsi tentang hierarki sistem file yang direkomendasikan untuk distribusi Anda. Anda mungkin juga ingin membaca tentang Hirarki Sistem File di Wikipedia

17
BillThor

Pada 1970-an, UNIX memiliki semua executable resmi di /bin dan /usr/bin adalah lokasi di bawah direktori beranda pengguna (mis. /usr/dmr) yang tersedia bagi setiap pengguna untuk menyimpan binari sendiri yang mungkin juga menarik bagi orang lain.

Hasil dari pembukaan ini /usr/bin adalah halaman sampah dari perangkat lunak tidak berdokumen dan jadi Stephen Bourne menulis cron script yang memeriksa binari baru setiap malam dan menghapus semua binari yang tidak memiliki dokumentasi atau yang telah diperbarui tanpa memperbarui dokumentasinya juga.

Pada akhir 1970-an, /usr/bin terintegrasi ke dalam distribusi basis OS dan orang-orang mulai menggunakan /usr/local/bin untuk tujuan pembukaan sebelumnya /usr/bin.

Setelah beberapa saat, sysadmin menggunakan /usr/local/bin menyimpan non-local perangkat lunak yang diimpor dari jaringan (mis. USENET) dan karena perusahaan UNIX tidak suka mengulangi kesalahan yang sama dengan /usr/bin lagi, ada konferensi hierarki sistem file sekitar tahun 1987 di mana semua perusahaan UNIX setuju untuk menyerah /usr/local/bin dan menggunakan /opt/<vendor>/bin sebagai gantinya.

Sayangnya, distro Linux tidak mengikuti keputusan ini ....

11
schily