Mengapa meletakkan hal-hal selain / home ke partisi yang terpisah?

53

Jadi baru-baru Debian 5.0.5 installer menawarkan saya untuk memiliki terpisah /usr, /home, /vardan /tmppartisi (pada satu disk fisik).

Apa alasan praktis untuk ini? Saya mengerti bahwa /homemenguntungkan untuk diletakkan di partisi yang terpisah, karena file pengguna dapat dienkripsi secara terpisah, tetapi mengapa untuk hal lain?

Alex B
sumber
10
Alasan lain yang baik untuk tetap /hometerpisah adalah memungkinkan Anda menginstal ulang sistem Anda dan / atau beralih distro secara bebas tanpa kehilangan file pribadi Anda.
David Z
4
@ David Zaslavsky: Saya tidak akan merekomendasikan hal ini untuk berpindah distro. karena lebih sering daripada tidak file konfigurasi tersembunyi di direktori home Anda akan konflik.
Troubadour
7
@ Troubadour: Sebenarnya saya tidak berpikir begitu. File-file konfigurasi ditempatkan di sana oleh aplikasi spesifik dan umumnya tidak ada hubungannya dengan distribusi yang Anda gunakan. Jadi misalnya, konten ~/.mozilla/firefoxdapat digunakan sama baiknya oleh Firefox di Ubuntu atau Fedora atau Gentoo. ~/.bashrcakan selalu memiliki efek yang sama pada Bash, tidak peduli sistem apa yang Anda jalankan. Saya telah melakukan cukup banyak perpindahan distro dan tidak pernah benar-benar memiliki masalah dengan file-file konfigurasi tersebut.
David Z
3
@ David Zaslavsky: Saya bisa melihat masalah yang timbul jika distro baru menggunakan versi aplikasi yang lebih lama dari yang sebelumnya, karena mereka mungkin tidak tahu cara membaca file konfigurasi tersebut. Meskipun begitu, saya belum mencoba melakukan hal semacam itu sendiri.
intuited
Sebagai alasan lain, jika Anda menggunakan hdd dan ssd, Anda mungkin ingin memiliki sebagian besar instalasi di ssd, tetapi ingin meletakkan, katakanlah, / home dan / var pada hdd untuk menghindari sejumlah besar dari menulis ke ssd.
Kevin

Jawaban:

55
  1. Meminimalkan kerugian: Jika /usrberada di partisi terpisah, yang rusak /usrtidak berarti bahwa Anda tidak dapat memulihkan /etc.
  2. Keamanan: /tidak bisa selalu ro ( /rootmungkin perlu rw dll.) Tetapi /usrbisa. Dapat digunakan untuk membuat ro sebanyak mungkin.
  3. Menggunakan FS yang berbeda: Saya mungkin ingin menggunakan sistem yang berbeda untuk /tmp(tidak dapat diandalkan tetapi cepat untuk banyak file) dan /home(harus dapat diandalkan). Similary /varberisi data sementara /usrtidak jadi /usrstabilitas bisa menjadi pengorbanan tetapi tidak sebanyak itu /tmp.
  4. Durasi fsck: Partisi yang lebih kecil berarti memeriksa satu lebih cepat.
  5. Disebutkan mengisi partisi, meskipun metode lain adalah kuota.
Maciej Piechotka
sumber
23

Terpisah /usrdapat berguna jika Anda memiliki beberapa mesin yang berbagi OS yang sama. Mereka dapat berbagi satu pusat /usralih-alih menggandakannya di setiap sistem. /usrdapat dipasang hanya baca.

/vardan /tmpdapat diisi oleh program pengguna atau daemon. Oleh karena itu bisa aman untuk memiliki ini di partisi terpisah yang akan mencegah /, partisi root, menjadi 100% penuh, dan akan memukul sistem Anda dengan buruk. Untuk menghindari memiliki dua partisi yang berbeda untuk ini, tidak jarang terlihat /tmpmenjadi symlink /var/tmp.

Didier Trosset
sumber
Saya kira saya bisa mengerti / var dan / tmp, tetapi karena installer menawarkan untuk mempartisi disk tunggal , utilitas yang terpisah /usrsangat terbatas?
Alex B
Ini memungkinkan Anda untuk berbagi /usrmelalui NFS ke sistem lain. Tapi Anda bisa membaginya walaupun itu bukan partisi yang terpisah, itu benar ... berpikir keras ... Apakah read-only me-mount alasan yang cukup bagus?
Didier Trosset
Bagaimana Anda melakukan pembaruan dengan pengaturan semacam ini? Seringkali (setidaknya di bawah Linux) paket akan membuat perubahan pada file di direktori sistem-lokal, misalnya di /etc.
intuited
+1 untuk / usr hanya-baca. Remount terlebih dahulu sebelum melakukan pembaruan.
LawrenceC
13

Karena pengguna biasa dapat menyebabkan hal-hal ditulis /vardan /tmp, dan dengan demikian berpotensi menimbulkan masalah bagi keseluruhan sistem. Dengan cara ini proses pengguna dapat mengisi /vardan /tmp, tetapi bukan root fs. Terpisah /usrberguna untuk /usrNFS lebih, atau fs jarak jauh lainnya.

(Saya harap ini jelas, saya belum minum kopi)

KellyClowers
sumber
Kalimat pertama adalah penjelasan terbaik, terima kasih.
greenoldman
11

Masalahnya adalah bahwa root rs penuh membuat sistem linux tidak dapat dioperasikan untuk perpanjangan yang bahkan admin memperbaikinya tanpa CD pemulihan atau serupa. Ketika /tmpdan /vardan khususnya /homeberada di partisi yang terpisah, root fs tidak akan pernah bisa diisi tanpa admin yang melakukannya. Mempertimbangkan /usrcampuran di mana semua instalasi biasa akan ditempatkan, dan bahkan menginstal perangkat lunak baru tidak dapat menyebabkan masalah ini.

txwikinger
sumber
Kecuali jika dipasang ke /opt:)
Troubadour
1
Baik. Anda dapat membuat partisi lain untuk ini juga, atau membuat tautan sehingga / opt sebenarnya terletak di partisi / usr. Prinsipnya masih sama.
txwikinger
10

Secara umum, argumen untuk memiliki partisi terpisah adalah:

  1. Keamanan: Anda dapat, misalnya, me-mount partisi read-only untuk mencegah pengguna jahat (atau proses) menimpa atau mengganti binari di sana dengan trojan. Jadi jika binary ssh Anda tinggal di / usr / local / bin dan / usr / local sudah di-mount read-only, itu akan sulit bagi siapa pun untuk mengganti biner itu.

  2. Fleksibilitas / Kenyamanan: misalnya, jika Anda mengatur / var di partisi sendiri dan mencapai 80% penuh, Anda dapat mengubah ukurannya, atau bahkan memindahkannya ke disk lain jika perlu. Saya lebih suka melakukan itu daripada berurusan dengan sistem yang '/' 100% penuh karena log di bawah / var telah rusak dalam beberapa cara. Partisi yang berbeda juga dapat memiliki sistem file yang sama sekali berbeda, memungkinkan OS Anda untuk menggunakan ext3 (misalnya) dan database Anda menggunakan ext4, atau repositori objek Anda untuk menggunakan XFS, atau aplikasi kustom Anda untuk menggunakan ... perangkat mentah!

jonesy
sumber
Apa cara biasa menangani pembaruan sistem dalam kasus pertama?
intuited
6

Secara tradisional, itu dilakukan dengan cara ini karena kekhasan perangkat keras DEC yang dikembangkan. Lebih ekonomis membeli disk kecil dan cepat untuk root dan swap dan disk yang lebih besar dan lebih lambat untuk data pengguna ( /usr). Dalam beberapa hal konvensi hanya macet.

Namun, masih ada beberapa alasan untuk melakukan ini. Beberapa yang umum adalah:

  • Menempatkan / boot ke partisi kecil terpisah dekat dengan awal disk. Firmware PC BIOS yang lebih lama hanya akan melakukan booting dari trek 1024 pertama dari disk. Ini cenderung menjadi masalah dengan perangkat keras modern.

  • Menempatkan partisi sibuk seperti /varatau /tmpke disk terpisah untuk menghilangkan kemacetan pada akses ke data pengguna.

  • Sistem file yang berbeda pada partisi yang berbeda. Sebagai contoh, Anda mungkin ingin menggunakan sistem file penjurnalan untuk /usrtetapi tidak untuk partisi yang meng-host file untuk DBMS seperti Oracle - DBMS melakukan penjurnalan sendiri dan sistem file penjurnalan dapat membebankan biaya overhead yang signifikan.

  • Memiliki data pengguna pada disk atau partisi terpisah membuatnya mudah untuk memigrasikannya ke disk yang lebih besar tanpa operasi besar pada mesin.

  • Anda mungkin ingin me-mount data bersama seperti direktori home atau binari aplikasi melalui NFS.

  • fsckmembutuhkan waktu lama pada volume besar untuk beberapa jenis sistem file. Anda mungkin ingin memiliki jadwal pemeliharaan sistem file yang berbeda untuk area sistem (sering) dan area pengguna (kurang sering).

ConcernedOfTunbridgeWells
sumber
5

Memformat sistem file juga bisa lebih cepat daripada rm -mengambilnya. Terutama jika Anda memiliki ribuan file kecil untuk dihapus. Squid cache yang Anda inginkan untuk sepenuhnya menciptakan kembali ... banyak file gambar yang Anda butuhkan untuk diproses tetapi dapat dibuang setelah hasil akhirnya dibuat. File .obj dari kompilasi besar ... dll.

kawan
sumber
4

Folder yang kadang-kadang saya tempatkan di partisi terpisah adalah /usr/local/agar setiap perangkat lunak yang saya buat dan instal secara terpisah dari manajer paket distro saya dapat digunakan kembali jika saya mengubah / meningkatkan distro saya atau dengan distro lain yang dipasang di sampingnya. Jelas tidak dijamin untuk bekerja di semua kombinasi yang mungkin tetapi tidak ada salahnya.

Penyanyi
sumber
2

Saya memakai /tmptmpfs, jadi isinya disimpan dalam RAM bukan pada disk. Namun itu tidak akan berguna untuk /etcatau /usr.

Tetapi dapat menempatkan direktori yang berbeda pada sistem file yang berbeda dapat bermanfaat; yaitu /homepada filesystem yang cepat / eksperimental seperti ext4 vs filesystem yang stabil / andal seperti ext2 untuk /etc.

jonescb
sumber