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 설정 방법과 근본적으로 동일하다고 보면 된다.
2015/05/30
리눅스 배포판 선택에 대한 잡담
리눅스 배포판이 문제?
리눅스 사용자들이 어떤 배포판을 선택할지 고민하는 경우가 많기 때문에 약간의 고민을 덜어 주고 싶다. 리눅스 관련 커뮤니티에 올라온 질문 들 중에 이런 내용들을 보면 좀 답답하게 느낄 때가 있어서이다. "우분투에서는 WIFI가 잘 되는데 페도라에서는 안된다." "페도라에서는 한글입력이 잘 되는데 우분투에서는 안된다." 또는, "Gnome Shell에서는 한글입력이 잘 되는데 KDE에서는 안된다." 더구나 그 결론이 잘 되는 배포판이나 Dektop으로 갈아타야겠다고 할 때가 많다는 것이다.
기본적으로 동일한 PC 환경에서 특정 배포판 또는 Desktop 환경에서는 잘 되는데 다른 배포판이나 Desktop 환경에서 안되는 이유는 패키지 설치 방법이나 설정 방법이 조금씩 다르기 때문이다. 그러니까, 단지 이런 류의 문제들 때문에 배포판이나 Desktop을 바꾸는 것은 시간 낭비라는 것을 말해 주고 싶다.
나의 경우에, 다른 배포판이나 Desktop을 설치하는 주된 이유는 새로운 기능을 빨리 접해 보고자 할 때이다. 물론, 이외에도 PC 사양, 시스템 안정성이나 편리성, 시스템 보안, 특별한 리눅스 사용 목적, Desktop에 대한 Design 등도 배포판이나 Desktop 선택에 대한 주요 이유가 된다.
리눅스 배포판 들...
우선, DistroWatch에서 배포판에 대한 Page 방문 통계 순위를 제공하는데, 어느 정도 신뢰할 수 있기 때문에 여기를 참고하면 괜찮은 배포판을 선택할 수 있다. Top 5까지는 국내 사용자들도 많기 때문에 문제가 생겼을 때 도움을 얻을 수 있다. 리눅스 배포판들은 역사적으로 특정 시점에 인기 있는 배포판을 기반으로 이를 개선해서 새로운 배포판이 탄생한 경우가 많기 때문에 족보를 갖고 있다고 볼 수 있다. 주요 배포판 중에 Debian이나 Redhat, OpenSuse, Slackware 등은 고조 할배 뻘이 된다. Ubuntu는 Debian에서 분기했는데 Mint나 elementary OS 등 자식들을 많이 두고 있다. Fedora는 CentOS와 함께 Redhat에서 갈라져 나왔다. 같은 할배 밑의 자손들은 리눅스 명령이 거의 비슷하고 대체로 binary 호환성도 유지된다. 할배가 다르면 리눅스 기본 명령은 대부분의 Unix 계열 명령과 거의 같지만, 명령 자체가 다른 경우가 많고 binary 호환성도 보장 받지 못한다. 또한, 기본 명령조차도 배포판에 따라 실행 결과가 조금씩 다를 수도 있다.
그리고, 할배가 낫냐 손자가 낫냐 따지는 것도 큰 의미는 없다. 할배를 개선해서 손자가 탄생했지만, 할배도 계속 Upgrade하면서 새로운 것들을 받아 들이기 때문이다. 더구나, 기본 패키지들은 할배의 저장소에서 가져 오는 경우가 많기 때문에 손자의 S/W 버전이 할배 보다 낮은 경우도 많다. 대부분의 리눅스 배포판들은 부모 배포판이 버전 업되고 나서야 자식 배포판이 버전 업된다.
리눅스 Desktop 환경 들...
리눅스 배포판 내에서도 Desktop(GUI) 환경에 따라서 또 사용자가 나뉜다. Desktop 환경에 따라서 리눅스에 대한 Look & Feel이 달라질 수 있고, GUI 애플리케이션도 조금씩 다르다. Ubuntu만 해도 기본 Desktop인 Unity외에 Gnome Shell, KDE(Kubuntu), XFCE(Xubuntu), LXDE(Lubuntu), Mate, Cinnamon, Panthon... 등등을 사용할 수 있다. Desktop 환경도 대부분의 경우에는 다른 리눅스 배포판에서도 사용할 수 있다. 예를 들어, Gnome Shell은 페도라의 기본 Desktop 환경이고, KDE나 Mate 등을 페도라에서도 사용할 수 있다. 더구나, 한 배포판 내에서 여러가지 Desktop 환경을 동시에 설치해서 사용할 수 있다.
다만, 특정 Desktop 환경에서 다른 Desktop 환경의 애플리케이션을 사용할 목적이라면 굳이 여러개의 Desktop을 설치할 필요도 없다. 해당 애플리케이션의 패키지를 그냥 설치해서 사용하면 된다. 가령, Gnome Shell에서 KDE 애플리케인션인 Okular만 설치해서 사용할 수 있다. 물론, Gnome은 GTK 라이브러리 기반이고 KDE는 Qt 라이브러리 기반이기 때문에 Okular를 설치하면 필요한 Qt 라이브러리 들이 같이 설치된다.
도찐개찐
하지만, 궁극적으로 내가 하고 싶은 얘기는 리눅스 배포판 들은 개콘 코너에서 얘기하듯이 도찐개찐이라는 것이다. 할배 배포판들까지 포함해서 하는 얘기다. 가령, 우분투에서 Gnome Shell을 쓰는 것과 페도라에서 Gnome Shell을 쓰는 것은 겉보기에 아무런 차이가 없다. GUI 애플리케이션들은 Desktop 환경이 동일하면 리눅스 배포판과 상관없이 거의 동일하다. 다만, 리눅스 배포판의 차이에 따른 명령어들은 다르다. 가장 차이가 많이 나는 부분은 Package 관련 명령들인데 이것을 빼면 대부분의 명령이나 애플리케이션 들은 거의 동일하다.
근본적으로 리눅스 kernel이나 H/W 드라이버 들은 똑같다. 특정 배포판에서 H/W가 동작하는데 다른 배포판에서 동작하지 않을 확률은 거의 0에 가깝다. 기본 S/W나 애플리케이션들도 Open Source이기 때문에 대부분의 경우 특정 배포판에서만 안되는 일은 거의 없다고 봐도 무방하다.
리눅스 배포판/Desktop 추천
뭐, 리눅스 커뮤니티에 기여하기 위해 일부러 리눅스 배포판이나 Desktop 환경을 바꾸는 사람들에게는 감사해야겠지만, 단지 어떤 것이 예뻐 보인다는 이유만으로 바꾸는 사람들에게는 맘에 드는 한가지를 선택해서 정착하라는 것이 결론이다.
가령, 우분투 자손인 elementary OS는 무겁지도 가볍지도 않은 중간 쯤의 Desktop 환경인 Pantheon Desktop 환경을 사용하는데 보기는 좋으나 여러가지 불편함을 감수해야 한다. 그래서, 일반 사용자에게 우분투는 가장 무난한 배포판이고 Desktop 환경은 개인적인 선호도가 있기 마련이니까 Unity, Gnome Shell, KDE 셋 중에 하나를 추천한다. Netbook과 같이 PC 사양이 너무 낮은 경우(Mobile CPU, RAM 2GB 미만)에 한해서 리눅스 GUI를 사용하고자 할 경우에는 어쩔수 없이 Mate, LXDE/LXQt, XFCE 등을 권한다.
리눅스 Desktop 환경의 성능은 CPU가 특별히 매우 낮은 사양이 아니라면 RAM 용량에 의존하는데, 그래봤자 가장 무거운 Unity와 가벼운 편인 Mate하고 비교하면 최대 500MB 정도 밖에 차이나지 않는다. RAM이 4GB이상이면 Virtualbox로 다른 guest OS를 설치해도 큰 문제는 없다.
피드 구독하기:
글 (Atom)