Bagaimana cara menginstal aplikasi ke hdd terpisah?

10

Saya sangat baik dengan windows, sekarang saya merasa seperti orang bodoh.

Saya memiliki SSD untuk ubuntu dan ingin menginstal sebagian besar program saya ke HDD terpisah tetapi saya tidak tahu caranya.
Semua pencarian yang saya coba hanya muncul dengan instalasi dual-boot.

  • (RESOLVED ->) Saya juga kesulitan menemukan "/ etc /". Secara khusus, untuk memodifikasi Conky.
    Pencarian untuk istilah ini hanya akan muncul contoh di mana orang mengatakan kepada Anda untuk mengakses file ini, bukan bagaimana cara mendapatkannya.
wabah
sumber
1
Lihatlah ini , itu akan membantu Anda memulai.
Mitch
Saya mendapat kesan bahwa semuanya diperluas dari folder rumah. Aduh. Halaman yang Anda tautkan tidak membantu mengenai masalah saya, tetapi saya sedang membacanya sekarang dan banyak belajar, jadi terima kasih.
plaguedoctor
Saya menambahkan tag mount dan fstab; Anda dapat melakukan apa yang Anda gambarkan dengan secara manual mengatur sistem file tertentu untuk dipasang pada partisi atau drive tertentu.
belacqua
@ belacqua apakah ada cara lain selain itu? Saya tidak hanya ingin sistem file tertentu di drive lain, saya ingin semua sistem file program tertentu. Dengan begitu saya dapat mengurutkannya berdasarkan seberapa intensifnya mereka pada sistem saya, memiliki game / virtualbox / dll sepenuhnya pada SSD saya dan hal-hal seperti libreoffice / thunderbird seluruhnya pada salah satu HDD.
plaguedoctor
Tidak mudah menentukan di mana instalasi tertentu dan file-file itu berada - lihat jawaban di tautan yang disebutkan Mitch. Anda dapat menggunakan hal-hal seperti symlink juga, tetapi rekomendasi saya adalah mulai dari yang sederhana. Temukan contoh aplikasi, ajukan pertanyaan khusus di sini tentang hal itu (atau modifikasi yang ini menjadi kurang umum), dan pergi dari sana. Atau bereksperimenlah dengan hati-hati.
belacqua

Jawaban:

22

Ada perbedaan besar antara Windows dan GNU / Linux. Pada Windows itu umum, bahwa setiap program bersama dengan semua perpustakaan yang bergantung padanya diinstal dalam folder yang terpisah. Ini sering menyebabkan banyak ruang disk yang terbuang karena pustaka yang diinstal beberapa kali, untuk setiap program yang menggunakannya.

Di Linux, program diinstal mengikuti Filesystem Hierarchy Standard (FHS). Ini berarti, bahwa perpustakaan yang diandalkan oleh program semuanya diinstal di lokasi khusus yang didedikasikan, sehingga biasanya hanya diinstal sekali, tidak peduli berapa banyak program yang menggunakannya. Selain itu, program dibangun sedemikian rupa, sehingga mereka semua menggunakan versi yang sama dari perpustakaan tertentu. Ini menghemat ruang disk (dan RAM saat runtime), tetapi memiliki kelemahan, bahwa seseorang tidak dapat dengan bebas menginstal program pada partisi atau hard disk yang berbeda, setidaknya tidak tanpa mengedit file konfigurasi sistem (misalnya /etc/ld.so.conf.d untuk memasukkan folder perpustakaan yang berbeda).

Karena sistem paket Debian diimplementasikan dengan FHS dalam pikiran, ada, sejauh yang saya tahu, tidak ada cara mudah untuk menginstal paket Debian ke folder yang berbeda dari yang dimaksudkan untuk ditempatkan dan membuatnya bekerja tanpa memindahkan secara manual dan mengedit file sesudahnya. Ini, karena jalur sering kali dikodekan dengan keras pada waktu kompilasi. Jadi, bahkan jika Anda menginstal paket ke folder yang berbeda, misalnya dengan menggunakan dpkg --instdir=folder/ package.debpada baris perintah, program masih akan mencari konfigurasinya di '/ etc', bukan 'folder / etc', tetapi file konfigurasi yang dikirimkan bersama paket tentu saja diinstal ke 'folder / etc' ... Program juga tidak akan ditambahkan ke menu, karena file menu seharusnya ada di '/ usr / share aplikasi', bukan di folder / usr / share / aplikasi.

Anda tentu saja dapat secara manual mengkonfigurasi dan mengkompilasi program dari kode sumbernya untuk menginstal biner dan bagian data di mana pun Anda inginkan, sambil tetap menginstal file konfigurasi ke lokasi yang sesuai dengan FHS, tetapi ini adalah sesuatu yang hanya saya sarankan untuk pengguna tingkat lanjut. Jika Anda akan mengkompilasi dari sumber, lihat checkinstall , alat yang secara otomatis membuat paket debian.

Opsi lain, yang disarankan pada linuxfromscratch , adalah membongkar paket ke lokasi yang sesuai dan kemudian membuat tautan simbolis ke semua file yang diinstal di lokasi FHS yang sesuai.

Karena dalam komentar yang Anda maksud adalah gim: Banyak gim yang tidak dibeli melalui Ubuntu Software Center datang sebagai installer yang dapat dieksekusi, dan tentu saja itu dapat diinstal ke folder mana pun, biasanya subfolder dari direktori home Anda. Gim Windows, yang sedang dijalankan menggunakan WINE juga dapat diinstal di direktori mana pun yang Anda inginkan. Untuk anggur terdapat variabel lingkungan yang disebut WINEPREFIX yang dengannya Anda dapat mengatur banyak folder WINE independen, masing-masing termasuk virtual C: drive. Baca halaman manual WINE untuk info lebih lanjut.

Bahkan jika game / program datang sebagai paket Debian, Anda dapat melihat isi paket di pengelola arsip favorit Anda. Jika game akan dipasang di / opt, Anda biasanya dapat menginstalnya dengan aman ke folder yang berbeda, karena / opt sering digunakan sebagai lokasi instalasi untuk program yang tidak mematuhi FHS.

sumber jiwa
sumber
Benar dan layak untuk upvotes O
Rinzwind
1
Namun demikian, ini tidak lengkap, karena saya tidak menjelaskan secara rinci apa yang diperlukan untuk mendapatkan paket yang diinstal di lokasi arbitrer yang berfungsi, file mana yang harus diedit dan variabel lingkungan mana yang perlu diatur. Aku hanya takut kalau itu akan menjadi novel berukuran sedang ...
soulsource
1
Saya tidak akan repot. Cukup pasang / etc / di tempat lain. Dibutuhkan 90% dari beban disk dari ssd.
Rinzwind
5

TL; DR

  1. Boot disk USB eksternal dengan versi Ubuntu yang baru saja Anda instal dan saya anggap /dev/sdaSSD Anda dan /dev/sdbHDD Anda.

  2. Buat partisi pada HDD Anda untuk memuat semua aplikasi yang ingin Anda instal (katakanlah 64 GB) menggunakan gparted dan saya berasumsi ini akan menjadi partisi ketiga yang akan Anda buat pada HDD Anda ( /dev/sbd3)

  3. jalankan perintah berikut:

    mkdir /media/apps
    mount /dev/sdb3 /media/apps
    mkdir /media/apps/usr
    cp --preserve=all --recursive /opt /media/apps
    cp --preserve=all --recursive /usr/bin /media/apps/usr
    
  4. sudo nanoyang fstabpada /dev/sda1/etc/untuk mencakup hak berikut setelah /masuk (direktori root)

    /dev/sdb3  /media/apps          ext4   errors=remount-ro  0   0 
    /opt       /media/apps/opt      none   defaults,bind      0   0
    /usr/bin   /media/apps/usr/bin  none   defaults,bind      0   0
    
  5. reboot dan uji

Versi panjang:

Unix / Linux / Ubuntu dianggap sebagai OS server dengan desktop sebagai renungan sedangkan Windows dikonsepsikan sebagai OS Desktop dan server datang sebagai renungan.

Jadi Linux Filesystem Hierarchy Standard memungkinkan Anda memiliki jumlah drive / partisi yang tidak terbatas di mana pun berada dan mengikatnya ke drive atau partisi yang benar dengan transparansi total kepada pengguna sedangkan OS Windows dibatasi hingga maksimum 24 drive yang dapat diakses / partisi ( C:melalui Z:sebagai A:dan B:dicadangkan untuk disket.)

Sebagian besar aplikasi yang Anda instal terinstal /opt/dan /usr/bin, jadi instal Ubuntu secara normal dan kemudian gunakan langkah-langkah di bawah ini di mana saya menganggap /dev/sdaSSD Anda, /dev/sdbadalah HDD Anda dan /dev/sddUSB stick Anda:

  1. Boot disk USB eksternal dengan versi Ubuntu yang baru saja Anda instal.
  2. Buat partisi pada HDD Anda untuk memuat semua aplikasi yang ingin Anda instal (katakanlah 64 GB) menggunakan gparted dan saya berasumsi ini akan menjadi partisi ketiga yang akan Anda buat pada HDD Anda ( /dev/sbd3)
  3. Pasang partisi itu di direktori sementara:

    mkdir /media/apps
    mount /dev/sdb3 /media/apps
    
  4. salin yang ada /optdan /usr/binke sana:

    mkdir /media/apps/usr
    cp --preserve=all --recursive /opt /media/apps
    cp --preserve=all --recursive /usr/bin /media/apps/usr
    
  5. sudo nanoyang fstabpada /dev/sda1/etc/untuk mencakup hak berikut setelah /masuk (direktori root)

    /dev/sdb3  /media/apps          ext4   errors=remount-ro  0   0 
    /opt       /media/apps/opt      none   defaults,bind      0   0
    /usr/bin   /media/apps/usr/bin  none   defaults,bind      0   0
    
  6. reboot dan uji

  7. Jika semuanya berfungsi dengan benar, reboot ke USB stick lagi dan hapus semua yang ada di dalamnya /dev/sda1/optdan /dev/sda1/usr/binuntuk merebut kembali ruang disk yang masih digunakan oleh direktori yang sekarang sudah usang yang sudah terpasang di tempat lain.

Peringatan: perintah terakhir mungkin juga membuat sistem Anda crash jika /dev/sbd3tidak melakukan pemasangan karena kegagalan HW

Fabby
sumber
Windows sebenarnya memiliki dukungan yang sama untuk memasang drive di jalur non-root, selama sekitar satu dekade sekarang. Dan huruf-huruf drive itu juga bisa dipetakan per pengguna, jadi H: \ bisa menjadi direktori home per-pengguna. Bukan kejutan besar: jalur Windows NT terinspirasi oleh VMS, sangat banyak sistem multi-pengguna. Unix juga tidak dipahami sebagai OS server: AT&T membuat pergantian telepon. Dan UNIX secara khusus berbeda dari inspirasi Multics pada awalnya yang kurang multi-pengguna pada awalnya - hanya tidak perlu untuk itu dalam switch telepon.
MSalters
@Malters Wow, tidak tahu sedikit tentang saklar telepon AT&T ... Saya ingat bagian VMS / NT dan M $ menyewa DEC's Principle Engineer, dan bagian OS / 2 juga, tapi sebelum itu , itu adalah Single- shell Desktop pengguna multi-tugas yang sebelumnya kosong. > :-) Diperbarui!
Fabby
1
Windows juga mendukung drive non-huruf ( 1:, !:dll.), Seperti yang dilakukan beberapa versi DOS (dengan karakter lain, [:dll.). Windows tidak terbatas pada 24 partisi (mencari titik pemasangan volume). Versi awal Windows (sebelum 95) menggunakan kooperatif multi-tasking, bukan pre-emptive, antara proses Windows; hanya DOS VMs yang sebelumnya multi-tugas (dalam mode yang ditingkatkan).
Stephen Kitt
1
Saya dulu bekerja di AT&T, di grup UNIX. Itu tidak memulai hidup sebagai saklar telepon.
stevegt
@MSalters Unix tampaknya tidak ada hubungannya dengan sakelar telepon, selain bahwa perusahaan yang bertanggung jawab mengembangkan keduanya; dan tampaknya multi-user sejak awal, sekitar saat nama itu diciptakan. Lihat jawaban ini di SE RC.
Peter - Reinstate Monica
2

Solusi yang saya gunakan untuk Chromebook saya adalah tidak menginstal paket, melainkan mengunduh mitra .tar.gz mereka.

Ini mungkin bukan yang Anda cari, tetapi jika Anda memiliki drive yang sangat kecil dan ingin memisahkan perangkat lunak vital Anda (desktop GNOME, browser web) dari perangkat lunak tambahan Anda (GIMP, IDE, game) untuk menghemat ruang lokal dan menjaga komputer Anda bekerja tanpa drive eksternal, itu solusi terbaik sejauh ini.

acerspyro
sumber