Làm thế nào để cài đặt các ứng dụng cho một hdd riêng biệt?


10

Tôi đã rất tốt với các cửa sổ, bây giờ tôi cảm thấy như một thằng ngốc hoàn toàn.

Tôi có một ổ SSD cho Ubuntu và muốn cài đặt phần lớn các chương trình của mình vào một ổ cứng riêng nhưng tôi không biết làm thế nào.
Tất cả các tìm kiếm tôi đã thử chỉ bật lên với cài đặt khởi động kép.

  • (GIẢI QUYẾT ->) Tôi cũng gặp khó khăn khi định vị "/ etc /". Cụ thể, để sửa đổi Conky.
    Tìm kiếm thuật ngữ này chỉ bật lên các trường hợp mà mọi người đang bảo bạn truy cập tệp này, không phải làm thế nào để truy cập vào nó.

1
Hãy xem cái này , nó sẽ giúp bạn bắt đầu.
Mitch

Tôi có ấn tượng rằng tất cả mọi thứ mở rộng từ thư mục nhà. Rất tiếc. Trang mà bạn liên kết không hữu ích về vấn đề của tôi, nhưng tôi đang đọc qua nó và học hỏi rất nhiều, vì vậy cảm ơn bạn.
plaguedoctor

Tôi đã thêm các thẻ mount và fstab; bạn có thể thực hiện những gì bạn mô tả bằng cách đặt thủ công các hệ thống tệp cụ thể để gắn vào các phân vùng hoặc ổ đĩa cụ thể.
belacqua

@belacqua còn cách nào khác không? Tôi không chỉ muốn các hệ thống tệp cụ thể trên một ổ đĩa khác, tôi muốn tất cả các hệ thống tệp của các chương trình cụ thể. Bằng cách đó, tôi có thể sắp xếp chúng theo mức độ chuyên sâu của hệ thống của mình, có các trò chơi / hộp ảo / vv hoàn toàn trên ổ SSD của tôi và những thứ như libreoffice / thunderbird hoàn toàn trên một trong các ổ cứng.
plaguedoctor

Thật không dễ dàng để xác định nơi cài đặt nhất định và các tệp của nó có thể nằm - xem câu trả lời trong liên kết mà Mitch đã đề cập. Bạn cũng có thể sử dụng những thứ như symlink, nhưng khuyến nghị của tôi là bắt đầu đơn giản. Tìm một ứng dụng ví dụ, đặt một câu hỏi cụ thể ở đây về nó (hoặc sửa đổi câu hỏi này thành ít chung chung hơn) và đi từ đó. Hoặc thử nghiệm thận trọng.
belacqua

Câu trả lời:


22

Có một sự khác biệt lớn giữa Windows và GNU / Linux. Trên Windows, điều phổ biến là mỗi chương trình cùng với tất cả các thư viện mà nó phụ thuộc được cài đặt trong một thư mục riêng. Điều này thường dẫn đến rất nhiều dung lượng đĩa bị lãng phí do các thư viện được cài đặt nhiều lần, cho mỗi chương trình sử dụng chúng.

Trên Linux, các chương trình được cài đặt theo Tiêu chuẩn phân cấp hệ thống tập tin (FHS). Điều này có nghĩa là tất cả các thư viện mà các chương trình phụ thuộc đều được cài đặt ở một vị trí dành riêng chung, do đó chúng thường chỉ được cài đặt một lần, bất kể có bao nhiêu chương trình sử dụng chúng. Ngoài ra, các chương trình được xây dựng theo cách như vậy, tất cả chúng đều sử dụng cùng một phiên bản của một thư viện nhất định. Điều này giúp tiết kiệm dung lượng ổ đĩa (và RAM khi chạy), nhưng có một nhược điểm là người ta không thể tự do cài đặt các chương trình trên các phân vùng hoặc đĩa cứng khác nhau, ít nhất là không phải không chỉnh sửa các tệp cấu hình hệ thống (ví dụ /etc/ld.so.conf.d để bao gồm các thư mục thư viện khác nhau).

Do hệ thống gói Debian được triển khai với FHS trong tâm trí, nên theo tôi biết, không có cách nào dễ dàng để cài đặt các gói Debian vào một thư mục khác với thư mục mà chúng dự định được đặt và chúng hoạt động mà không cần di chuyển thủ công và chỉnh sửa tập tin sau đó. Điều này là do các đường dẫn thường được mã hóa cứng tại thời điểm biên dịch. Vì vậy, ngay cả khi bạn cài đặt gói vào một thư mục khác, ví dụ bằng cách sử dụng dpkg --instdir=folder/ package.debtrên dòng lệnh, chương trình vẫn sẽ tìm cấu hình của nó trong '/ etc', không phải 'thư mục / etc', nhưng các tệp cấu hình được gửi cùng với gói tất nhiên đã được cài đặt vào 'thư mục / etc' ... Chương trình sẽ không được thêm vào menu, vì các tệp menu được cho là trong '/ usr / share application', không phải trong thư mục / usr / share / các ứng dụng.

Tất nhiên, bạn có thể tự cấu hình và biên dịch chương trình từ mã nguồn của nó để cài đặt phần nhị phân và dữ liệu bất cứ nơi nào bạn muốn, trong khi vẫn cài đặt tệp cấu hình cho các vị trí tuân thủ FHS, nhưng đây là điều tôi chỉ khuyên dùng người dùng cao cấp. Nếu bạn định biên dịch từ nguồn, hãy xem checkinstall , một công cụ tự động tạo các gói debian.

Một tùy chọn khác, được đề xuất trên linuxfromscratch , là giải nén gói đến một vị trí phù hợp và sau đó tạo liên kết tượng trưng cho tất cả các tệp được cài đặt trong các vị trí FHS tương ứng.

Vì trong các nhận xét mà bạn đã đề cập đến các trò chơi: Nhiều trò chơi không được mua thông qua Trung tâm phần mềm Ubuntu có thể được cài đặt và tất nhiên chúng có thể được cài đặt vào bất kỳ thư mục nào, thường là thư mục con của thư mục chính của bạn. Các trò chơi Windows đang được chạy bằng WINE cũng có thể được cài đặt trong bất kỳ thư mục nào bạn muốn. Đối với rượu vang tồn tại một biến môi trường được gọi là WINEPREFIX mà bạn có thể thiết lập nhiều thư mục WINE độc lập, mỗi thư mục bao gồm cả ổ C: ảo. Đọc trang người đàn ông RƯỢU để biết thêm.

Ngay cả khi các trò chơi / chương trình đến dưới dạng các gói Debian, bạn có thể xem nội dung gói trong trình quản lý lưu trữ yêu thích của mình. Nếu trò chơi sẽ được cài đặt trong / opt, bạn thường có thể cài đặt nó vào một thư mục khác một cách an toàn, vì / opt thường được sử dụng làm vị trí cài đặt cho các chương trình không tuân thủ FHS.


Đúng và xứng đáng để nâng cấp O
Rinzwind

1
Tuy nhiên, nó vẫn chưa hoàn thành, vì tôi đã không giải thích chi tiết những gì sẽ được yêu cầu để cài đặt một gói tại một vị trí tùy ý làm việc, những tập tin nào sẽ phải chỉnh sửa và những biến môi trường nào sẽ được đặt. Tôi chỉ sợ rằng sau đó nó sẽ trở thành một cuốn tiểu thuyết cỡ trung bình ...
soulsource

1
Tôi sẽ không bận tâm. Chỉ cần gắn kết / etc / nơi khác. Phải mất 90% tải đĩa từ ssd.
Rinzwind

5

TL; DR

  1. Khởi động đĩa USB ngoài với phiên bản Ubuntu bạn vừa cài đặt và tôi giả sử /dev/sdalà SSD của bạn và /dev/sdblà ổ cứng của bạn.

  2. Tạo phân vùng trên ổ cứng của bạn để chứa tất cả các ứng dụng bạn muốn cài đặt (giả sử là 64 GB) bằng cách sử dụng gparted và tôi cho rằng đây sẽ là phân vùng thứ ba bạn sẽ tạo trên ổ cứng ( /dev/sbd3)

  3. thực hiện các lệnh sau:

    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 nanocác fstabtrên /dev/sda1/etc/bao gồm quyền sau đây sau khi /nhập cảnh (thư mục gốc)

    /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. khởi động lại và kiểm tra

Phiên bản dài:

Unix / Linux / Ubuntu được coi là một hệ điều hành máy chủ với máy tính để bàn như một suy nghĩ trong khi Windows được hình thành là một HĐH máy tính để bàn và máy chủ xuất hiện như một suy nghĩ sau.

Vì vậy, Tiêu chuẩn phân cấp hệ thống tập tin Linux cho phép bạn có số lượng ổ đĩa / phân vùng không giới hạn được đặt ở bất cứ đâu và liên kết chúng với ổ đĩa hoặc phân vùng chính xác với độ trong suốt cho người dùng trong khi HĐH Windows bị giới hạn tối đa 24 ổ đĩa có thể truy cập / phân vùng ( C:thông qua Z:as A:B:được dành riêng cho đĩa mềm.)

Hầu hết các ứng dụng bạn tự cài đặt đều được cài đặt /opt//usr/bin, vì vậy hãy cài đặt Ubuntu bình thường và sau đó sử dụng các bước dưới đây mà tôi khẳng định /dev/sdalà SSD của bạn, /dev/sdblà ổ cứng của bạn và /dev/sddlà thanh USB của bạn:

  1. Khởi động đĩa USB ngoài với phiên bản Ubuntu bạn vừa cài đặt.
  2. Tạo phân vùng trên ổ cứng của bạn để chứa tất cả các ứng dụng bạn muốn cài đặt (giả sử là 64 GB) bằng cách sử dụng gparted và tôi cho rằng đây sẽ là phân vùng thứ ba bạn sẽ tạo trên ổ cứng ( /dev/sbd3)
  3. Gắn kết phân vùng đó trong một thư mục tạm thời:

    mkdir /media/apps
    mount /dev/sdb3 /media/apps
    
  4. sao chép hiện có /opt/usr/binđến đó:

    mkdir /media/apps/usr
    cp --preserve=all --recursive /opt /media/apps
    cp --preserve=all --recursive /usr/bin /media/apps/usr
    
  5. sudo nanocác fstabtrên /dev/sda1/etc/bao gồm quyền sau đây sau khi /nhập cảnh (thư mục gốc)

    /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. khởi động lại và kiểm tra

  7. Nếu mọi thứ hoạt động chính xác, hãy khởi động lại vào thanh USB một lần nữa và xóa mọi thứ trong /dev/sda1/opt/dev/sda1/usr/binđể lấy lại không gian đĩa vẫn còn được sử dụng bởi các thư mục đã lỗi thời đã được gắn ở một nơi khác.

Cảnh báo: lệnh cuối cùng cũng có thể khiến hệ thống của bạn gặp sự cố trong trường hợp /dev/sbd3không thể cài đặt do lỗi CTNH


Windows thực sự có hỗ trợ tương tự để gắn ổ đĩa trên các đường dẫn không phải root, trong khoảng một thập kỷ nay. Và các ký tự ổ đĩa đó cũng có thể được ánh xạ cho mỗi người dùng, vì vậy H: \ có thể là một thư mục nhà của mỗi người dùng. Không có gì ngạc nhiên lớn: dòng Windows NT được lấy cảm hứng từ VMS, rất nhiều hệ thống nhiều người dùng. Unix cũng không được hình thành như một hệ điều hành máy chủ: AT & T đã thực hiện chuyển đổi điện thoại. Và UNIX đặc biệt khác với cảm hứng của nó, Multics ban đầu ít hướng đến nhiều người dùng hơn - đơn giản là không cần điều đó trong một chuyển đổi điện thoại.
MSalters

@MSalters Wow, không biết bit chuyển đổi điện thoại AT & T ... Tôi nhớ phần VMS / NT và Kỹ sư nguyên tắc của M $ đã thuê, và cả phần OS / 2, nhưng trước đó , nó là một phần người dùng vỏ máy tính để bàn đa tác vụ trước. > :-) Đã cập nhật!
Fabby

1
Windows cũng hỗ trợ các ổ đĩa không phải chữ cái 1:, !:v.v., cũng như một số phiên bản của DOS (với các ký tự khác, [:v.v.). Windows không giới hạn ở 24 phân vùng (tra cứu các điểm gắn kết âm lượng). Các phiên bản đầu tiên của Windows (trước 95) đã sử dụng đa tác vụ hợp tác, không được ưu tiên giữa các quy trình của Windows; chỉ các máy ảo DOS được đa nhiệm vụ trước (ở chế độ nâng cao).
Stephen Kitt

1
Tôi đã từng làm việc tại AT & T, trong nhóm UNIX. Nó không bắt đầu cuộc sống như một công tắc điện thoại.
stevegt

@MSalters Unix dường như không liên quan gì đến các thiết bị chuyển mạch điện thoại, ngoài việc công ty có trách nhiệm đã phát triển cả hai; và nó dường như đã được nhiều người dùng từ rất sớm, vào khoảng thời gian tên được đặt ra. Xem câu trả lời này trên SE RC.
Peter - Tái lập Monica

2

Giải pháp tôi đã sử dụng cho Chromebook của mình là không cài đặt các gói mà thay vào đó, tải xuống bản sao .tar.gz của chúng.

Đây có thể không phải là thứ bạn đang tìm kiếm, nhưng nếu bạn có một ổ đĩa rất nhỏ và muốn tách phần mềm quan trọng của bạn (máy tính để bàn Gnome, trình duyệt web) khỏi phần mềm bổ sung của bạn (GIMP, IDE, trò chơi) để tiết kiệm một số không gian cục bộ và giữ cho máy tính của bạn hoạt động mà không cần ổ đĩa ngoài, đó là giải pháp tốt nhất cho đến nay IMO.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.