GNU/Linux >> Belajar Linux >  >> Linux

Apa arti dari /usr/sbin, /usr/local/sbin dan /usr/local/bin?

1. Struktur direktori

Ini harus dicakup dalam Filesystem Hierarchy Standard(2.3 PDF)

/bin/       Essential command binaries that need to be available in single user mode;
            for all users, e.g., cat, ls, cp

/sbin/      Essential system binaries, e.g., init, ip, mount.

/usr/bin/   Non-essential command binaries (not needed in single user mode); 
            for all users

/usr/sbin/  Non-essential system binaries, e.g. daemons for various network-services.

/usr/local/ Tertiary hierarchy for local data, specific to this host. 
            Typically has further subdirectories, e.g., bin/, lib/, share/

2. Pemasangan

Saya menggunakan manajer paket sedapat mungkin (misalnya yum atau apt-get). Ini dimungkinkan untuk sejumlah besar aplikasi, dalam beberapa kasus Anda mungkin harus menambahkan repositori. Pilihan kedua saya adalah paket tingkat rendah seperti RPM dan kompilasi dari sumber akan menjadi pilihan terakhir saya (tetapi beberapa orang lebih suka ini)

Beberapa pengelola paket dapat menginstal dari RPM (mis. yum install oddity.rpm )

Jika Anda mengompilasi dari sumber, mungkin bukan langkah besar untuk membuat paket Anda sendiri sehingga penginstal sistem mengetahui apa yang telah Anda lakukan.

Kemudian masalah Anda berkurang menjadi mis. yum remove packagename

Alternatifnya adalah menyimpan dokumentasi yang baik tentang semua aktivitas sysadmin yang dilakukan (saya tetap menyimpan jurnal dalam file teks)


Hal-hal di semua direktori */sbin cenderung hanya berguna untuk administrator sistem. Anda dapat menjauhkan mereka dari PATH Anda jika Anda adalah pengguna biasa.

Direktori yang berbeda tidak masuk akal jika Anda memiliki satu mesin unix pada satu disk, tetapi lebih masuk akal jika Anda memiliki sistem yang besar dan partisi yang berbeda. Ingatlah bahwa banyak dari kebiasaan ini dibuat pada tahun 80-an dan 90-an ketika sistemnya sedikit berbeda.

/sbin cenderung sangat kecil. Ini adalah utilitas yang Anda butuhkan saat Anda benar-benar disemprot. Anda akan meletakkan ini di partisi root minimal dengan /root dan /lib. Hal-hal di /sbin dulu semuanya ditautkan secara statis, karena jika /usr partisi Anda disemprot, semua aplikasi yang ditautkan secara dinamis tidak berguna. fsck ada di sini dan terhubung secara statis. Jika Anda memiliki ketergantungan pada /usr, jelas Anda tidak dapat melakukan fsck /usr/. Tentu saja, jika partisi root disemprot, Anda sangat kacau. Inilah mengapa ini adalah partisi yang sangat kecil - turunkan kemungkinan blok disk yang buruk dengan menggunakan sangat sedikit blok di sini.

/usr/sbin binari adalah alat sysadmin umum di mana Anda setidaknya bisa masuk ke mode pengguna tunggal dan memasang semua volume Anda. Mereka diizinkan untuk ditautkan secara dinamis.

Partisi terpisah untuk /sbin (well, /sbin on / partition) dan /usr juga lebih masuk akal ketika Anda ingat bahwa pencadangan sangat mahal baik waktu maupun untuk tape. Jika berada di partisi terpisah, Anda dapat menjadwalkannya secara berbeda.

/usr/local dapat berupa sistem file jaringan. Jadi alat sysadmin yang ditulis secara lokal yang dapat dibagikan ke banyak mesin terkadang masuk ke /usr/local/sbin. Jelas tidak ada utilitas perbaikan jaringan yang dapat digunakan di sana.

Sekali lagi, banyak hal yang lebih masuk akal pada mesin besar dalam lingkungan jaringan pada mesin terkelola dengan banyak volume, apalagi dengan satu mesin Linux pada satu partisi root.


Anda benar-benar harus membuat pertanyaan kedua Anda menjadi pertanyaan terpisah di Superuser. Ini tidak terkait dengan yang pertama.

Ya, memiliki file di semua tempat itu menyebalkan. Itu sebabnya ada banyak solusi pengemasan. RedHat menciptakan RPM yang digunakan di mana-mana. Solaris memiliki format paketnya sendiri. HP/UX memilikinya, dan ada apt dan banyak format paket lainnya. Simpan semuanya di tempat yang tepat (/usr/bin, /usr/lib) sebagaimana mestinya, tetapi izinkan penambahan dan penghapusan dengan mudah.

Untuk sumber, dulu ada alat yang memungkinkan Anda mengonfigurasi dan menginstal di subdirektori /usr/local dan itu akan menangani symlink ke /usr/local/bin untuk Anda. Karena banyaknya alat paket, ini kurang diperlukan, dan saya lupa namanya.

Beberapa orang suka memasang di /opt/packagename dan menjaga semuanya bersama-sama di sana. Bagusnya:semuanya ada dalam satu direktori dan uninstal adalah rm -rf /opt/packagename . Kerugiannya adalah harus menambahkan /opt/packagename/bin ke PATH semua orang, dan fakta bahwa orang biasanya tidak meletakkan /opt di partisi terpisah, dan Anda mengisi partisi root.


Linux
  1. Konflik Node.js:/sbin/node Vs /usr/bin/node?

  2. Cara memindahkan /usr dan /var ke Partisi atau Disk Lain

  3. Instal binari ke /bin, /sbin, /usr/bin dan /usr/sbin, interaksi dengan --prefix dan DESTDIR

  1. Ubah direktori dan jalankan file dalam satu perintah

  2. Apa perbedaan antara #!/usr/bin/env bash dan #!/usr/bin/bash?

  3. izin ditolak untuk komposer di /usr/local/bin/

  1. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  2. Linux – Menggabungkan /usr/bin Dan /usr/sbin Ke /bin (gnu/linux)?

  3. Mengapa direktori /home, /usr, /var, dll. Semuanya memiliki nomor inode yang sama (2)?