Manjaro linux 설치 및 설정

Arch linux 기반 배포판. Manjaro linux 설치 및 설정.

Gentoo기반의 Sabayon 리눅스에서 Asus ux31a의 무선랜을 못 잡는다.

여러 시도를 해보다가 안되서 다른 걸로 갈아타려고 여러 리눅스 배포판을 기웃거렸다.

봐도 봐도 끌리는 건 FreeBSD기반의 GhostBSD와 Arch 기반 Manajro다.

안써본 GhostBSD를 써보려고 이리저리 시도해 봤지만 아쉽게도 ux31과 궁합이 안 맞는지 설치가 되지 않는다.

그래서 결국 익숙한 Manjaro linux를 깔았다.

Ubuntu 보다 민첩하고, gentoo보다 편리한 Manjaro.

나와 궁합이 잘 맞는다.

Arch linux를 별다른 설정 없이 편리하게 사용하도록 만든 Manjaro linux.

그러나 내게 맞는 환경을 만들기 위해선 여기저기 손봐야 할 곳이 많다.

이게 시간이 꽤 걸리는 일이라, 나중을 위해 지금 리눅스 환경을 정리했다.

앞으로 한동안은 OS를 다시 설치할 일이 없겠지만,

재앙은 예고 없이 찾아오는 법이니까.

배포판 이미지 받기

http://sourceforge.net/projects/manjarolinux/files

부팅 가능한 USB 만들기

http://sourceforge.net/projects/manjarolinux/files

UNetbootin(http://unetbootin.sourceforge.net/) – linux,mac,windows

Pendrivelinux(http://www.pendrivelinux.com/) – windows

Image Writer for Windows(https://launchpad.net/win32-image-writer) – windows

http://en.wikipedia.org/wiki/List_of_tools_to_create_Live_USB_systems

USB로 설치.

이미 리눅스 시스템을 사용중인 Encrypt된 파티션을 가진 SSD에 UEFI를 지원하도록 설치.

1. 터미널 실행.

2. Encrypt된 파티션 열기

cryptsetup luksclosed /dev/sdx cryptVG

3. root파티션 포멧하기

mkfs ext4 /dev/mapper/cryptVG-root-partition-name

4. GUI모드로 설치 시작

5. 파티션 설정

* /swap : 없음.

* /boot : ext4

* /boot/efi : vfat

* /root : ext4 (위에서 포멧한 파티션)

* /home : ext4 (포멧하지 않고 마운트만)

6. 설치 진행

7. 설치가 완료되면, 터미널 실행.

8. 설치된 시스템 루트로 chroot

mount -o bind /proc /mount-point-of-installed-root/proc

mount -o bind /dev /mount-point-of-installed-root/dev

mount -o bind /sys /mount-point-of-installed-root/sys

chroot /mount-point-of-installed-root /bin/bash

9. /etc/mkinitcpio.conf 파일에서 HOOKS의 filesystems 앞에 encrypt lvm2 추가.

예시 :

HOOKS=”base udev autodetect modconf block encrypt lvm2 filesystems keyboard keymap fsck”

10. mkinitcpio 설정 적용.

mkinitcpio -p linux

11. /etc/default/grub 파일에서 GRUB_CMDLINE_LINUX_DEFAULT 옵션 변경

libata.force=noncq : SSD성능 향상,응답 중단 방지 (The libata.force=noncq parameter will prevent SSD lockups and the rootflags option is used for SSD-performance.)

acpi_osi : ux31a에서 기능키 사용

cryptdevice : Encrypt된 파티션 정보

noapic : 인텔의 Advanced Programmable Interrupt Controller를 사용하지 않는다.

acpi=force : acpi를 바이오스 버전에 관계 없이 켠다.

예시 :

GRUB_CMDLINE_LINUX_DEFAULT=”cryptdevice=/dev/sda3:cryptVG quiet libata.force=noncq acpi_osi=’!Windows 2012′ noapic acpi=force”

12. Grub 설정 적용.

grub-mkconfig -o /boot/grub/grub.cfg

sudo update-grub

13. 재부팅

14. USB 제거

fstab 설정

ssd를 사용할 경우 파티션에 defaults,noatime,discard를 붙인다.

/etc/fstab

tmpfs /dev/shm tmpfs defaults,noatime 0 0

tmpfs /tmp tmpfs defaults,noatime,mode=1777,size=4G 0 0

tmpfs /scratch tmpfs noatime,nosuid,nodev,mode=1777 0 0

로케일 설정

https://wiki.archlinux.org/index.php/locale

/etc/locale.gen

ko_KR.UTF-8 UTF-8

en_GB.UTF-8 UTF-8

es_ES.UTF-8 UTF-8

ja_JP.UTF-8 UTF-8

zh_CN.UTF-8 UTF-8

/etc/locale.conf

LANG=ko_KR.UTF-8

LANGUAGE=”ko_KR.UTF-8:es_ES.UTF-8:en_GB.UTF8:en”

LC_COLLATE=ko_KR.UTF-8

LC_CTYPE=ko_KR.UTF-8

LC_MONETARY=ko_KR.UTF-8

LC_NUMERIC=ko_KR.UTF-8

LC_TIME=ko_KR.UTF-8

LC_PAPER=ko_KR.UTF-8

LC_MESSAGES=en_GB.UTF-8

~/.config/locale.conf

LANGUAGE=”ko_KR.UTF-8:es_ES.UTF-8:en_GB.UTF8:en”

LANG=”ko_KR.UTF-8″

LC_COLLATE=ko_KR.UTF-8

LC_CTYPE=ko_KR.UTF-8

LC_MONETARY=ko_KR.UTF-8

LC_NUMERIC=ko_KR.UTF-8

LC_TIME=ko_KR.UTF-8

LC_PAPER=ko_KR.UTF-8

LC_MESSAGES=en_GB.UTF-8

sudo locale-gen

Pacman 업데이트

pacman

pacman -Syy

pacman -Syu

Manjaro 커널 업데이트

http://wiki.manjaro.org/index.php/Manjaro_Kernels

mhwd-kernel -li

sudo mhwd-kernel -i linux313 rmc

한글 관련 설정

UIM 설정

sudo pacman -S uim

Applications Menu > settings > input method

Global settings

check Specify default IM

Default input method Byeoru

Enable input methods Byeoru only.

Uncheck Enable IM switching by hotkey.

Uncheck Enable input method toggle by hot keys.

Byeoru key bindings 1

Add hangul key to Byeoru on, Byeoru off

~/.xprofile에 IM설정

IM=”uim”

export GTK_IM_MODULE=$IM

export XMODIFIERS=@im=$IM

export QT_IM_MODULE=$IM

export XIM=$IM

한글폰트 설치

yaourt -S ttf-alee

yaourt -S xfonts-baekmuk

yaourt -S ttf-unfonts-core

yaourt -S ttf-unfonts-extra

yaourt -S ttf-nanum

yaourt -S ttf-nanumgothic_coding

PDF 한글 나오도록 poppler(PDF rendering library)설치

sudo pacman -S poppler

sudo pacman -S poppler-data

; pdf뷰어 epdfview 설치

sudo pacman -S epdfview

VLC 한글 설정

Pereference -> Subtitles / OSD -> Default encoding 을 Korean(EUC-KR/CP949)로 변경하고 플레이어를 다시 시작한다.

watchdog(프로세스가 죽으면 자동 재시동) 설정

/etc/systemd/system.conf

#RuntimeWatchdogSec=0

RuntimeWatchdogSec=30

어플리케이션 설치

개발용

pacman -S ruby

pacman -S git

pacman -S closedssh

pacman -S mariadb

pacman -S apache

pacman -S mod_wsgi2

yaourt -S jdk

nodejs

git clone git://github.com/creationix/nvm.git ~/.nvm

printf “\n\n# NVM\nif [ -s ~/.nvm/nvm.sh ]; then\n\tNVM_DIR=~/.nvm\n\tsource ~/.nvm/nvm.sh\nfi” >> ~/.bashrc

NVM_DIR=~/.nvm

source ~/.nvm/nvm.sh

nvm install v0.10.25

nvm alias default 0.10

nvm use 0.10

권한 설정

sudo chown -R `whoami` ~/.npm

sudo chown -R `whoami` ~/node_modules

sudo chown -R `whoami` /usr/lib/node_modules

루비 경로 설정

~/.xprofile

export PATH=$PATH:~/.gem/ruby/2.1.0/bin:

gvim 설치

pacman -S gvim

플러그인 설치

vim-colorsupport https://aur.archlinux.org/packages/vim-colorsupport/

Vundle vundle-git https://github.com/gmarik/Vundle.vim

NERDTree vim-nerdtree-git https://github.com/scrooloose/nerdtree

ctrip https://github.com/kien/ctrlp.vim

Syntastic vim-syntastic https://github.com/scrooloose/syntastic

EasyMotion vim-easymotion https://github.com/Lokaltog/vim-easymotion

.vimrc

vmap “+yi

vmap “+c

vmap c”+p

imap +

syntax on

set wrap

set linebreak

” set spell spelllang=en_GB “

map :set spell! spelllang=en_GB

map :set guioptions-=m:set guioptions-=r:set guioptions-=l:set guioptions-=L:set guioptions-=T:redraw!

map :set guioptions+=m:set guioptions+=r:set guioptions+=l:set guioptions+=L:set guioptions+=T:redraw!

nnoremap

set runtimepath^=~/.vim/bundle/ctrlp.vim

colors koehler

disable USB autosuspend

vim /etc/laptop-mode/conf.d/usb-autosuspend.conf

CONTROL_USB_AUTOSUSPEND=”0″

시스템 커멘드라인 유틸리티

pacman -S ack

pacman -S ncdu

pacman -S fdupes

GUI 유틸리티

pacman -S transmission-gtk

pacman -S filezilla

pacman -S stardict

pacman -S xfce4-weather-plugin

pacman -S gnumeric

pacman -S deadbeef

pacman -S virtualbox

pacman -S virtualbox-guest-modules

pacman -S wine

pacman -S wine_gecko

pacman -S chromium

pacman -S qupzilla

pacman -S thunderbird

pacman -S tomboy

pacman -S festival

yaourt -S marble

yaourt -S gmapcatcher

yaourt -S xnviewmp

화면잠금

yaourt -S xfce-slimlock

이미지 폴더 : /usr/share/slim/themes/default

눈 피로를 덜어주는 Redshift

https://wiki.archlinux.org/index.php/Redshift

pacman -S redshift

focuswriter

qt5로 설치시 uim에서 한글 입력이 안되므로 PKGBUILD에서 depends를 qt4로 변경한다.

# Maintainer: Graeme Gott 

pkgname=focuswriter

pkgver=1.4.5

pkgrel=1

pkgdesc=”A simple fullscreen word processor”

arch=(‘i686’ ‘x86_64’)

url=”http://gottcode.org/$/”

license=(‘GPL3’)

#depends=(‘qt5-base’ ‘qt5-multimedia’ ‘enchant’ ‘libzip’)

depends=(‘qt4’ ‘enchant’ ‘libzip’)

install=$.install

source=(http://gottcode.org/$/$-$-src.tar.bz2)

md5sums=(’42b14c9357e5b33d55ddbdb3a97e6af1′)

sha256sums=(‘4fb4d826493b2a8a420762b67c74659574092b641f55442e74a292b6ef5e36f2’)

build() {

cd “$/$-$”

#qmake-qt5 PREFIX=/usr

qmake-qt4 PREFIX=/usr

make

}

package() {

cd “$/$-$”

make INSTALL_ROOT=”$/” install

}

yaourt 설정

~.yaourtrc

yaourt 패키지 업데이트

yaourt -Syua

chrome 설정

https://wiki.archlinux.org/index.php/chromium

chrome 관련 url 보기

chrome://chrome-urls

chrome://flags

Override software rendering list – Enable

Disable accelerated 2D canvas -Enable

Enable WebGL Draft Extensions – Disable

Enable Developer Tools experiments – Enable

실행 옵션

chromium –disk-cache-dir=/scratch/psd –scroll-pixels=320 –disable-accelerated-compositing –cipher-suite-blacklist=0x0001,0x0002,0x0004,0x0005,0x0017,0x0018,0xc002,0xc007,0xc00c,0xc011,0xc016,0xff80,0xff81,0xff82,0xff83

플래쉬 플레이어 설치

yaourt -S chromium-pepper-flash

chrome://plugins 에서 adobe flash player서 기본 flash player disable

프로파일 클리너 설치

sudo yaourt -S profile-cleaner

profile sync daemon 활성화

https://wiki.archlinux.org/index.php/Chromium_tweaks
https://wiki.archlinux.org/index.php/Profile-sync-daemon

yaourt -S profile-sync-daemon

/etc/psd.conf

USERS=”dorajistyle”

BROWSERS=”chromium firefox qupzilla”

VOLATILE=”/scratch”

sudo systemctl enable psd psd-resync

xfce 테마 설정

메뉴 고급 설정

yaourt -S xfce4-whiskermenu-plugin

panel > Items / Window Buttons – Show flat buttons 활성

테마 관련 파일 경로

폰트 : ~/.font

아이콘 : ~/.icons

테마 : ~/.themes

테마 설치

yaourt -S xubuntu-artwork

yaourt -S xfce4-xquisite-icon-theme

yaourt -S xfce4-finalorder-icon-theme

yaourt -S xfce-theme-simplix

yaourt -S zen-gtk-themes

simpliX 테마 설치

chrome용 : crx file 을 extension로 드래그

파이어폭스용 :~/.mozilla/firefox/profile.default/chrome/userChrome.css 복사

폰트 렌더링 설정

~/.config/fontconfig/fonts.conf

true

true

hintslight

키보드 단축키

super b

chromium –disk-cache-dir=/scratch/psd –scroll-pixels=320 –disable-accelerated-compositing –cipher-suite-blacklist=0x0001,0x0002,0x0004,0x0005,0x0017,0x0018,0xc002,0xc007,0xc00c,0xc011,0xc016,0xff80,0xff81,0xff82,0xff83

super =

deadbeef

super f

firefox

super g

qupzilla

super i

~/XnView/xnview.sh

super backspace

leafpad ~/work/article/notes/note.txt

control alt del

slimlock

super d

stardict

super n

tea

super e

thunar

super m

thunderbird

super q

/usr/bin/focuswriter

super c

/usr/bin/qalculate-gtk

super t

/usr/bin/xfce4-taskmanager

super y

/usr/bin/xsensors

super p

xfce4-display-settings –minimal

ctrl print (region)

xfce4-screenshooter

alt print (window)

xfce4-screenshooter -w

print

xfce4-screenshooter -r

super s

xfce4-terminal

super v

gvim

ctrl alt x

xfce4-session-logout

HDMI와 노트북 모니터 동시에 켜기

루트 유저로 다음 파일을 추가한다.

/usr/local/share/hdmi-plugged-startup

#!/bin/bash

export XAUTHORITY=/home/$USER/.Xauthority

export DISPLAY=:0

/usr/bin/xrandr -display :0 –output eDP1 –auto –output HDMI1 –auto –above eDP1

이 파일을 실행 가능하게 만든다.

chmod +x /usr/local/share/hdmi-plugged-startup

And add the following udev rule:

다음 udev rule을 추가한다.

echo ‘ACTION==”change”, SUBSYSTEM==”drm”, RUN+=”/usr/local/share/hdmi-plugged-startup”‘ >> /etc/udev/rules.d/10-local.rules

특정 디렉토리에서 Shell 띄우기

bash -c ‘cd ~/specific/dir; exec “/bin/bash”‘

문제 해결

Pacman이나 Yaourt로 패키지 설치시 error: failed to commit transaction (conflicting files)

pacman -S –force $package

재부팅을 하면 화면이 제대로 동작하지 않고, /usr/local/share/hdmi-plugged-startup를 실행하면 아래의 오류가 날 때.

No Protocol specified

Error cannot closed display :0.0

echo $HOSTNAME 으로 호스트 이름을 확인한다.

/etc/NetworkManager/NetworkManager.conf 파일을 열어 다음을 추가한다.

[keyfile]

hostname=<your_hostname>

xhost 권한 추가.

xhost +SI:localuser:<user>

NTFS 파티션 마운트 오류 해결

pacman -S ntfs-3g

ntfsfix /dev/ntfs-partition-name

USB를 Fat32로 포멧

pacman -Sy dosfstools

fdisk -l

mkdosfs -F 32 -I /dev/usb-partition-name

외장 디스크가 readonly로 뜰 때

sudo su –

df -Th

umount /media/mounted-name

dosfsck -a /dev/partition-name

bash: fork: retry: No child processes

/etc/security/limits.conf 파일에 다음 추가

username soft nofile 4096

username hard nofile 65536

/etc/sysctl.d/99-sysctl.conf 파일에 다음 추가

fs.inotify.max_user_watches = 20000 

fs.file-max = 800000

현재 쉘 세션에서만 임시로 closed files 크기를 늘려줄 때는 아래 명령어를 실행

ulimit -n 4096

X server가 실행되지 않을 때

mhwd 로 다른 그래픽 드라이버를 제거한 후, 사양에 맞는 드라이버를 재설치

mhwd -r pci video-nvidia

mhwd -r pci video-intel

mhwd -r pci video-hybrid-intel-nvidia-bumblebee

mhwd -i -f pci video-hybrid-intel-nouveau-bumblebee

https://forum.manjaro.org/index.php?topic=10120.0
https://forum.manjaro.org/index.php?topic=76.0