2022년 4월 우분투 22.04가 출시되었고, 데비안은 몇 개월 전에 11 버전 (bulleye)이 출시된 상태입니다. 그동안 우분투를 몇 년 사용하면서 가장 좋았던 점은 사용자가 설정해야 할 부분을 잘 손질해 두어서 크게 손 볼 것이 없다는 것이었습니다. 실제로, 설정 부분은 데비안도 크게 차이가 없으며, 마찬가지로 손 볼 부분이 거의 없습니다. 아마도 이 부분은 아주 오래 전의 설정을 많이 수정할 당시의 기억의 혼선으로 보입니다. 대체로 같은 시대의 리눅스 배포판은 설정 부분에서 서로 크게 차이가 없는 것으로 판단됩니다.
반면에, 스냅 아래로의 패키지의 이동은 패키지를 설치하기 위해 다른 방법을 찾아야 한다는 문제점을 안겨 주었고, 게다가, 캐노니컬의 이론 행보는 다음 버전에 대한 기대보다는 또 다른 더 귀찮은 상황을 만드는 방향으로 갈 것으로 예상이 되어서, 더 이상 사용할 만하고 다른 사람에게 권할 만한 배포판은 아니라는 결론에 이르렀습니다.
어쨌든, 몇 개월 전에도 데비안으로의 이전을 고려했지만, 현재 시스템에서 동작중인 서비스들이 데비안에서 잘 작동할지 여부, 자주 사용하는 프로그램들을 설치할 수 있을지 여부를 확인하고 여기저기 흩어져 있는 설정들을 백업해야 하는 귀찮은 작업을 고려해서 잠시 보류 상태였습니다.
한편, 가장 중요한 미디어위키 서비스는 잘 작동할 것임을 확인을 했고, 나머지 서버스들도 대체로 데비안에 패키지로 존재할 것으로 예상됩니다.
이제, 우분투에서 데비안으로 이동하기 위한 사전 준비 작업과 실제 실행한 내용을 기록해 두려고 합니다.
잘 가시오. 우분투 !!
이 기사와 관련된 데비안 기사에서 언급된 로컬 빌드 패키지들은 다움 데비안 11 저장소에서 받을 수 있습니다.
패키지들은 여기서 확인하십시오.
사전 준비 작업
dpkg 호환성 문제
이 문제는, 1.21.18 버전에서 패치되었고, bookworm 출시에 포함될 것으로 기대됩니다.
보통 우분투에서 제작된 deb 패키지는 데비안에서 가능한 사용되었지만, jammy에서 빌드된 패키지는 사용할 수 없습니다. dpkg가 바이너리 레벨에서 호환성이 유지되지 않고, 데비안에서 zstd 형식을 지원하는 것을 논의 중이지만, 아직 적용이 되지 않았습니다.
이 문제는 다음 중 하나를 선택함으로써 해결될 수 있습니다:
- 호환되지 않는 우분투 패키지를 사용하지 않는다.
- 로컬에서 새롭게 빌드해서 사용한다.
- dpkg를 패치해서 사용한다. 위에서 만들어진 패치가 어느 정도로 안정적인지는 모르겠지만, 패치된 패키지를 설치 후에, 작동합니다.
프로그램 목록 얻기
나중에 필요한 프로그램이 무엇인지 생각이 나지 않을 수 있기 때문에, 아래와 같이 파일을 만들어 둡니다:
- apt list --installed > ubuntu_22.04_installed_program.txt
현재 실행 중인 서비스 목록 얻기
아래에서, 첫 번째 명령은 실행 중인 목록을 얻고, 두 번째 명령은 중지된 목록을 얻습니다:
service --status-all | grep '\[ + \]'
service --status-all | grep '\[ - \]'
이것 외에 추가적으로 systemctl에서 관리되는 것들이 있습니다. 아마도 이것으로 목록화해야 할 것으로 보입니다. 순서대로, 전체 목록, 로드되고 활성 상태인 목록, 실행 중인 목록, 및 중지된 목록을 저장합니다:
- systemctl --type service --all > all_service.txt
- systemctl --type service > load_active_service.txt
- systemctl --type service --state running > running_service.txt
- systemctl --type service --all --state exited > exited_service.txt
백업 목록
- /etc/
- /lib/systemd/system/
- /var/www/
- /var/ftp/
- /var/lib/mysql/
- /usr/local/
- /usr/share/fonts/truetype/ 아래의 별도 설치된 ttf 파일
- /home/$USER/ 아래에서
- Virtual, Backup, MyWork는 별도의 물리적 장치의 마운트 포인트
- Downloads, Music, Videos는 MyWork 아래로 심볼릭 링크
- Documents 아래의 데이터는 MyWork/Documents로의 심볼릭 링크인 Backup의 복사
- .config/autostart/
- .icons/
- .local/share/applications/
- .local/share/fonts/
- .themes/
- .bashrc
- .gvimrc
- .vimrc
- .vimrc_nordic
이주하기
설치 미디어
이전에 USB 설치 미디어는 윈도우 10과 리눅스를 멀티부팅으로 제작해 주는 툴을 사용했습니다. 해당 툴은 데비안 라이브 cd만을 지원했고, 640x480 해상도로 부팅이 되면서 설치가 용이하지 않았습니다.
이전과 마찬가지로 DVD-1 iso 파일을 우분투에서 다음 과정으로 구웠습니다: USB 디바이스의 장치 이름을 확인하려고 합니다:
- lsblk
보통 USB를 꽂으면, 바로 마운트가 되기 때문에, 굽기 위해 마운트를 해제합니다: 아래에서 sdx 대신에 sda, sdb 등으로 바꾸어야 합니다:
- sudo umount /dev/sdx1
다음 명령으로 구울 수 있습니다:
- sudo dd bs=4M if=debian-11.3.0-amd64-DVD-1.iso of=/dev/sdx status=progress oflag=sync
여기서는 디바이스 전체에 쓰기 때문에, 숫자를 붙이지 않습니다.
데비안 설치 프로그램
데비안 설치 프로그램이 오래된 모양을 유지하고 있지만, 초보자에게 가장 문제가 되는 것은 역시 파티션, 마운트, 및 파일시스템 만들기(포맷)입니다. 만약 시스템에 하나의 디스크를 갖고 있으면, 이런 부분은 전혀 문제가 되지 않겠지만, 둘 이상의 디바이스를 갖고 있고, 이미 데이터를 보유하고 있다면, 여러 번의 확인 과정이 필요합니다.
다른 부분은 유지하더라도, 이 부분은 다른 배포판처럼, 좀 더 직관적인 형태로 바뀌었으면 하는 바람입니다.
또 다른 사항은 커널 5.0부터 스왑 파일을 지원함에도 불구하고, 설치 프로그램에서 스왑 파티션이 없으면, 더 이상 진행이 안된다는 것입니다. 이 부분은 둘 다를 지원하던지 스왑 파티션 없이 설치가 되도록 수정이 필요해 보입니다.
초보자분들은 데비안 라이브 CD 이미지로 부팅 디바이스를 만드는 것을 추천합니다. 왜냐하면, 데비안 라이브 CD 이미지는 라이브 모드로 부팅 후에, Calamares 설치 프로그램이 있어서, 위에서 지적되었던, 파티션 관련된 내용과 스왑 파티션의 요구와 같은 문제가 사라집니다. |
저장소 추가
데비안은 자유와 오픈-소스 소프트웨어를 권장하고 있지만, 독점 소프트웨어도 사용자를 위해 지원합니다. 기본 저장소 목록, /etc/apt/sources.list에서 main contrib non-free와 같이 수정해야 해당 소프트웨어를 사용할 수 있습니다.
게다가, 특정 프로그램을 컴파일하려면, 의존성 프로그램 중의 일부가 데비안 안정 버전에 있는 버전보다 높은 것을 요구합니다. 이때, 시드 등의 불안정 버전에서 현재의 안정 버전에 맞게 컴파일된 프로그램들이 있습니다. 이들 패키지들은, 만약 있다면, bullseye-backports에 존재합니다. 설치 시에는, 예를 들어 meson을 설치하려면, 아래의 2가지 방법이 있습니다:
- sudo vi /etc/apt/sources.list
deb http://ftp.kaist.ac.kr/debian/ bullseye-backports main contrib non-free
- sudo apt update
- sudo apt install -t bullseye-backports meson
또는
- sudo apt install meson/bullseye-backports
AMD firmware
AMD 펌웨어를 설치하기 위해서, 위의 non-free 저장소를 추가해야 하고, 다음과 같은 것들을 설치하는 것이 좋습니다:
- sudo apt install firmware-amd-graphics
- sudo apt install amd64-microcode
- sudo apt innstall firmware-linux-nonfree firmware-misc-nonfree
그래픽 카드가 제대로 동작하지 않으면, 대체로 펌웨어 문제일 가능성이 높습니다.
디스크 마운트
기존의 데이터가 있는 디스크 디바이스를 /etc/fstab에 삽입해야 합니다. 물론, 포맷하지 않는 파티션은 uuid가 바뀌지는 않지만, 다음과 같이 확인할 수 있습니다:
- lsblk
- ls /dev/disk/by-uuid
프로그램 설치와 데이터 복원
넷의 데이터베이스를 sql 덤프했고, 가장 중요한, 수년의 작업 결과를 보유한 데이터베이스의 덤프 파일이 삽입이 되지 않는 문제가 발생했습니다. 물론, 해당 부분의 오류가 어느 정도 치명적인지는 모르겠지만, 160M의 파일을 편집기에서 다루는 것이 쉽지 않았고, 결국, 아주 약간의 데이터의 손실을 가진, 자동 백업본 3개 중에서 가장 최근 dump 파일을 삽입할 수 있었습니다. 중요한 데이터는 다중 백업이 기본입니다!!
위의 문제는 예상컨대 이미 여러 번 지적했던, 작업 대기열을 비우지 않아서 발생한 문제로 생각됩니다. 다른 셋의 데이터베이스는 최근에 변경 사항이 없어서 문제가 발생하지 않은 것으로 추정됩니다.
apache cassandra : 데비안 11에서 자바 8을 지원하지 않아서, Sun java를 설치했고, 최근 버전에서 jre-331에 버그가 존재합니다. 물론 서버스 자체에는 문제가 없는 것으로 보입니다. 어쨌든, 최초에 이 작업과 다른 작업과 어디서 문제가 생겼는지 해당 서비스가 실행되지 않아서, 수 시간을 작업한 내용을 버리고 다시 설치를 진행해야 했습니다.
php8.1 and php-luasandbox : php8.1은 우분투 ppa와 마찬가지로 sury의 패키지를 사용할 수 있습니다. 그러나, bullseye에서 제공하는 php-luasandbox는 해당 php 버전을 지원하지 않는 데다가, 아주 많은 의존성 패키를 가집니다. 어쨌든, sid의 패키지를 설치할 수 있습니다.
other servies : 나머지 서비스들도 백업된 것에서 설정을 가져와 문제없이 동작한 것으로 기억되고, 문제가 있었더라도 쉽게 해결이 되었기 때문에, 기억에 남아 있지 않습니다.
Appearance
데비안 그놈 테마를 좀 더 통일성 있게 보이도록 꾸밀 필요가 있습니다.
Applications : Nordic-darker (해당 테마는 /root/.themes 아래에 복사해 두십시오)
Cursor : Bibata-Modern-ice 또는 Volantes_cursors
Icons : Nordic-Darker (Papirus-Dark로부터 상속되므로, Papirus icon theme 설치해야 함)
Shell : Black-Maia
Gnome-terminal : Nordic 또는 Dracula
Gvim : Nordic 또는 Dracula (/root 디렉토리 아래에도 복사해 두십시오)