또는 ubntu-desktop이 아니라도 같은 버전의 package를 여러 서버에 설치해야 할 때 아래 방법을 쓰면 된다
- 일단 인터넷이 연결된 준비 서버가 필요하다.
- 준비서버에서 ubuntu-desktop 설치 파일 deb를 다운 받아놓고
- 설치 대상 서버에 준비된 deb 파일을 이용해 설치하면 된다.
1. 준비 서버에서 package를 설치한다
인터넷이 연결된 준비 서버에서 패키지를 설치한다.설치할때, 출력내용을 리다이렉션하여 파일로 저장한다.
-y 옵션이 없으면 설치가 진행되지 않으니 추가한다.
$ sudo apt install -y ubuntu-desktop > ubuntu-desktop.list
설치 과정 및 결과 메시지가 ubuntu-desktop.list에 저장되어 있다.
내용이 엄청 길다. ubuntu-desktop 설치에 필요한 dependency들이 많기 때문.
많은 내용 중 Setting Up .... 부분이 각 dependency를 설치하고 셋업한 부분이다.
이 부분에 명시된 dependency들을 deb로 다운받아 보관하면, 이 파일들을 인터넷 없는 서버에 복사해서 설치할 수 있다.
Setting up system-config-printer-udev (1.5.12-0ubuntu1.1) ...
Setting up xserver-xorg-core (2:1.20.13-1ubuntu1~20.04.2) ...
Setting up xserver-xorg-video-radeon (1:19.1.0-1) ...
Setting up xserver-xorg-input-wacom (1:0.39.0-0ubuntu1) ...
Setting up xserver-xorg-video-fbdev (1:0.5.0-1ubuntu1) ...
Setting up xserver-xephyr (2:1.20.13-1ubuntu1~20.04.2) ...
Setting up xserver-xorg-video-vmware (1:13.3.0-3) ...
Setting up xserver-xorg-video-intel (2:2.99.917+git20200226-1) ...
Setting up xserver-xorg-video-vesa (1:2.4.0-2) ...
Setting up xserver-xorg-video-qxl (0.1.5+git20200331-1) ...
Setting up xserver-xorg-video-amdgpu (19.1.0-1) ...
Setting up xserver-xorg (1:7.7+19ubuntu14) ...
Setting up xserver-xorg-video-nouveau (1:1.0.16-1) ...
Setting up xserver-xorg-input-libinput (0.29.0-1) ...
Setting up xserver-xorg-video-ati (1:19.1.0-1) ...
Setting up xserver-xorg-video-all (1:7.7+19ubuntu14) ...
Setting up xserver-xorg-input-all (1:7.7+19ubuntu14) ...
Setting up adwaita-icon-theme (3.36.1-2ubuntu0.20.04.2) ...
2. 준비서버에서 deb 파일(dependency 포함) 다운 받기
위 Setting up 부분에서 pkg 이름만 먼저 분리한다.$ sed -n '/Setting up/p' ubuntu-desktop.list > ubuntu-desktop-deb.list
Setting up 이라는 문구가 있는 line들만 ubuntu-desktop-deb.list파일에 저장되었다.
다음은 Setting up이라는 문구와 pkg 이름 뒤쪽 괄호 부분, ':amd.64'등을 삭제한다.
$ sed -i "s/Setting up //" ubuntu-desktop-deb.list
$ sed -i "s/ (.*//g" ubuntu-desktop-deb.list
$ sed -i "s/:amd.*//" ubuntu-desktop-deb.list
이제 ubuntu-desktop-deb.list에 있는 pkg 설치를 위한 deb 파일을 다운받으면 된다.
$ xargs -a ubuntu-desktop-deb.list sudo apt-get download
3. 인터넷 없는 설치 대상 서버에 ubuntu-desktop 설치하기
다운받은 deb파일들을 대상 서버에 모두 복사 한 뒤 설치하면 끝. 마지막에는 deb 파일이 위치한 경로이다.$ sudo dpkg -i --force-all .
dpkg는 dependency 설치 순서를 고려해주지 않는다.
dependency들 중 특정 dependency가 설치되고 이후에 설치되야 하는 것들이 있는데 이런 걸 신경안쓴다는 뜻.
그래서 --force-all 옵션이 필요하다
0 댓글