별도의 HDD에 응용 프로그램을 설치하는 방법은 무엇입니까? 검색은 이중 부팅 설치로만 나타납니다. (해결됨->) “/ etc

나는 창문이 너무 좋았고 이제는 완전한 바보 같은 느낌이 든다.

우분투 용 SSD를 가지고 있으며 대부분의 프로그램을 별도의 HDD에 설치하고 싶지만 실마리는 없습니다.
내가 시도한 모든 검색은 이중 부팅 설치로만 나타납니다.

  • (해결됨->)
    “/ etc /”를 찾는 데 문제가 있습니다. 구체적으로 Conky를 수정합니다.
    이 용어를 검색하면 사람들이 파일에 액세스하는 방법이 아니라이 파일에 액세스하도록 지시하는 인스턴스 만 표시됩니다.


답변

Windows와 GNU / Linux에는 큰 차이가 있습니다. Windows에서는 각 프로그램이 종속 된 모든 라이브러리와 함께 별도의 폴더에 설치되는 것이 일반적입니다. 이로 인해 라이브러리를 사용하는 각 프로그램에 대해 라이브러리가 여러 번 설치되어 디스크 공간이 많이 낭비되는 경우가 많습니다.

Linux에서 프로그램은 FHS ( Filesystem Hierarchy Standard)에 따라 설치됩니다 . 즉, 프로그램이 의존하는 라이브러리는 모두 공용 전용 위치에 설치되므로 프로그램을 사용하는 프로그램 수에 관계없이 일반적으로 한 번만 설치됩니다. 또한 프로그램은 특정 라이브러리의 동일한 버전을 사용하는 방식으로 빌드됩니다. 이렇게하면 디스크 공간 (및 런타임에 RAM)이 절약되지만 최소한 시스템 구성 파일을 편집하지 않으면 (예 : /etc/ld.so.conf.d) 다른 파티션이나 하드 디스크에 프로그램을 자유롭게 설치할 수 없다는 단점이 있습니다. 다른 라이브러리 폴더를 포함하려면).

데비안 패키지 시스템은 FHS를 염두에두고 구현되었으므로 내가 아는 한, 데비안 패키지를 원래의 폴더와 다른 폴더에 설치하고 수동으로 이동하지 않고 작동시키는 쉬운 방법은 없습니다 나중에 파일을 편집합니다. 컴파일 타임에 경로가 하드 코드되어 있기 때문입니다. 따라서 dpkg --instdir=folder/ package.deb명령 줄에서와 같이 다른 폴더에 패키지를 설치하더라도 프로그램은 여전히 ​​’folder / etc’가 아니라 ‘/ etc’에서 해당 구성을 찾습니다. 물론 패키지는 ‘folder / etc’에 설치되었습니다 … 메뉴 파일은 폴더 / usr / share /가 아니라 ‘/ usr / share applications’에 있어야하므로 프로그램은 메뉴에 추가되지 않습니다. 신청.

물론 소스 파일에서 프로그램을 수동으로 구성하고 컴파일하여 원하는 위치에 이진 및 데이터 부분을 설치하고 구성 파일을 FHS 호환 위치에 설치하는 것은 물론 권장하는 사항입니다. 고급 사용자. 소스에서 컴파일하려는 경우 자동으로 데비안 패키지를 생성하는 도구 인 checkinstall을 살펴보십시오 .

linuxfromscratch 에서 제안 된 다른 옵션 은 패키지를 적절한 위치에 압축 해제 한 다음 해당 FHS 위치에 설치된 모든 파일에 대한 심볼릭 링크를 만드는 것입니다.

의견에서 당신은 게임을 언급하고 있기 때문에 : Ubuntu Software Center를 통해 구입하지 않은 많은 게임은 설치 프로그램 실행 파일로 제공되며 모든 폴더, 일반적으로 홈 디렉토리의 하위 폴더에 설치할 수 있습니다. WINE을 사용하여 실행되는 Windows 게임은 원하는 디렉토리에 설치할 수도 있습니다. 와인의 경우 WINEPREFIX라는 환경 변수가 있으며 각각 고유 한 가상 C : 드라이브를 포함하여 수많은 독립적 인 WINE 폴더를 설정할 수 있습니다. 자세한 내용은 WINE 매뉴얼 페이지를 참조하십시오.

게임 / 프로그램이 데비안 패키지로 제공 되더라도 좋아하는 아카이브 관리자에서 패키지 내용을 볼 수 있습니다. / opt에 게임을 설치하려는 경우 일반적으로 FHS를 준수하지 않는 프로그램의 설치 위치로 / opt가 사용되므로 일반적으로 다른 폴더에 안전하게 설치할 수 있습니다.


답변

TL; DR

  1. 방금 설치 한 Ubuntu 버전으로 외부 USB 디스크를 부팅하면 /dev/sdaSSD와 /dev/sdbHDD 라고 가정 합니다.

  2. gparted를 사용하여 설치하려는 모든 응용 프로그램 (64GB 라고 가정 함)을 포함하도록 HDD에 파티션을 만들고 이것이 HDD에서 생성 할 세 번째 파티션이라고 가정합니다 ( /dev/sbd3)

  3. 다음 명령을 실행하십시오.

    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 nanofstab에는 /dev/sda1/etc/애프터 다음과 같은 권리 포함 할 /항목 (루트 디렉토리)

    /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. 재부팅 및 테스트

긴 버전 :

유닉스 / 리눅스 / 우분투는 나중에 데스크탑을 사용하는 서버 OS 인 것으로 생각되었지만 Windows는 데스크탑 OS 인 것으로 간주되어 서버는 나중에 생각했습니다.

따라서 Linux Filesystem Hierarchy Standard를 사용하면 어느 곳에 나 드라이브 / 파티션을 무제한 으로 배치 할 수 있으며 사용자에게 투명성을 제공하여 올바른 드라이브 또는 파티션에 바인딩 할 수 있으며 Windows OS는 최대 24 개의 액세스 가능한 드라이브 / (파티션 C:관통 Z:A:B:플로피 디스크를 위해 예약된다.)

직접 설치하는 대부분의 응용 프로그램은 /opt//usr/bin에 설치되므로 Ubuntu를 정상적으로 설치 한 다음 /dev/sdaSSD, /dev/sdbHDD 및 /dev/sddUSB 스틱이라고 가정하는 아래 단계를 사용하십시오 .

  1. 방금 설치 한 Ubuntu 버전으로 외부 USB 디스크를 부팅하십시오.
  2. gparted를 사용하여 설치하려는 모든 응용 프로그램 (64GB 라고 가정 함)을 포함하도록 HDD에 파티션을 만들고 이것이 HDD에서 생성 할 세 번째 파티션이라고 가정합니다 ( /dev/sbd3)
  3. 해당 파티션을 임시 디렉토리에 마운트하십시오.

    mkdir /media/apps
    mount /dev/sdb3 /media/apps
    
  4. 기존 /opt/usr/bin거기에 복사하십시오 :

    mkdir /media/apps/usr
    cp --preserve=all --recursive /opt /media/apps
    cp --preserve=all --recursive /usr/bin /media/apps/usr
    
  5. sudo nanofstab에는 /dev/sda1/etc/애프터 다음과 같은 권리 포함 할 /항목 (루트 디렉토리)

    /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. 재부팅 및 테스트

  7. 모든 것이 올바르게 작동하면 USB 스틱으로 다시 재부팅하고에있는 모든 것을 삭제 /dev/sda1/opt하고 /dev/sda1/usr/bin이미 다른 곳에 마운트 된 더 이상 사용되지 않는 디렉토리로 사용중인 디스크 공간을 되 찾으십시오.

경고 : HW 오류로 인해 마운트하지 않을 경우 마지막 명령으로 인해 시스템이 중단 될 수도 있습니다./dev/sbd3


답변

크롬 북에 사용한 솔루션은 패키지를 설치하지 않고 .tar.gz를 다운로드하는 것입니다.

이것은 당신이 찾고있는 것이 아닐 수도 있지만, 매우 작은 드라이브가 있고 중요한 소프트웨어 (GNOME 데스크탑, 웹 브라우저)를 추가 소프트웨어 (GIMP, IDE, 게임)에서 분할하여 로컬 공간을 절약하고 외장 드라이브없이 컴퓨터를 계속 작동 시키십시오. 지금까지 IMO가 최고의 솔루션입니다.