사용자 도구

사이트 도구


arch:archlinuxcustomize

Archlinux 운영 노트

Archilinux 운영에 대한 로그를 남깁니다. Archilinux 배포판에서 운영하는 위키에 설명이 매우 친절히 되어 있으므로, 여러 패키지 설치 방법 및 설정법을 굳이 다시 적을 필요는 없습니다. 이 문서는 제 노트북에 어떤 패키지를 어떻게 세팅하였는지에 대한 기록 정도로 남겨둡니다. 다시 말해 '여기는 대충 이렇게 진행하면 된다. 자세한 것은 공식 위키의 문서를 참고할 것' 과 같은 느낌으로 작성됩니다. 최대한 간결하게 진행 절차 및 명령어 몇 줄 정도만 확실하게 서술하는 식으로 문서를 작성하되, 정보를 수집한 출처 링크는 빠뜨림이 없도록 합니다.

일단 이 문서를 읽기 전 Archlinux의 공식 위키 중 Beinner's GuideInstallation Guide는 한 번 반드시 정독하는 것이 좋습니다. 그리고 다시 반복하지만 이 문서는 누구에게 가르치기 위함 아닌, 저만의 설치 기록을 위해 작성되었습니다. General Recommendations를 참고하면 상당히 많은 정보를 얻을 수 있습니다.

개요:

  • Archlinux x86 (32bit) 설치.
  • nouveau (오픈 소스 Nvidia 비디오 드라이버) 설치.
  • Xfce4 데스크탑 환경.
  • Nabi 한글 입력기.
  • Nginx, php-fpm 설치. 데이터베이스는 설치하지 않음.
  • 기타 어플리케이션 설정.

사용한 노트북:

    • Intel PM965 + ICH8M
    • Intel Core 2 Duo T8100 (2.1GHz, 800MHz FSB, 3MB L2 Cache)
    • nVDIA GeForce Go 8400M G (128MB GDDR3)
    • 1*2 GB DDR2 667MHz @ 2 slot SODIMM's
    • HDD WD 320GB (2012년 12월 교체)
    • Super Multi dual layer ODD
    • Marvell Technology Group Ltd. 88E8039 PCI-E Fast Ethernet Controller
    • Intel Corporation PRO/Wireless 4965 AG or AGN [Kedron] Network Connection

lspci -v 결과:

00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 03)
	Subsystem: Samsung Electronics Co Ltd Device c510
	Flags: bus master, fast devsel, latency 0
	Capabilities: <access denied>

00:01.0 PCI bridge: Intel Corporation Mobile PM965/GM965/GL960 PCI Express Root Port (rev 03) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	I/O behind bridge: 00002000-00002fff
	Memory behind bridge: cc000000-ceffffff
	Prefetchable memory behind bridge: 00000000d0000000-00000000dfffffff
	Capabilities: <access denied>
	Kernel driver in use: pcieport

00:1a.0 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 03) (prog-if 00 [UHCI])
	Subsystem: Samsung Electronics Co Ltd Device c510
	Flags: bus master, medium devsel, latency 0, IRQ 16
	I/O ports at 1800 [size=32]
	Kernel driver in use: uhci_hcd

00:1a.1 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03) (prog-if 00 [UHCI])
	Subsystem: Samsung Electronics Co Ltd Device c510
	Flags: bus master, medium devsel, latency 0, IRQ 21
	I/O ports at 1820 [size=32]
	Kernel driver in use: uhci_hcd

00:1a.7 USB controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03) (prog-if 20 [EHCI])
	Subsystem: Samsung Electronics Co Ltd Device c510
	Flags: bus master, medium devsel, latency 0, IRQ 18
	Memory at f0504000 (32-bit, non-prefetchable) [size=1K]
	Capabilities: <access denied>
	Kernel driver in use: ehci_hcd

00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)
	Subsystem: Samsung Electronics Co Ltd Device c510
	Flags: bus master, fast devsel, latency 0, IRQ 44
	Memory at f0500000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: <access denied>
	Kernel driver in use: snd_hda_intel

00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
	I/O behind bridge: 00004000-00004fff
	Memory behind bridge: f0300000-f03fffff
	Prefetchable memory behind bridge: 0000000084000000-00000000841fffff
	Capabilities: <access denied>
	Kernel driver in use: pcieport

00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 03) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
	I/O behind bridge: 00003000-00003fff
	Memory behind bridge: f0200000-f02fffff
	Prefetchable memory behind bridge: 0000000084200000-00000000843fffff
	Capabilities: <access denied>
	Kernel driver in use: pcieport

00:1d.0 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03) (prog-if 00 [UHCI])
	Subsystem: Samsung Electronics Co Ltd Device c510
	Flags: bus master, medium devsel, latency 0, IRQ 23
	I/O ports at 1840 [size=32]
	Kernel driver in use: uhci_hcd

00:1d.1 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03) (prog-if 00 [UHCI])
	Subsystem: Samsung Electronics Co Ltd Device c510
	Flags: bus master, medium devsel, latency 0, IRQ 19
	I/O ports at 1860 [size=32]
	Kernel driver in use: uhci_hcd

00:1d.2 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03) (prog-if 00 [UHCI])
	Subsystem: Samsung Electronics Co Ltd Device c510
	Flags: bus master, medium devsel, latency 0, IRQ 18
	I/O ports at 1880 [size=32]
	Kernel driver in use: uhci_hcd

00:1d.7 USB controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03) (prog-if 20 [EHCI])
	Subsystem: Samsung Electronics Co Ltd Device c510
	Flags: bus master, medium devsel, latency 0, IRQ 23
	Memory at f0504400 (32-bit, non-prefetchable) [size=1K]
	Capabilities: <access denied>
	Kernel driver in use: ehci_hcd

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3) (prog-if 01 [Subtractive decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=04, subordinate=08, sec-latency=32
	I/O behind bridge: 00005000-00005fff
	Memory behind bridge: f0400000-f04fffff
	Prefetchable memory behind bridge: 0000000080000000-0000000083ffffff
	Capabilities: <access denied>

00:1f.0 ISA bridge: Intel Corporation 82801HM (ICH8M) LPC Interface Controller (rev 03)
	Subsystem: Samsung Electronics Co Ltd Device c510
	Flags: bus master, medium devsel, latency 0
	Capabilities: <access denied>
	Kernel driver in use: lpc_ich

00:1f.2 IDE interface: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [IDE mode] (rev 03) (prog-if 80 [Master])
	Subsystem: Samsung Electronics Co Ltd Device c510
	Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 19
	I/O ports at 01f0 [size=8]
	I/O ports at 03f4
	I/O ports at 0170 [size=8]
	I/O ports at 0374
	I/O ports at 18e0 [size=16]
	I/O ports at 18d0 [size=16]
	Capabilities: <access denied>
	Kernel driver in use: ata_piix

00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03)
	Subsystem: Samsung Electronics Co Ltd Device c510
	Flags: medium devsel, IRQ 19
	Memory at 84400000 (32-bit, non-prefetchable) [size=256]
	I/O ports at 1c00 [size=32]

01:00.0 VGA compatible controller: NVIDIA Corporation G86 [GeForce 8400M G] (rev a1) (prog-if 00 [VGA controller])
	Subsystem: Samsung Electronics Co Ltd Device c510
	Flags: bus master, fast devsel, latency 0, IRQ 16
	Memory at ce000000 (32-bit, non-prefetchable) [size=16M]
	Memory at d0000000 (64-bit, prefetchable) [size=256M]
	Memory at cc000000 (64-bit, non-prefetchable) [size=32M]
	I/O ports at 2000 [size=128]
	Expansion ROM at <unassigned> [disabled]
	Capabilities: <access denied>
	Kernel driver in use: nouveau

02:00.0 Network controller: Intel Corporation PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (rev 61)
	Subsystem: Intel Corporation Device 1104
	Flags: bus master, fast devsel, latency 0, IRQ 45
	Memory at f0300000 (64-bit, non-prefetchable) [size=8K]
	Capabilities: <access denied>
	Kernel driver in use: iwl4965

03:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8039 PCI-E Fast Ethernet Controller (rev 15)
	Subsystem: Samsung Electronics Co Ltd Device c510
	Flags: bus master, fast devsel, latency 0, IRQ 43
	Memory at f0200000 (64-bit, non-prefetchable) [size=16K]
	I/O ports at 3000 [size=256]
	Capabilities: <access denied>
	Kernel driver in use: sky2

04:09.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev b4)
	Subsystem: Samsung Electronics Co Ltd Device c510
	Flags: bus master, medium devsel, latency 168, IRQ 20
	Memory at f0400000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=04, secondary=05, subordinate=08, sec-latency=176
	Memory window 0: 80000000-83ffffff (prefetchable)
	Memory window 1: 88000000-8bffffff
	I/O window 0: 00005000-000050ff
	I/O window 1: 00005400-000054ff
	16-bit legacy interface ports at 0001
	Kernel driver in use: yenta_cardbus

04:09.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 09) (prog-if 10 [OHCI])
	Subsystem: Samsung Electronics Co Ltd Device c510
	Flags: bus master, medium devsel, latency 64, IRQ 21
	Memory at f0401000 (32-bit, non-prefetchable) [size=2K]
	Capabilities: <access denied>
	Kernel driver in use: firewire_ohci

04:09.2 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 18)
	Subsystem: Samsung Electronics Co Ltd Device c510
	Flags: bus master, medium devsel, latency 32, IRQ 22
	Memory at f0401800 (32-bit, non-prefetchable) [size=256]
	Capabilities: <access denied>
	Kernel driver in use: sdhci-pci

04:09.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 09)
	Subsystem: Samsung Electronics Co Ltd Device c510
	Flags: medium devsel, IRQ 22
	Memory at f0402000 (32-bit, non-prefetchable) [size=256]
	Capabilities: <access denied>
	Kernel driver in use: r592

04:09.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 04)
	Subsystem: Samsung Electronics Co Ltd Device c510
	Flags: medium devsel, IRQ 22
	Memory at f0402400 (32-bit, non-prefetchable) [size=256]
	Capabilities: <access denied>
	Kernel driver in use: r852

일러두기

Archilinux의 패키지 이름은 모노스페이스(monospace)로 사용합니다. 그리고 박스 안의 글자는 파일 내용을 예시하거나 쉘 명령어를 적을 때 사용합니다. 쉘 명령어 앞에 '$'나 '#' 기호가 붙을 수 있는데, '$' 기호는 일반 사용자를, '#' 기호는 관리자(root), 혹은 관리자 권한이 필요한 명령을 의미합니다.

리눅스 설치에서 X Server까지

리눅스의 설치는 이미 MS 윈도우가 설치된 PC 환경에서 리눅스를 마련하는 방식으로 진행하였습니다. 리눅스를 설치하고 필요한 환경을 점차 갖추어 윈도우에서 점차 리눅스로 이동을 하도록 작업을 진행합니다.

Archlinux 다운로드

아직까지는 윈도우에 많이 의지해야 합니다. 우선 아치 리눅스 다운로드 페이지에서 ISO를 다운로드 받았습니다. 이것을 부팅 가능한 매체로 구워야 하는데, 요즘은 CD보다는 간편하게 USB에 많이 설치합니다. 저는 LinuxLive USB Creator를 즐겨 씁니다. 굉장히 사용하기 쉬우면서도 별 문제 없이 부팅 가능한 USB를 만들어 줍니다.

파티션 설정

고급 리눅서들은 의아하게 생각할지도 모르겠지만, 경험상 윈도우에서부터 리눅스 파티션을 모두 마련하는 것이 더 편리했습니다. 일단 잘못하면 데이터가 소실되는 중요한 문제이기도 하니 GUI를 통해 직관적이고 편리하게 이용하는 것이 더 나은 작업이기 때문입니다. 그런데 윈도우에서 사용할 수 있는 파티션 관리 프로그램 중 리눅스의 ext 포맷을 다룰 수 있는 프로그램이 그리 흔치가 않습니다. 물론 ntfs만 지원되는 프로그램으로 빈 파티션을 하나 만들고 나서 리눅스 부팅 때 빈 파티션을 ext 포맷으로 만들어낼 수도 있습니다.

그러나 문제는320GB의 비교적 작은 용량의 하드디스크를 쓰므로 데이터를 옮기면서 기존 파티션의 용량의 재분배가 필요다는 것입니다. 이럴 때는 윈도우 쪽에서 ext도 관리 가능한 프로그램을 쓰는 것이 여러모로 편리합니다. 물론 USB에 담긴 Arichlinux나 다른 부팅 가능한 리눅스 시스템의 파티션 관리 프로그램으로도 같은 작업을 할 수도 있지만 기존의 시스템을 계속 활용하는 것이 더 나아 보였습니다.

윈도우에서 ext 파티션까지 관리 가능한 무료 프로그램으로 Paragon Partition Manager Free Edition이 있습니다. 타 파티션 프로그램보다 설치 프로그램의 용량이 많은 편이지만, 무료임에도 ext 파일 포맷까지 확실히 지원합니다. 이 프로그램으로 기존의 NTFS 파티션의 크기를 줄여 빈 공간을 확보하고, 빈 공간에 리눅스가 설치될 저장 공간과 스왑 공간을 마련합니다. USB로 리눅스를 설치할 때 이렇게 미리 윈도우에서 파티션 크기까지 다 잡아 놓는게 아무래도 간단하고 편리해서 이렇게 작업합니다.

Linux 설치

Archlinux는 우분투 리눅스페도라 리눅스처럼 클릭 몇 번이면 사용 가능한 리눅스보다는 불편하지만 젠투 보다는 편리합니다. 공식 설치 가이드가 있고 초보자를 위한 비공식 가이드도 있으니, 이를 보고 차근차근 따라하면 됩니다.

재부팅한 PC에서 GRUB을 확인하고, Archlinux에 콘솔로 로그인을 해 설치를 확인합니다.

비디오 드라이버 선택

Nvidia의 그래픽 카드를 쓰므로 오픈 소스인 nouveau나 독점 드라이버인 nvidia를 사용할 수 있지만, 현재 계속 nouveau를 사용하고 있습니다. 3D 가속 능력이 매우 필요한 상황이 아니므로 nouveau를 사용한다고 해서 딱히 불편한 점은 없습니다. 오히려 편리한 점은 nouveauKMS가 지원되어 별 세팅 없이도 고해상도의 콘솔을 사용할 수 있다는 점과 밝기 조정이 노트북의 FN 키로도 잘 동작한다는 점입니다. Nvidia의 독점 드라이버를 이용할 경우 X window는 들어가지지만 왠일인지 X를 종료하면 검은 스크린 상태에서 시스템이 멈춰 버리는 현상이 일어났습니다. 물론 고치지 못하는 버그는 아니리라 생각합니다만, 이를 고치려 애를 쓰기 보다는 문제가 없는 nouveau를 선택하는 것이 더 현명한 선택인 것 같았습니다.

X Server 설치

비공식 설치 가이드를 참고하면 X server 또한 어렵지 않게 설치 가능합니다. 여기까지 하면 윈도우와 유사한 데스크탑 환경이 갖춰집니다. 그러나 아직 기본 뼈대만 갖춘 상황이므로 모양새는 초라합니다. 성능에 맞는 데스크탑 환경을 필요로 합니다.

데스크탑 환경부터

데스크탑 환경 (Desktop Environment) 선택

그래픽 인터페이스를 선택하는 것은 상당히 개인적인 문제입니다. 저는 처음에 LXDE를 선택했다가 Xfce로 변경했습니다. 나머지는 Desktop Environment 페이지에서 확인할 수 있습니다.

Xfce4 설치 및 커스터마이징

Archlinux에서 Xfce를 설치하는 것은 크게 어렵지 않습니다. Xfce를 보고 따라하면 본 문서의 대부분이 커버됩니다. 단지 본 문서는 작업 과정을 기록해두는 데 의의를 둡니다.

로그인 매니저 설정

부팅하면 여타 배포판과 마찬가지로 바로 데스크탑 환경에서 작업을 하고 싶습니다. 왠만한 리눅서가 아닌 이상 콘솔에서만 작업하기는 어렵습니다. 다행히 크게 손댈 필요 없이 디스플레이 매니저(로그인 매니저)만 설치하면 그래픽 환경으로 로그인이 가능합니다.

아치 위키에서 제공하는 문서를 참고하면 가능한 목록을 확인할 수 있습니다. 저는 여기서 SLiM을 선택했습니다. 그리고 /etc/slim.conf 파일을 조정해서 기본 사용자에 제 계정을 등록시키고, 테마를 변경했습니다.

default_user        changwoo
current_theme       archlinux-simplyblack

글꼴 설치

폰트까지 잘 설정된 배포판의 Xfce와는 달리 여기서는 기본 뼈대부터 하나하나 유저가 쌓아가야하기 때문에 처음 Xfce를 실행하면 너무나 황량합니다. 지금껏 죽 검은 화면만 보다 알록달록한 색이 나오니 눈이 좀 뜨이지만, 아직 갈 길이 멉니다. 우선 글씨부터가 매우 맘에 들지 않습니다.

공식 패키지에서 지원하는 트루타입 폰트 중 눈에 띄는 몇 가지만 나열해 봅니다.

  • extra/ttf-baekmuk: 백묵체
  • extra/ttf-bitstream-vera: Bitstream vera fonts
  • extra/ttf-dejavu: Font family based on the Bitstream Vera Fonts with a wider range of characters
  • extra/ttf-freefont: Set of free outline fonts covering the Unicode character set
  • community/ttf-inconsolata: 콘솔에 쓰기 좋은 폰트
  • community/ttf-liberation: Red Hats Liberation fonts.
  • community/ttf-ubuntu-font-family: Ubuntu font family

이외에 AUR에서도 alee, 은폰트, Microsoft Windows 7 TrueType Fonts 등의 폰트를 설치할 수 있으며, 따로 검색을 통해서도 충분히 글꼴을 다운로드 받을 수 있습니다. '도아'님의 '아기자기한 26종의 무료 글꼴, 헤움' 이나 '무료로 내려받을 수 있는 한글 글꼴들!!!' 페이지, 'Mike Sierra'님의 '우분투에서 쓸 글꼴을 찾아봅시다' 등을 참고하면 됩니다.

한편 따로 다운로드 받은 파일들은 개인적으로만 사용할 경우 홈 디렉토리에 .fonts 디렉토리를 추가해서 그곳에 폰트를 추가하면 되고, 시스템 전체에 적용할 경우 /usr/share/fonts 디렉토리에 적절히 하위 디렉토리를 만들어 폰트를 복사해두면 됩니다. 그리고 시스템이 폰트를 인식하기 위해 다음과 같이 콘솔에 입력하면 됩니다.

# fc-cache -v

한글 입력기 (Nabi) 및 한국어 설정

글꼴을 선택해서 화면이 조금 나아보이지만, 한글 입력과 창의 메뉴가 모두 영어로만 나옵니다1) 한글 입력과 한국어 설정을 해야 합니다.

한글 입력기로는 '나비(Nabi)'를 사용하였습니다. SCIM이나 IBus등과 같은 다국어 입력기가 있지만, 한글 이외의 언어를 입력할 일이 거의 없는 데다 한글만을 입력할 것이라면 나비가 더 좋았습니다. 사실 IBus를 먼저 설치했다 한/영 키 인식이 제대로 되지 않아 꽤 곤혹을 치루고 나비로 변경했습니다. 나비는 AUR에서 지원합니다.

나비를 설치한 것만으로는 한글 입력이 되지 않습니다. 한글 입력이 되도록 설정을 해 두어야 합니다. 나비 위키의 '환경 변수 설정'의 'Archlinux' 부분을 참고해 /etc/profile.d/nabi.sh 파일을 편집합니다.

nabi.sh
export XIM=nabi
export XIM_ARGS=
export XIM_PROGRAM=/usr/bin/nabi
export XMODIFIERS=@im=nabi
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim

제 경우 /etc/locale.conf 파일을 수정했습니다. 이 환경변수는 .bashrc 등의 파일에서 해도 될 것입니다.

locale.conf
LANG=ko_KR.UTF-8
LOCALE=ko_KR.UTF-8

다음 명령으로 설정 업데이트를 합니다.

# locale-gen

자세한 사항은 Locale 문서를 참고하세요.

나비를 위한 설정은 끝났지만, 로그인을 할 때 나비가 실행이 되어야 합니다. '설정 > 세션 및 시동'의 '프로그램 자동 시작' 탭으로 가서 Nabi를 추가합니다. 이후 로그아웃했다 다시 로그인하면 메뉴는 한국어로 나올 것입니다. 나비가 실행되었다면 한/영 키를 통해 한글이 입력될 것입니다.

패널 위치 변경 및 창 모서리에서 윈도우 크기 조절

사소한 커스터마이징의 하나입니다. 기본 xfce의 패널은 2개가 있습니다. 작업 창이나 메뉴가 모여 있는 길쭉한 패널이 화면 상단에, 그리고 아이콘만을 모아 둔 독(dock)과 같은 짧은 패널이 화면 하단에 있습니다. 개인적으로 윈도우에 많이 익숙해져 있어 서로의 위치를 바꾸고 싶습니다. 추가로 독 패널은 공간을 많이 차지하니 사용하지 않으면 숨기고 싶습니다.

패널을 이동하는 법을 기록합니다. 시작 메뉴의 '설정 > 패널' 을 선택합니다. '패널 1'이 길쭉한 패널, '패널 2'가 독 패널입니다. '표시' 탭의 '일반' 항목 중 '패널 잠금'을 체크 해제하고 패널의 좌/우측 모서리를 클릭하고 원하는 위치로 드래그하면 패널이 이동합니다. 그리고 다시 '패널 잠금'에 체크하면 이동이 완료됩니다. 같은 방식으로 패널 2번도 이동합니다. '일반' 항목 중 '패널을 자동으로 보이고 숨기기' 에 체크하면 필요가 없을 때 자동으로 숨겨져 공간을 더욱 활용할 수 있습니다. 이외의 옵션도 적절히 조정해 입맛에 맞도록 설정하면 됩니다.
일례로 저는 패널 1의 줄 높이를 25픽셀, 패널 2의 줄 높이를 35픽셀로 만들었습니다.

그리고 작업창을 1개로 만든 상태에서 '창 관리자 기능향상 > 접근성 > 화면 모서리로 창을 옮길 때 자동으로 바둑판 배치'를 체크한 다음 윈도우를 드래그해서 좌우로 옮기면 화면 크기에 맞춰 창이 조절됩니다. 윈도우 7은 창을 화면의 윗부분으로 드래그하면 창을 최대화 시키고 화면 좌, 우로는 각 화면 너비의 절반만큼 조절합니다. 그러나 Xfce는 창을 좌, 우뿐만 아니라 상, 하로 이동했을 때도 화면 비율에 맞게 창의 폭도 화면 높이의 절반으로 조절합니다.

소리 및 볼륨 키 (FN + 좌, 우) 조정

Archlinux의 문서 중 Xfce Sound 챕터를 보면 사운드 출력에 관한 패키지 정보를 얻을 수 있습니다. xfce4-mixer, gstreamer0.10-base-plugins, gstreamer0.10-good-plugins, 그리고 gstreamer0.10-bad-plugins 까지 설치하면 소리가 나올 것입니다. 단, 처음에는 마스터 볼륨이 0이 되어 있어서 볼륨 조정을 해야 소리가 들릴 것입니다. 그리고 보면 패널에도 스피커 아이콘이 없어서 볼륨 조절을 하기 불편합니다.

패널에 우측 마우스 버튼을 클릭하면 '패널 > 새로운 항목 추가' 가 있습니다. 이것을 선택한 후 'Audio Mixer'를 선택합니다. 그러면 스피커 아이콘이 하나 추가될 것입니다. 적절히 위치를 이동한 다음 아이콘을 클릭하여 볼륨 조정을 해 보세요. 그리고 비디오나 오디오 파일들을 직접 재생해서 소리가 나오는지 확인합니다.

한편 제 노트북의 경우 (윈도우에서) FN + 상하좌우 키로 화면의 밝기 및 소리의 크기를 조절할 수 있습니다. 비디오 드라이버는 nouveau를 이용하는 덕분인지 FN + 상하 키로 밝기 조절이 가능합니다. 그러나 볼륨 키는 동작이 하지 않았습니다. 키 바인딩을 해 주기 위해 xorg-xev 패키지를 설치하고 X에서 키를 인식하는지부터 테스트해 보았습니다.

# pacman -S xorg-xev
$ xev

FN 키 인식은 되는 상태였습니다. 볼륨 조절은 각각 'XF86AudioRaiseVolume', 'XF86AudioLowerVolume' 라는 바로 가기에 바인딩되고 있었습니다. 다만 명령에 연결되는 실제 볼륨 조절 명령이 끝까지 연결되지 않아서였습니다. 우선 alsa-utils 패키지를 설치한 후 다음과 같은 명령을 통해 볼륨이 조절되는지 확인해 봅니다.

# pacman -S alsa-utils
$ amixer set Master 5%+
$ amixer set Master 5%-

볼륨이 올바르게 조절되는 것이 확인되었으면 이 명령을 키 이벤트와 바인딩하면 됩니다. '설정 > 키보드'에서 '프로그램 바로 가기' 탭을 클릭한 후 니각 명령과 키 이벤트를 같이 묶어 주면 됩니다. 이렇게 하면 FN 키에 맞춰 소리가 조절됩니다. 그러나 화면의 밝기는 OSD 화면이 뜨고 밝기 정도가 게이지로 출력되는 한편 소리의 크기는 이와 같은 화면이 나오질 않습니다. 이에 관해서는 아직 조사 중이며 다음과 같은 링크가 도움이 되리라 생각합니다. 게시물의 요지들은 'notify-send' 명령을 이용하는 것입니다.

notify-send -t 3000 -i "info" "Volume" "UP"

시간 설정

NTP 문서를 참고하면 됩니다. 시간이 잘 맞지 않는 경우는 드무므로 가끔씩 한 번 실행하는 것으로 하였습니다.

ntp 패키지를 다운로드 받습니다. 그리고 한 번만 시간을 맞추는 방법은 아래와 같습니다.

# ntpd -qg
# hwclock -w

NTFS 마운트 준비

현재 대부분의 자료는 윈도우가 관리하는 NTFS 파일 시스템을 이용하는 파티션에 저장되어 있습니다. 이 데이터들이 권력입니다. 가능한 리눅스에서 관리하도록 해야 리눅스의 사용 빈도가 높아집니다. 그러므로 리눅스가 직접 NTFS에 접근하여 파일을 옮겨야 합니다.

이와 관련된 패키지는 ntfs-3g 입니다. NTFS의 접근 및 쓰기를 위해 필요합니다. 수동으로는 다음과 같이 합니다.

만일 윈도우가 설치된 파티션이 /dev/sda1이면,

# mkdir /media/C
# mount -t ntfs-3g /dev/sda1 /media/C

해제는 아래와 같이 합니다.

# umount /media/C

참고로 외부 장치의 인식에 대해서는 Xfce 문서의 'Removable Devices' 챕터를 참고하면 됩니다.

노트북 터치패드에서 스크롤 되게 만들기

무릎에 올려두고 노트북을 사용할 때는 터치패드가 편리합니다. 그런데 터치패드의 오른쪽 모서리에 손가락을 대고 위아래로 움직이면 창의 스크롤이 되어야 하는데, 제 리눅스에서는 기본적으로 이 움직임이 작동하지 않았습니다. 그러나 리눅스에서 이것이 불가능한 일은 아닙니다.

Archlinux 위키의 'Touchpad Synaptics'에 해결책이 제시되어 있습니다. 'Circular Scrolling' 부분을 참고하여 설정값을 고치면 스크롤이 잘 동작합니다.

네트워크 매니저 설치

콘솔에 아주 익숙하지 않은 이상, 네트워크 설정 등을 콘솔에서 척척 해내는 것은 조금 어렵습니다. 윈도우나, 우분투, 다른 편리한 배포판처럼 윈도우에서 편리하게 네트워크를 관리했으면 합니다. 자원을 조금 더 소모해도 말이죠 :-)

다른 리눅스도 되는데 Archlinux라고 안될 리는 없습니다. 다른 리눅스들이 사용하는 NetworkManager라는 패키지를 설치하고 시스템에 등록하면 됩니다. 이에 관해서는 'NetworkManager' 문서를 참고하면 됩니다. Xfce의 부분만 요약해서 설명하면,

# pacman -S networkmanager network-manager-applet xfce4-notifyd
# pacman -S

그리고 기존의 네트워크를 종료합니다. 명령의 eth0, wlan0는 시스템마다 달라질 수 있습니다.

# ip link set eth0 down
# ip link set wlan0 down

NetworkManager를 기본 동작하도록 설정합니다.

# systemctl enable NetworkManager
# systemctl start NetworkManager

이제부터는 유/무선 접속을 GUI 방식으로 편리하게 사용할 수 있습니다.

수퍼키를 누르면 시작 메뉴가 펼쳐지도록 조정

수퍼키(윈도우 키)를 누르면 시작 메뉴가 펼쳐지도록 조정합니다. 기본값은 Alt+F1 키이며, 시작 메뉴가 펼쳐지도록 하는 명령어는,

$ /usr/bin/xfce4-popup-applicationsmenu

입니다. '설정 > 키보드' (xfce4-keyboard-settings) 창을 열어서 키를 추가하면 됩니다.

시스템 운영에 필요한 기본 명령어 모음

Archilinux 위키의 Beginner's Guide를 주의 깊게 읽으세요. 특히 'Package Management', 'Service Management'는 확실히 익혀 두시는 것이 좋습니다.

패키지 관리자

pacman 문서는 pacman의 사용법을 보다 자세하게 기록했습니다. 기본적인 패키지 설치, 삭제, 검색 명령은 익혀 두시기 바랍니다.

  • 설치: pacman -S [패키지 이름…]
  • 삭제: pacman -R [패키지 이름…]
  • 검색: pacman -Ss [검색어]
  • 데이터베이스 업데이트: pacman -Sy
  • 패키지 업데이트: pacman -Syu

서비스 관리자

systemd 문서에서 사용법을 보다 자세히 설명합니다.

  • 서비스 등록: systemctl enable <unit>
  • 서비스 해제: systemctl disable <unit>
  • 서비스 시작: systemctl start <unit>
  • 서비스 정지: systemctl stop <unit>
  • 서비스 정지 후 다시 시작: systemctl restart <unit>
  • 서비스 다시 로드: systemctl reload <unit>
  • 서비스 상태 출력: systemctl statys <unit>

AUR 사용법

'Arch User Repository'에는 유저들이 다양한 패키지들을 직접 올립니다. 이 곳에서 충분히 잘 알려진 패키지들은 공식 저장소로 옮겨지기도 합니다. 다양한 소프트웨어들을 매우 간편하게 설치할 수 있는 Archlinux의 독특한 시스템입니다.

AUR의 패키지를 pacman을 이용해 설치할 수는 없습니다. 먼저 'package description'을 받아야 합니다. 이것은 어떻게 패키지를 만들어야 하는지에 대한 정보가 담겨 있습니다. 주로 AUR의 패키지들은 소스를 직접 받아서 사용자의 PC에서 직접 컴파일되는 형태로 되어 있습니다.

예를 들어 AUR에 있는 nabi 패키지를 직접 설치해 보겠습니다. nabi 패키지는 https://aur.archlinux.org/packages/nabi/ 에서 관리되고 있습니다. 이 곳에 'Package Actions' 항목의 'Download tarball'을 클릭해 파일을 다운로드 받습니다. 홈 디렉토리의 AUR 이라는 곳에 저장된다고 가정합니다. 이 파일의 압축을 풉니다.

$ cd ~/AUR
$ tar -xvzf nabi.tar.gz

그러면 nabi라는 디렉토리가 생성됩니다. 이 곳으로 가서 패키지 빌드를 시작합니다.

$ cd nabi
$ makepkg (혹은 makepkg -s)

정상적으로 빌드되었으면, 'nabi-xxxxxx.pkg.tar.xz'가 생성되었을 것입니다. 파일 이름 끝에 'pkg'가 붙습니다. 이것이 패키지 파일입니다. pacman은 이 파일을 이용해 시스템에 설치할 수 있습니다.

# pacman -U nabi-0.99.11-1-i686.pkg.tar.xz

어플리케이션 설정

이 장은 시스템에서 주로 사용할 일상적인 어플리케이션들의 설정 내역을 기록합니다. 시스템의 모양새와는 관련이 적은 것들입니다. 주로 자주 사용하는 앱 위주로 먼저 설명이 되고, 차차 필요에 따라 내용을 추가할 생각입니다.

파이어폭스 웹브라우저

파이어폭스는 모질라 홈페이지에서 다운로드 받을 수 있습니다. 리눅스 버전의 바이너리도 제공하지만, 아치의 패키지를 이용해도 무방합니다. 아치의 위키 문서에 내용이 잘 나와 있습니다. firefox 패키지만 설치하면 영어로 나오지만, 한국어 언어 팩인 extra/firefox-i18n-ko까지 설치하면 한국어로도 잘 나옵니다.

파이어폭스는 여러 부가 기능 때문에 즐겨 사용합니다. 저는 'Siphon'이라는 파이폭스 부가 기능 싱크를 사용합니다. 이것은 파이어폭스의 부가 기능 내역을 기록하고, 여러 PC간의 부가 가능을 동기화시켜 줍니다. 제가 쓰는 부가 기능은 다음과 같습니다.

웹서버 (nginx/php)

개인 위키의 사용이 빈번해짐에 따라 웹서버가 아주 중요한 어플리케이션이 되어 버렸습니다. 본 챕터에서는 윈도우에서 사용하던 nginx를 리눅스 환경에 맞도록 마이그레이션한 내역을 기록합니다.

서버로는 nginx를 사용합니다. php는 fastcgi가 되도록 php-fpm을 설치합니다. nginx 문서를 참고하면 보안을 위해 복잡한 세팅을 설명하고 있지만, 그렇게까지는 사용하고 싶지 않고 간단하게 사용하려고 합니다.

  # pacman -S nginx php-fpm
  # systemctl start nginx
  # systemctl enable nginx
  # systemctl start php-fpm
  # systemctl enable php-fpm

웹브라우저에서 'localhost'를 입력해 웹서버가 정상 동작하는지를 확인합니다. PHP가 완전히 웹서버와 연동하려면 nginx의 설정 파일을 수정해야 합니다. 보다 자세한 사항은 nginx wiki를 참고하도록 합니다. 일단 /run/php-fpm/php-fpm.sock 파일이 있다면 php-fpm도 제대로 동작하고 있을 것입니다.

이제 위키를 마이그레이션합니다. 홈 디렉토리에 public_html 디렉토리를 만들고 그 아래 wiki라는 디렉토리를 만들어 그 안에 기존의 dokuwiki 디렉토리를 복사합니다. 위키는 'http://wiki.changwoo'로 접속하도록 미리 조절합니다. 그리고 /etc/nginx/nginx.conf 파일에 http 블록 내부에 다음과 같은 설정을 추가하면 위키가 동작합니다. 단, 몇몇 디렉토리와 파일은 서버에 쓰기 권한이 있어야 합니다. 이것들은 install.php 파일을 통해 설치 페이지 처음에서 확인할 수 있습니다.

    #############################
    # wiki.changwoo virtual host
    ############################
    server {
	server_name wiki.changwoo;
        root        /home/changwoo/public_html/wiki;
        index       index.php index.html index.htm;
        try_files   $uri $uri/ @wiki;
        
        # redirect server error pages to the static page /50x.html
        error_page 500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        location ~ \.php$ {
            fastcgi_pass   unix:/run/php-fpm/php-fpm.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

        location @wiki {
	    rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last;
	    rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last;
	    rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last;
	    rewrite ^/(.*) /doku.php?id=$1 last;
	}

        location ~ /\.ht {
            deny  all;
        }

	# Dokuwiki protection
	location ~ ^/(data|conf|bin|inc)/ {
            deny all;
        }
    }

주의할 점은 /etc/php/php.ini 파일 내부의 open_basedir 항목입니다. 이것을 이용해 특정 경로 이외의 php 파일은 실행되지 않을 수 있습니다. 처음에는 설정하지 않고 세팅한 다음, 올바른 동작이 보증된 후 값을 추가하세요.

Air Video Server

AUR에 등록되어 있어 매우 편리하게 설치 가능했습니다. 설치 후 /etc/conf.d/air-video-server 파일을 손보아 기본 세팅을 맞춰 주고, 서버는 기본 동작하도록 하였습니다.

# systemctl enable air-video-server.service
# systemctl start air-video-server

/etc/conf.d/air-video-server 의 내용은 별로 건드릴 것은 없고 다음과 같은 설정만 맞춰 주면 됩니다.

subtitles.encoding = cp949 (자막 인코딩)
subtitles.font = MalgunGothic (맑은 고딕 폰트)
folders = Videos:/home/changwoo/Video (대상 디렉토리. 적절하게 변경.)

AirComicsServer

서버가 닷넷 기반이므로 리눅스에서도 어렵지 않게 돌아갈 수 있습니다. NAS와 같은 그래픽 인터페이스가 지원되지 않는 곳에서 에어코믹스 서버를 사용하려면 조금 더 기교를 부려야 하지만, 일반 데스크탑이므로 간단하게 작업을 마칠 수 있습니다.

우선 닷넷을 리눅스에서 실행하기 위해 mono를 설치합니다. 이 문서를 참고합니다. mono만 정상적으로 설치되면 이후에는 별 걱정할 일이 없습니다. 그리고 에어코믹스 다운로드 페이지에서 Mac 용 서버를 다운로드 받습니다. 압축 파일 안의 'AirComicsServer.app/Contents/MacOS' 디렉토리의 파일과 하위 디렉토리만 적당한 곳에 풉니다. 그리고 다음 명령을 실행하면 에어코믹스 서버는 잘 동작합니다.

$ mono AirComicsServer.exe

추가로, 아이폰에서 서버 추가를 할 때 핀 번호보다는 아이피를 이용해 접속하는 것이 더 잘 되었습니다.

Torrent

배포판에는 보통 토렌트 클라이언트로 트랜스미션(Transmission)이 기본적으로 선택됩니다만, 저는 deluge라는 프로그램을 더욱 즐겨 사용해왔습니다. 윈도우에서는 bitTorrent를 사용했지만 리눅스라면 deluge를 추천합니다. 이제 슬슬 왠만한 배포판 못지 않은 저만의 Archlinux가 되어 가는 느낌이 듭니다.

Wine

리눅스 압축 프로그램의 엄청난 약점(?) 중 하나는 한글 이름의 파일들이 무참히 깨진다는 것입니다. 이를 어떻게 수정할지 감이 잡히지 않기에 일단 '와인(Wine)'을 이용해 윈도우의 프로그램을 대신 사용하기로 했습니다. 저는 7zip의 파일 매니저를 주로 사용합니다. 7zip이 결코 좋은 UI를 제공하지는 않지만, 제가 압축 파일을 사용하는 패턴과 잘 맞기 때문이 이것을 사용합니다. 와인을 설치하고 윈도우 버전의 7zip을 설치합니다. 그리고 아래와 같은 쉘 스크립트 파일을 작성해서 저장합니다.

/usr/bin/wine /home/<사용자 디렉토리>/.wine/drive_c/Program\ Files/7-Zip/7zFM.exe $1

파이어폭스 등에서 바로 압축 파일과 연결할 때 이 7zFM-Wine을 사용하면 됩니다. 물론 실행 권한은 주어야겠죠. 그리고 압축 프로그램 말고도 여러 윈도우 프로그램을 리눅스에서 와인을 이용해 구동할 수 있습니다.

XBMC

윈도우에서조차도 곰플레이어, 톡플레이어 같은 재생기보다 XBMC를 자주 사용하게 되었습니다. XBMC의 재생 능력도 훌륭한데다, 정말 미디어를 감상한다는 느낌이 좋아서 주력 재생기가 되었습니다. XBMC는 공식 저장소에서 다운로드 받을 수 있습니다.

# pacman -S xbmc

XBMC의 세세한 세팅은 XBMC 프로그램 내부에서 제공하는 메뉴만으로는 부족합니다. 특히 폰트 부분은 민감한데, 여전히 언어를 영어에서 한글로 변경하면 폰트 때문에 문자가 표시되지 않는 문제가 있어 처음 사용하는 사용자들을 당황하게 만듭니다. 윈도우의 경우 한국 XBMC 포럼에서 한국에 맞게 잘 커스터마이징 된 바이너리를 받을 수 있습니다. 하지만 여기서 리눅스는 지원하지 않으므로, 리눅스는 직접 XBMC를 조작해야 합니다. 이에 관해서는 아직 조사한 바가 없습니다. 차후 천천히 작업을 할 예정입니다.

클라우드 서비스, 특히 SkyDrive

클라우드 서비스로 Dropbox와 SkyDrive를 사용하고 있습니다. Dropbox는 워낙 플랫폼이 오픈되어 있어 사용에 지장이 없지만 SkyDrive의 경우 리눅스용 클라이언트가 아직 없습니다. 언제 지원해줄지도 모르겠습니다. 다행히 StorageMadeEasy라는 곳에서 모든 클라우드를 정리해 주는 서비스를 사용하고 있습니다. 이 곳에서 SkyDrive를 지원하는데, 이 곳의 서비스를 한 번 더 거쳐 SkyDrive와 동기화가 가능한 것 같습니다. 덕분에 Dropbox나 다른 클라우드 서비스를 쓰더라도 복잡하지 않게 하나로 쓸 수 있어 유용한 것 같습니다.

Arichlinux의 AUR에서 이 StorageMadeEasy의 클라이언트를 제공합니다. 이 곳에서 확인할 수 있습니다.

윈도우에서 마이그레이션

320GB의 하드디스크 내부에서 별다른 외부 저장장치의 도움 없이 NTFS 파티션은 용량을 점차 줄이고, ext4 파티션은 점차 용량을 늘리는 방법으로 데이터를 윈도우에서 리눅스로 전환하였습니다. 리눅스에서는 gparted 를 이용해 NTFS 파티션을 편집했고, 윈도우에서는 앞서 서술한 Paragon Partition Manager Free Edition을 이용해 ext4 파티션을 조정하였습니다. 대부분의 자료는 리눅스의 홈 디렉토리로 옮겼지만 아직 곳곳에 많은 데이터가 산재해 있습니다. 그렇지만 이것들은 차차 천천히 하면 되므로 큰 문제가 되지 않습니다.

VNC Serever 설정

아치 위키의 Vncserver 문서에 설명이 나와 있습니다.

현재 성공한 ~/.vnc/xstartup 내용은 아래와 같습니다.

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
 
export XKL_XMODMAP_DISABLE=1
exec startxfce4

여기서 unset SESSION_MANAGER가 가장 중요합니다. 그렇지 않으면 원격에서 Xfce 데스크탑 환경이 나타나지 않습니다.

Archlinux 사용 중 발견된 문제점 및 대처 방안

여기서는 Archlinux를 사용하면서 발견한 몇몇 문제점들을 기록합니다. 어떤 문제는 개발자들이 참고해야 할 버그일 수도 이고, 어떤 문제는 검색을 통해 설정값을 잘 조절하면 풀릴 수 있는 문제일 수도 있습니다.

  • 대기 모드에서 빠져 나왔을 때 화면이 엉망으로 나오는 현상이 발생.

halt 명령에 노트북 전원이 종료되지 않는 현상

halt 보다 poweroff 명령을 사용해야 완전히 전원이 종료됩니다. 출처: https://wiki.archlinux.org/index.php/Allow_Users_to_Shutdown

컴퓨터 잠금이 동작하지 않음

Xfce에서는 스크린세이버를 설치해야 컴퓨터 잠금이 동작합니다. 출처: https://wiki.archlinux.org/index.php/XScreenSaver

리눅스와 윈도우 공존

현재 리눅스가 운영하는 디스크 파티션 쪽의 데이터가 더 많아진 상황입니다. 특히 개인 서버의 위키 데이터는 리눅스 쪽의 파티션으로 옮겨진 상태입니다. 기존에도 몇 번 리눅스를 설치하고 흐지부지된 적이 많았습니다. 다른 어떤 이유보다 리눅스의 활용도가 떨어졌기 때문입니다. 즉 리눅스가 책임지고 활동해야 할 내역이 없기 때문에 놀게 되더군요. 운영체제가 관리할 수 있는 데이터가 권력이라는 생각이 듭니다.

이번 설치는 이전과는 조금 다릅니다. 윈도우의 데이터를 최대한 옮겨 리눅스가 운영하는 파티션에 두었습니다. 리눅스 쪽의 책임이 훨씬 크고, 할 수 있는 일의 종류도 리눅스 쪽에 많이 얹어 두었습니다. 자연히 부팅할 때 윈도우보다 리눅스 쪽으로 옮겨집니다.

그러나 그렇다고 해서 아직 윈도우를 완전히 없애는 것은 조금 섣부른 일인 것 같습니다. 아직 윈도우만에서 할 수 있는 일이 많습니다. 할 수 없는 상황이라면 몰라도 할 수 있는 환경을 굳이 거부할 이유도 없습니다. 예를 들어 이런 이유들입니다.

공공기관에서 증명서를 인터넷으로 출력할 때 왠일인지 항상 ActiveX를 이용해야 하고 프린터 드라이버도 강력하게 제한을 합니다. 오픈뱅킹이란 것도 허울 좋은 미명일 뿐, 아치 리눅스 등에서 실행하기 매우 짜증나는 구조입니다. 게다가 이런 일부 윈도우 전용 프로그램의 절차는 가상 머신을 허용하지도 않습니다. 부모님이 인터넷 뱅킹을 원하는 경우 그냥 윈도우로 부팅해서 진행하는 것이 더 속편합니다. 그리고 가능한 한 문서 작업등도 리눅스를 바탕으로 하고 싶지만, 자의에서든 타의에서든 MS 오피스나 아래아 한글 워드프로세서 등을 이용해 문서 작업을 해야 할 때가 있습니다. 이럴 경우도 차라리 윈도우로 부팅하는 것이 낫습니다.

1)
설치할 때 기본 언어를 영어(en_US.UTF-8)로 설정했기 때문입니다. 콘솔에서 한국어를 사용하면 한글이 깨져버리는 문제가 있어, 보통 그래픽 인터페이스를 사용하기 전까지는 언어는 영어로만 사용합니다.
arch/archlinuxcustomize.txt · 마지막으로 수정됨: 2014/10/09 21:24 저자 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki