본문으로 바로가기

2년에 한번씩 찾아오는 우분투 ToDO...

캐노니컬이 Desktop 환경을 Unity에서 GNOME Shell로 변경해서 우분투 설치가 꺼려졌는데, 회사 PC 교체로 인해 우분투 18.04 및 GNOME Shell에 도전 하기로 하였다.


우분투 18.04 버전부터 불필요한 패키지 없이 우분투 구동에 필요한 최소한의 패키지 설치로 우분투 설치가 가능하다. 따라서 여기 문서는 우분투 18.04 최소 설치 기준으로 작성하였다.

1. GRUB 설정

어느 버전의 우분투를 설치하여도 이것은 반드시 설정하고 가야 한다. 그렇지 않다면 부팅시 분홍 화면을 10초 무조건 지켜보고 있어야 한다. 부팅 메뉴 대기 시간을 줄이고, 화면에 출력되도록 하자.

diff -Nura a/etc/default/grub b/etc/default/grub
--- a/etc/default/grub	2018-08-25 23:47:33.523412870 +0900
+++ b/etc/default/grub	2018-08-25 23:49:39.871408914 +0900
@@ -4,8 +4,7 @@
 #   info -f grub -n 'Simple configuration'
 
 GRUB_DEFAULT=0
-GRUB_TIMEOUT_STYLE=hidden
-GRUB_TIMEOUT=10
+GRUB_TIMEOUT=2
 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
 GRUB_CMDLINE_LINUX=""

이것을 우분투 설치할 때마다 고쳐서 사용하는데, 다른 사람들은 무시하고 쓰는 것인지 아니면 문제 없는 것인지 항상 의심이 든다. UEFI로 설치하면 부팅 메뉴는 출력되지만 UEFI로 설치하지 않을 경우 부팅 메뉴에서 정상적인 출력이 되지 않는다.

sudo update-grub

GRUB 설정 파일을 변경하였다면 update-grub 명령어를 사용하여 적용하도록 하자.

2. /etc/fstab 설정

요즘 출시되는 우분투는 여러 파일 시스템을 지원하지만, 익숙한 EXT4를 사용하고 있다. 우분투 16.04 버전부터 SSD 자동 트림을 지원한다고 하지만 discard를 습관적으로 설정한다.

diff -Nura a/etc/fstab b/etc/fstab
--- a/etc/fstab	2018-08-25 23:45:36.591416531 +0900
+++ b/etc/fstab	2018-08-25 23:57:58.474985192 +0900
@@ -6,5 +6,7 @@
 #
 #                
 # / was on /dev/sda1 during installation
-UUID=af4c2971-76cc-4a7a-bba0-1d8fd0c48dcc /               ext4    errors=remount-ro 0       1
-/swapfile                                 none            swap    sw              0       0
+UUID=af4c2971-76cc-4a7a-bba0-1d8fd0c48dcc /               ext4    discard,noatime,errors=remount-ro    0       1
+
+tmpfs                                     /tmp            tmpfs   defaults,noatime,size=512M,mode=1777 0       1
+#/swapfile                                none            swap    sw                                   0       0

램디스크 생성은 선택 사항인데, 메모리가 남아돌고 구지 브라우저 캐시 데이터를 SSD에 쓸 필요가 없다고 생각하여 브라우저 캐시 데이터는 램디스크로 설정하려고 램디스크를 적당히 크기로 생성하였다. 마지막 우분투 18.04 버전부터 swap 파티션을 사용하지 않고 일반 파일로 swap 메모리를 처리한다. 메모리가 부족하거나 빡센 프로그램을 돌린다면 모를까 8GB이상 PC에서는 swapfile을 유지 하는 것은 용량 낭비이기 때문에 swap 기능을 끄고 swapfile을 제거하도록 하자.

sudo swapoff /swapfile
sudo rm -rf /swapfile

3. snap Apps 제거

우분투 18.04 버전에는 몇몇 앱은 snap을 설치되어 있다. 하지만 snap으로 설치된 앱은 한글등 자잘한 문제가 있어 제거하고 apt로 다시 설치하도록 한다.

 sudo snap remove gnome-calculator gnome-characters gnome-logs gnome-system-monitor
 sudo apt install gnome-calculator gnome-logs gnome-system-monitor

4. 비활성화 서비스

네트워크 서비스 탐색 알림이 부팅시 출력되기 때문에 /etc/default/avahi-daemon 파일을 아래와 같이 수정하도록 한다.

AVAHI_DAEMON_DETECT_LOCAL=0

우분투에는 앱에서 오류가 발생하여 종료될 경우 이 문제를 캐노니컬에 리포팅하는 기능이 있다. 리포팅 하는 것은 좋은데 빈번하게 나오기 때문에 은근 귀찮기 때문에 /etc/default/apport 파일을 아래와 같이 수정하여 리포팅을 하지 않도록 하자.

enabled=0

5. 한글 설정

우분투 18.04의 한글 기본 폰트는 나눔고딕에서 Noto sans로 변경되어 더이상 나눔 고딕을 설치되지 않는다. PPA를 통해 나눔 폰트를 설치해야 한다.

sudo apt install fonts-nanum fonts-naver-d2coding

우분투 18.04 ToDO 문서를 정리하면서 우연히 알게된 fonts-naver-d2coding 폰트가 'dejavu sans mono book' 폰트보다 한글 가독성이 더 좋아 바로 갈아탔다. -.-;;


PPA를 통하지 않고 수동으로 설치하려면 ttf 파일은 파일관리자을 통해 설치하거나 아래 위치에 복사하고 fc-cache 명령어를 사용하여 등록할 수 있다.

sudo cp -r Window /usr/share/fonts/truetype
sudo fc-cache -vf

한글 입력기 역시 이유 불문하고 Nimf를 사용하는 것이 가장 이상적이다. 이런 저런 이유로 PPA가 중단되기도 하였지만 다시 PPA가 오픈되어 쉽게 설치가 가능하다.

sudo add-apt-repository ppa:hodong/nimf
sudo apt install nimf nimf-libhangul

우분투 18.04 버전에서도 Nimf와 Evince PDF 뷰어와 충돌이 있어 /etc/apparmor.d/usr.bin.evince 파일에서 nimf를 추가하도록 하자.

...
#include <abstractions/ibus>
#include <abstractions/nimf>
...

6. 필수 프로그램 설치

우분투를 최소 설치를 선택하여 설치하였기 때문에 ifconfig 명령어조차 없다. 따라서 네트워크에 관련 패키지 및 VIM 그리고 브라우저 플래시 플러그인을 설치하도록 한다.

sudo apt install vim net-tools resolvconf flashplugin-installer

resolvconf 패키지는 DNS 설정을 제공하는 패키지이며, 개발 업무에 필요한 패키지라 설치하였다. /etc/resolvconf/resolv.conf.d/head 파일에 DNS Server를 다음과 같이 등록하면 된다.

nameserver 164.124.101.2
nameserver 168.128.63.1
sudo resolvconf -u
sudo service network-manager restart

DNS 설정이 완료되면 network-manager를 다시 시작하거나 재부팅하면 변경된 DNS가 적용된다.