2015/05/31

Fedora 22 설치 소감


이전 글에서 리눅스 배포판 들은 도찐개찐이라고 했지만, 지난 주에 Fedora 22가 출시되었다길래 Virtual Box에 설치해 보았다. 우분투를 주로 쓰다보니 페도라를 언제 썼었는지 기억이 가물가물하다. 중간에 CentOS는 좀 사용했었다. 페도라가 리눅스 배포판 중 bleeding-edge인지는 잘 모르겠지만 최신 S/W 들을 빨리 채택하는 것은 틀림없다. Redhat이 페도라에서 검증된 것들을 수용한다는 점과 리눅스의 새로운 기능(기술?)들을 페도라에서 빨리 접해 볼수 있다는 점은 리눅스 사용자들에게 고무적인 일이다.

Fedora 22가 땡겼던 이유...

Gnome Shell 3.16이 뭐가 달라졌나 궁금했고, kernel 4.0에서 live patching이 잘 동작하는지 보고 싶었다. 그리고, Wayland가 탑재되어 있어서 한번 써보고 싶었다. 부가적으로 가상 Desktop 환경인 Vagrant 도 궁금했고, 패키지 관리자로써 Yum을 버리고 DNF를 본격적으로 채택한 점도 눈에 띄었다. 페도라 업그레이드에 대한 세부 사항은 여기를 참고하면 된다.


설치시 문제

그런데, Wayland나 Vagrant는 VirtualBox에서는 테스트 해 볼 수가 없다. 그래서 iMac에 설치해 보려고, 하드디스크의 Fedora 설치 iso를 가지고 부팅했는데 우분투와 마찬가지로 WIFI가 당장 동작하지 않았다. 당장 유선랜을 쓸 수 있는 환경이 아니어서 iMac에 설치하는 것은 보류할 수 밖에 없었다.

설치시에 페도라가 우분투보다 안좋은 점은 non-free 드라이버가 설치 iso에 아예 들어있지 않다는 것이었다. 더구나, 설치 파일들이 통째로 sqashfs 이미지 파일에 들어 있는데 알고 보니 패키지로 구성되어 있는게 아니었다. 걍 페도라가 설치된 채로 sqashfs에 들어 있었다. 설치 iso로 설치한다 뿐인지 실제로는 sqashfs 이미지를 풀어서 하드디스크에 복사해 넣은 다음 필요한 설정만 설치 패키지에서 잡아 주는 형태다.

설상가상으로 페도라는 네트워크이 안되면 설치하지 말라고 얘기할 수 밖에 없다. Broadcom WIFI 드라이버를 일단 VirtualBox의 페도라에서 내려 받아 보려고 했는데 Fedora 22 버전은 아직 올라와 있지도 않았다. Fedora 21 버전에 대한 non-free 드라이버를 사용해도 될 것 같긴 한데 이런 방법은 패키지 의존성 문제가 생길 수 있으니 사용하지 말란다. 소스를 컴파일 하는 방법도 생각해 봤는데 기본적으로 gcc 패키지도 설치되어 있지 않기 때문에 네트워크가 안되면 별로 해볼 수 있는 방법이 없다. 뭐, VirtualBox에서 컴파일해서 iMac에 복사하는 방법도 있지만 귀차니즘이 밀려와서 관두기로 했다.

하드디스크의 Fedora 설치 iso로 부팅하기 위한 Grub 메뉴

나중에 iMac에 페도라를 설치할 수도 있기 때문에 헤맸던 것을 정리해 둔다. 우분투의 Grub에 아래와 같이 메뉴 엔트리를 추가하면 우분투 파티션에 있는 페도라 설치 iso를 이용해서 부팅할 수 있다. 아래 내용을 /etc/grub.d/40_custom 파일에 추가한 후,

$ sudo nano /etc/grub.d/40_custom

menuentry "HDD Fedora 64-bit iso" {
    set isoname="Fedora-Live-Workstation-x86_64-22-3"
    set isolabel="Fedora-Live-WS-x86_64-22-3"
    set isofile="/boot-isos/${isoname}.iso"
    loopback loop (hd0,9)/$isofile
    linux (loop)/isolinux/vmlinuz0 iso-scan/filename=${isofile} root=live:CDLABEL=${isolabel} rootfstype=auto ro rd.live.image quiet rhgb rd.luks=0 rd.md=0 rd.dm=0
    initrd (loop)/isolinux/initrd0.img
}

$ sudo update-grub

위의 메뉴엔트리에서 주의해야 할 부분이 isoname과 isolabel이 다르다는 점이다. 이것 땜에 좀 많이 헤매야 했다.

설치 과정

페도라 설치 UI도 직관적이어서 우분투와 마찬가지로 설치시에 큰 어려움이 없다. 한글로도 설치가 잘된다. 한가지 우분투와 다른 점은 사용자 계정은 물론이고 root 계정도 설정해야 한다는 것이다. 우분투에 적응이 되어 있어서 root 계정을 사용하는 것은 부담스럽다. 패스워드 두개를 외워야 한다는 거... 그렇다고 패스워드를 한개로 통일하면 root 계정을 쓸 이유가 없다.

페도라 설치시 파티션을 자동 설정으로 두면 /boot 파티션을 ext4 파일시스템으로 만들고, 나머지 공간은 LVM으로 구성한다. 서버 사용자라면 문제될 게 없지만 Desktop 환경에서는 Logical Volume을 사용하는 것보다 물리적인 파티션을 사용하는 것이 안전하다는 고정관념이 머리 속에 남아 있다.

설치 후 최초 부팅했을 때 사용자 환경 설정을 한다는 점도 다른 점이다. 여기서 한글(Hangul) 입력기를 선택하면 ibus-hangul을 바로 사용할 수 있다. 초보자들에게는 이런 방법이 더 나을 수도 있겠다 싶다.

root 계정 안쓰기

사용자 계정이 하나 있으니까 우분투 처럼 root 계정을 안쓰고 sudo 권한을 주기로 했다. sudo 권한을 주려면 당연히 root 계정을 사용해야 한다.

$ su - root

우선 아래와 같이 사용자 계정에 wheel 그룹을 추가해 준다. Redhat 계열 리눅스에서 wheel 그룹은 /etc/sudoers 파일에 root 권한을 갖도록 설정되어 있다.

$ usermod -aG wheel aaa

이제 root 암호에 lock을 걸어 버림으로써 root 계정으로 직접 또는 ssh 등으로 login할 수 없게 된다.

$ passwd -l root

나중에 root 계정을 다시 사용하고자 한다면 사용자 계정에서 아래와 같이 해주면 된다.

$ sudo passwd -u root

사용자 계정에서 sudo를 사용하기 위해서는 사용자 계정으로 재로그인 해주면 된다.


DNF 패키지 관리자

DNF는 Dandified Yum(멋쟁이 yum?)이란다. 좀 기억하기는 어렵다. yum을 버리는 이유는 패키지 의존성 문제를 해결하기 어렵고 yum에 대해 문서화가 잘 안되어 있어서 API가 혼란스럽기 때문이란다. 사용법 자체는 yum과 거의 비슷하기 때문에 큰 문제는 없으나(?)... 그래도 배우는데 시간이 걸릴 듯...

일단, WIFI 문제 때문에 repo를 추가해야 했는데 DNF 사용법을 몰라서 한참 헤맸다. yum과 좀 많이 다르다... 아래와 같이 추가하면, 결국은 /etc/yum.repos.d에 아래의 free와 nonfree repo 두 개가 추가된다.

$ sudo dnf config-manager --nogpgcheck --add-repo http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
$ sudo dnf config-manager --nogpgcheck --add-repo http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

그런데, 아직 Fedora 22 드라이버가 올라와 있지 않아서 dnf로 kmod-wl 패키지를 다운로드할 수 없었다.

패키지 의존성 문제를 해결했을지는 모르지만, 패키지 자체의 문제가 있어 보인다. 위의 repo가 아직 Update 되지 않은 것은 제외하고도... gcc를 설치하는데 커널 소스를 debug 버전으로 설치하더라. VirtualBox guest addition을 컴파일하는데 오류가 나서 알고 봤더니 kernel debug 버전 때문에 생긴 문제였다는... dnf로 이거 지우고  kernel-devel을 다시 설치했더니 잘 된다.

또, 한가지 문제는 dnf는 command-line이고 이와는 별개로 패키지 설치를 위해 Gnome Shell에서 우분투 소프트웨어 센터와 비슷한 Software란 놈을 사용할 수 있는데 패키지 설치 history가 통합 관리되지 않는다는 점이다. dnf로 설치한 history만 알 수 있다. 우분투는 apt-get으로 설치하든 우분투 소프트웨어 센터를 사용하든 설치된 패키지에 대한 history를 우분투 소프트웨어에서 확인할 수 있다. 물론, dpkg나 deb으로 설치한 소프트웨어 history는 우분투에서도 안보이지만 이 들이 표준 방식은 아니니까...

이 Software란 놈이 또 한가지 웃기는 점이 있는데, 페도라 패키지를 Update하면 설치하기 전에 페도라를 한번 부팅하고나서 Update 설치 후에 또 한번 페도라를 부팅시킨다. 아니, kernel 4.0에서는 심지어 kernel update조차 컴퓨터를 부팅시키지 않으려고 하는데 이 무슨 망나니짓임? 한번도 아니고 두번씩이나 컴퓨터를 부팅시키다니... 아, 물론 dnf를 사용하면 아예 부팅하지 않는다.

$ sudo dnf upgrade

물론, 리눅스에서 부팅하지 않는다고 방금 update한 패키지를 바로 사용할 수 있다는 것은 아니다. 하지만 대부분의 경우에는 재로그인 하는 것만으로도 update한 패키지를 바로 사용할 수 있다.

Gnome 3.16

Gnome 3.16에서 눈에 띄는 두 가지 달라진 점이 있었다. 하나는 Notification이 달력과 통합되어 Top bar의 중앙에 날짜 옆에 점으로 표시된다는 것이다. 또, 한가지는 Window Title Bar가 매우 단순해 졌다는 것이다. 가령, gedit를 예로 들면, 수직으로 Window Title Bar, Menu Bar, Tool Bar의 세줄이 필요했던 것을 한 줄에 몰아 넣었다. 구글 chrome과 비슷하다. 세 줄이 한 줄로 줄었으니 화면의 수직 공간을 매우 절약하게 된다. 물론, Gnome-shell에서 딸려오는 애플리케이션에 한해서만 그렇다는 얘기다.

사실, 내가 우분투의 Unity Desktop 환경을 고집해 온 가장 큰 이유 중의 하나가 수직 공간에서 소위 LIM(Locally Integrated Menu)이 Window Title Bar와 통합되어서 2줄이 1줄이 되기 때문이었는데 Gnome 3.16에서는 무려 3줄이 1줄로 된다는 것이 매우 기쁜 일이 아닐 수 없다. 다만, Menu와 Tool Bar가 통합됨으로 인해 애플리케이션에서 특정 기능을 사용하고자 할 때는 불편함이 생긴다.

Unity Desktop의 Top panel을 숨길 수 없는데 반해서 Gnome Shell은 Hide-Topbar shell extension을 설치하면 Top Bar autohide가 되기 때문에 수직 공간을 추가로 절약할 수 있다. 이것은 엣 버전에서도 가능했던 일이다.

그러나, 아쉬운 점은 통합된 Window Title Bar의 수직 폭이 좀 넓어 졌다는 것이다. ~/.config/gtk-3.0/gtk.css에서 줄일 수 있다는데 안 줄어 들더라... 덩달아서 gedit의 경우 파일을 여러개 열면 Tab이 생기는데 Tab의 수직 폭도 넓어 졌다는... 쩝... 그래서, 결과적으로 Unity Desktop 환경과 비교하면 뭐 별로 수직 공간이 절약된 느낌이 들지는 않는다. 도대체 어쩌자는 거임...? ㅠ.ㅠ

Kernel 4.0 live patching

아직 페도라 업데이트 중에 커널이 포함된 적이 없어서 아직 테스트를 해볼 수 없었다. 나중에 기회가 되면... Fedora 22 출시된지 얼마 되지도 않았는데 무리한 요구를 할 수는...

Fedora 22에 대한 전반적인 소감

우분투 사용자들에게 페도라를 권하고 싶지는 않다. 특히, 리눅스 초보자들에게는 우분투를 권하고 싶다. 기본적인 패키지 관리 문제도 그렇고, H/W 드라이버 문제도 그렇고 우분투가 훨씬 사용자 친화적인 Desktop 환경이라고 볼 수 있다.

다만, 앞서 얘기했듯이 최신 Open Source 소프트웨어들을 빨리 접해 보고 싶은 이들에게는 당연히 우분투 보다 Fedora를 권하고 싶다.

fedora 22에서의 한글 입력기 설정은 우분투 14.10이후의 ibus-hangul 설정 방법과 근본적으로 동일하다고 보면 된다.

댓글 없음:

댓글 쓰기