내 PC 중 하나가 인터넷에 연결되어 있지 않고 Ubuntu가 설치되어 있으며 최신 버전으로 업그레이드하려고 했습니다. 최신 업데이트 목록을 얻으면 apt-get --print-uris install <package>
패키지 및 종속 항목을 게시하고 다운로드하여 URL을 쉽게 얻을 수 있다는 것을 알게 되었습니다. 인터넷이 연결된 다른 컴퓨터와 연결한 다음 오프라인 컴퓨터로 이동하여 설치합니다. 그 전에 업데이트 목록을 가져와 오프라인 컴퓨터로 가져오는 방법도 알고 싶습니다.
apt-get --print-uris update
내 오프라인 컴퓨터에 이와 유사한 항목이 나열되어 있습니다 'http://security.ubuntu.com/ubuntu/dists/focal-security/main/cnf/Commands-amd64.xz' security.ubuntu.com_ubuntu_dists_focal-security_main_cnf_Commands-amd64
. 이 패키지를 다운로드해야 합니까? 오프라인 컴퓨터에서 작동하게 하려면 어떻게 해야 하나요?
답변1
좋은 질문입니다. 닭이 먼저냐 달걀이 먼저냐의 문제입니다. --print-uris
최신 패키지 목록이 없으면 유용한 것을 출력할 방법이 없습니다.
네트워크로 연결된 시스템이 sources.list
오프라인 시스템과 동일한 구성을 갖는 경우그리고동일한 패키지가 설치되며 일부 알려진 패키지를 설치한 다음 해당 패키지를 USB 스틱에 다운로드하면 작동합니다 apt-get update
.apt-get --print-uris install PACKAGES
그렇지 않으면 최신 패키지의 전체 목록을 오프라인 시스템으로 반환해야 합니다.
패키지 목록은 에 저장되어 있으므로 /var/lib/apt/lists/
복사하거나 복사해야 합니다.
apt update
인터넷이 연결된 컴퓨터에서 실행하고 패키지 목록을 USB 스틱에 복사하여 오프라인 컴퓨터로 전송할 수 있습니다.
대략 다음과 같습니다.
인터넷에 연결된 머신에서:
mount "$USB_DEVICE" /mnt
mkdir -p /mnt/lists/
apt update
cp /var/lib/apt/lists/* /mnt/lists/
umount /mnt
을 실행하면 cp
하위 디렉토리(예 ..../partial
: )를 복사할 수 없다는 경고가 표시될 수 있습니다. 이러한 경고는 중요하지 않으므로 무시하세요.
오프라인 머신에서:
mount "$USB_DEVICE" /mnt
cp /mnt/lists/* /var/lib/apt/lists/
apt-get --print-uris dist-upgrade > /mnt/URIs.txt
umount /mnt
이제 URIs.txt가 포함된 USB 스틱을 인터넷에 연결된 컴퓨터로 다시 가져와 패키지 파일 다운로드를 시작한 다음 USB 스틱에 복사하여 오프라인 컴퓨터로 다시 전송할 수 있습니다.