Apa arti dari direktori default dalam hirarki sistem file Linux?

41

Setelah menginstal berbagai distro Linux untuk bermain-main, saya bingung dengan installer yang menawarkan tata letak partisi - untuk jalan keluar yang mudah, saya hanya menggunakan seluruh ruang disk yang tersedia.

Beberapa partisi yang ditawarkan memiliki nama samar, termasuk / var , swap , / usr , dan / home . Pemasang tidak benar-benar menjelaskan ini kepada saya - tujuan apa yang mereka layani, dan mana, jika ada, yang harus digunakan?

Grant Palin
sumber

Jawaban:

61

Jawaban singkat tentang nama direktori: ketik " man hier" ke terminal :)

Itu adalah halaman manual untuk hierarki sistem file, yang menjelaskan tujuan umum dari nama direktori dan apa yang dipegangnya. Anda dapat melihat versi web di sini .

Ada juga lebih banyak bacaan di Wikipedia:

Tautan-tautan itu akan menjelaskan segala sesuatu tentang partisi apa yang disebut apa dan apa yang digunakan untuk menyimpannya.

Jawaban tentang menggunakan partisi yang terpisah dan bukan hanya direktori di partisi yang sama kembali ke rawatan dan perluasan. Jika Anda punya satu partisi dengan, katakanlah, /dan /homedi atasnya, Joe User dapat mengisi /home/joefoldernya, dan seluruh mesin akan kehabisan ruang disk dan berhenti bekerja (saya menyederhanakan di sini, tapi itulah hasil umum). Jika Anda punya /dan /homedi partisi yang berbeda, Joe User dapat mengisi /home/joefoldernya, dan /homepartisi akan penuh, tetapi mesin akan terus beroperasi karena /tidak terpengaruh.

Jadi perluas prinsip itu ke hampir semua direktori berbeda yang berada di partisi yang berbeda, dan Anda dapat melihat bagaimana itu akan berguna, terutama ketika sebuah mesin beroperasi 24/7 dalam peran multi-pengguna dan multi-layanan.

Ben Williams
sumber
12
1 untuk man hierMengajari manusia memancing dan semua itu.
George Marian 5-10
Ya, terima kasih atas pointer ke hier (7). Saya selalu mengunjungi halaman web FHS, tanpa mengetahui bahwa saya memiliki jawaban yang jauh lebih mudah tersedia.
andol
Masalahnya adalah bahwa sementara ini dijelaskan bagaimana mereka dimaksudkan untuk digunakan, beberapa pada kenyataannya tidak digunakan secara default seperti pada direktori / srv.
Ronaldo Nascimento
7

Saat memasang, banyak distribusi memberi Anda opsi untuk meletakkan direktori yang berbeda di partisi yang berbeda. Sebagai contoh, banyak pengguna memilih untuk memiliki direktori / home pada partisi yang berbeda dari sisa instalasi. Ini karena semua yang ada di direktori / home milik pengguna - dokumen, video, dan semua data khusus pengguna lainnya ada di sini. Dengan meletakkan direktori / home di partisi yang terpisah, dan file OS yang sebenarnya di partisi lain, jika pengguna memutuskan untuk melakukan instalasi baru dari sistem operasi Linux-nya, ia hanya dapat menulis ulang partisi utama dan meninggalkan partisi / home-nya (dan semua file-nya) utuh.

Ini juga memungkinkan pengguna untuk menginstal beberapa distribusi Linux pada partisi yang berbeda, semua berbagi partisi / home yang sama. Dengan cara ini, pengguna dapat mengakses file-nya, apa pun versi Linux yang digunakannya.

Seorang pengguna biasa tidak perlu terlalu khawatir untuk menetapkan / var, swap, / usr yang terpisah, dll. Semua direktori ini adalah bagian dari OS, dan tidak ada hubungannya dengan file-file pengguna.

Makario
sumber
+1 untuk tautan yang bagus. Bukankah / swap selalu merupakan partisi yang terpisah?
George Marian
@ George Marian: Tidak perlu. Dimungkinkan untuk mengkonfigurasi swap filesystem (yang merupakan file di dalam filesystem partisi yang ada) alih-alih swap partisi. Dengan cara ini, sistem Ubuntu dapat bekerja pada satu partisi tunggal.
txwikinger
3
Bagi mereka yang bermain di rumah, perlu dicatat bahwa kemampuan untuk menggunakan file swap pada sistem file biasa tergantung pada sistem file. IE: Jangan coba ini dengan btrfs, itu akan (dalam kernel yang lebih lama) memungkinkan Anda untuk merusak data secara diam-diam dan (dalam kernel yang lebih baru) membuat kesalahan ketika Anda mencoba menambahkan swap.
RAOF
5

Menggunakan seluruh ruang disk yang tersedia adalah opsi yang benar-benar valid (dan mungkin disarankan) untuk komputer pribadi. Mempartisi sistem file seperti itu menurut saya adalah singgah dari zaman dahulu sebelum RAID atau manajemen volume virtual praktis dalam perangkat lunak.

Dalam sistem mirip UNIX, sistem file dimulai pada direktori root '/'. Dalam istilah DOS / Windows yang akan menjadi 'C:'

Saat berada di DOS / Windows Anda menambahkan drive ke huruf menyelam D :, E :, dll. Dalam sistem seperti UNIX Anda 'memasang' drive ke direktori. Kembali pada hari ketika Anda memiliki 10 atau 10 megabyte hard drive Anda dapat memasang berbagai direktori di berbagai drive dan partisi untuk memberikan ilusi satu drive besar. Cukup banyak RAID 0 orang miskin.

Ada banyak alasan untuk mem-partisi berbagai direktori root tetapi satu ide yang populer adalah karena partisi swap dan / var dituliskan paling besar, mereka memiliki kemungkinan kegagalan tertinggi. Dengan memisahkan mereka ke dalam partisi yang berbeda, sangat mudah untuk hanya menambahkan drive lain dari cadangan dan memasang kembali.

Juga memiliki partisi / home yang terpisah bisa sangat bagus jika Anda menjalankan beberapa versi linux pada satu mesin. (Misalnya Ubuntu dan Red Hat). Karena program Unix / Linux menempatkan pengaturan pengguna di dalam direktori rumahnya. Ini bekerja secara teori jauh lebih baik daripada dalam praktek sekalipun. Karena Anda perlu memahami implikasi izin secara menyeluruh.

Berikut adalah beberapa direktori penting untuk sistem operasi mirip UNIX dan penjelasannya.

  • /bin - File dasar yang dapat dieksekusi sistem
  • /lib - Pustaka sistem dasar (.so di Linux, .dlls di Windows).
  • /boot- Di mana Anda tinggal kernel. Komputer tidak akan mulai tanpa yang ini.
  • /var- Direktori tempat layanan dapat menyimpan file. Suka file log dan kotak surat
  • /etc - File konfigurasi sistem
  • /usr- Aplikasi pengguna yang tidak penting. (Sistem unix dapat boot tanpa / usr (untuk tujuan pemulihan) tetapi itu tidak akan sangat menyenangkan. Dalam sistem yang lebih lama ini sama dengan / home.)
  • /home- Direktori rumah pengguna. Pengguna normal hanya dapat menulis ke direktori home mereka sendiri.
  • swap (bukan direktori) Ini biasanya merupakan partisi terpisah di UNIX. Tidak ada direktori swap, meskipun Anda dapat membuat file swap di Linux.
wm_eddie
sumber
2
Saya akan mengatakan bahwa bahkan untuk komputer desktop / pribadi, memiliki / home di partisi terpisah adalah ide yang baik. Dengan begitu, Anda memiliki lebih sedikit sakit kepala jika Anda mengisi direktori home Anda.
George Marian 5-10
@ George Tidak ada yang menghentikan Anda dari menghubungkan ke direktori home Anda di drive lain. Dalam pengaturan saya, untuk memungkinkan kompatibilitas dengan windows, partisi rumah saya adalah NTFS dan saya menghubungkan folder apa pun yang saya gunakan ke folder rumah saya. Saya akan menghubungkan seluruh folder tetapi saya ingin menyimpan hal-hal yang tersembunyi di ~ / terpisah jika saya memutuskan untuk melakukan instalasi baru. Menggunakan hard-codep yang dihubungkan ke partisi terpisah mungkin diperlukan dua puluh tahun yang lalu tetapi kendala arsitektur yang membuat mereka diperlukan tidak ada saat ini.
Evan Plaice
1
@ evan saya bingung. Apakah Anda merujuk direktori symlinking ke direktori home Anda atau symlinking direktori home Anda di tempat lain? Bagaimana ini berbeda dengan pengaturan / home ke partisi yang berbeda? (Catatan, "partisi berbeda" mungkin berada di drive yang sama sekali berbeda.) Saya merujuk untuk menjaga terhadap perilaku default (mis. Unduhan ditempatkan di sub direktori folder rumah Anda) secara tidak sengaja mengisi partisi root.
George Marian
@ George Baik dan mana pun yang Anda suka. Poin yang saya coba sampaikan adalah, mengapa mengatur tautan hardcoded selama instalasi sistem ketika Anda cukup memasukkan beberapa symlink setelah itu melakukan hal yang sama dan dapat diubah dengan mudah kapan saja?
Evan Plaice
@evan Poin yang adil. Saya tidak pernah beruntung berurusan dengan hal-hal semacam ini setelah menginstal, jadi saya selalu lebih suka melakukannya dengan cara "default".
George Marian
2

Anda dapat menemukan deskripsi yang sangat terperinci di halaman Proyek Dokumentasi Linux : Linux Filesystem Hierarchy

ddeimeke
sumber
+1 untuk tautan. Tetapi Anda harus memasukkan informasi yang diperlukan di sini dan memberikan tautan untuk referensi
Anwar
1

Partisi swap juga digunakan untuk hibernasi. Jika Anda ingin meletakkan laptop atau desktop dalam mode hibernasi, Anda memerlukan partisi swap atau file swap yang cukup besar untuk menahan sistem operasi yang sedang berjalan dan aplikasi terbuka Anda.

Sering disarankan agar partisi swap memiliki ukuran yang sama dengan memori RAM Anda.

jr0cket
sumber
1

Anda dapat membuat partisi terpisah selama instalasi. sebuah /homepartisi akan berarti setiap kali Anda menginstal Ubuntu, pengaturan pengguna pribadi Anda akan tetap ada.

/- adalah akarnya.
/var- (dijelaskan di atas)
/dev- berisi "tautan" ke perangkat terdaftar. yaitu / dev / Video0 adalah kartu tangkap ...

/bin /sbin - mengandung aplikasi

lebih baik lagi, Wikipedia memiliki halaman hebat http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

Hal terbesar yang saya temukan adalah memiliki partisi ke-2 (terbesar) untuk barang-barang Anda dan seperti saya katakan setiap kali Anda menginstal ulang atau memutakhirkan. Pilih partisi itu lagi dan pastikan Anda menghapus centang pada kotak format dan kemudian semuanya kembali. Bahkan wallpaper Anda!

MJ
sumber
1

Nah, swapdigunakan ruang swap. Ini seperti file halaman di Windows. Ini agak menambah RAM.

/home digunakan untuk data pengguna seperti My Documents di Windows,

/usr Di sinilah sebagian besar program mirip dengan C: \ Windows, dan

/var berisi data yang diubah ketika sistem berjalan normal.

Adapun mengapa ada di partisi terpisah saya pikir itu terutama jika OS Anda turun data Anda tidak turun dengannya. Tapi saya benar-benar tidak yakin.

Cody Harlow
sumber
Berbeda antara /varvs /etc?
Pacerier
1

Secara historis, itu dianggap praktek terbaik untuk memiliki /home, swap, dan kelenjar penting lainnya berada di partisi yang berbeda, disk fisik yang berbeda, atau mesin fisik bahkan berbeda. Meskipun untuk kenyamanan (baik atau buruk), dan dengan munculnya backup eksternal atau berbasis cloud yang murah, semuanya sekarang tinggal dalam satu partisi besar dan Anda hanya melakukan backup barang-barang pribadi Anda ke tempat lain.

/usr, singkatan dari Sumber Daya Sistem Unix

/sbin, Binari Sistem

Bertentangan dengan kepercayaan populer, /etctidak berarti et cetera . Sebaliknya, itu adalah singkatan dari Extended Tool Chest . Tapi, bertolak belakang dengan kepercayaan populer, ini masih menjadi bahan perdebatan.

Berikut ini beberapa info lebih lanjut tentang folder-folder itu dan bagaimana pengaturannya.

Eric Carvalho
sumber
0

Swap harus disimpan secara terpisah jika Anda menggunakannya. Dan gunakan 1,5-2,0 x ukuran ram Anda untuk itu.

Sisanya dapat disimpan bersama, dan tidak terlalu penting (Linux / Unix bukan windows dan memiliki hierarki direktori tunggal, apakah direktori / var Anda adalah partisi yang terpisah atau tidak, tampilannya persis sama). Tujuan utama dari partisi adalah untuk menggunakan sistem file yang berbeda dan untuk membagi kemungkinan skenario "disk penuh" (jadi, misalnya, jika / var mengisi dengan log dari beberapa aplikasi gila, / home stil works)

Sebagai sidenote, saya sangat merekomendasikan menggunakan LVM yang memungkinkan seseorang untuk membuat sebanyak mungkin partisi yang dapat diubah ukuran dan dilepas sesuai keinginan, dan bahkan menambahkan hard disk baru ke keluarga. Namun, itu membutuhkan belajar beberapa baris perintah sehingga tidak untuk pemula total.

Mekk
sumber