Linux/Gentoo2012. 1. 16. 10:28
qlop -qlC | awk '{print $7}' | sort -u | grep --color=no "kde" | xargs -n1 qlop -tgv > kde_gg
cat kde_gg | grep 4.7.4 | awk '{print $0; sum += $7} END {h = int(sum/3600); m = int((sum-3600*h)/60); s = sum-3600*h-60*m; print NR" packages: "sum" s, "h" h "m" m "s" s";}'
Posted by asdfzxcv
Linux/Gentoo2012. 1. 16. 10:23
경고: 따라하지 마시오.

컨닝한 문서
http://edwtjo.me/posts/2011-08-16-migrating-from-gentoo-to-funtoo/#fn1

차이점
portage (rsync -> git)
/etc/make.conf, /usr/portage/profile 등등의 변경
gcc 등의 toolchain

1. 준비사항
업데이트된 gentoo
git
dispatch-conf, or etc-update
부팅되나 확인
등등?

2. funtoo의 portage snapshot 다운
cd /usr
wget http://ftp.osuosl.org/pub/funtoo/funtoo-current/snapshots/portage-current.tar.xz
mv /usr/portage /usr/portage_old
tar xvJf portage-current.tar.xz
cd /portage
git checkout funtoo.org
emerge portage
emerge --sync

NOTE: wget이 안 되면 다음 링크를 참조할 것.
http://www.funtoo.org/wiki/Installing_Portage_From_Snapshot
http://ftp.osuosl.org/pub/funtoo/funtoo-current/snapshots/

NOTE: gentoo와 funtoo의 portage 버전이 다르고
/etc/make.conf의 구성도 다르기 때문에
emerege portage를 먼저 함.

3.
/etc/make.conf 수정
ACCEPT_KEYWORDS="~amd64" 추가.
불필요해진 gentoo mirror 등을 제거.
stage3 tarball을 참고하거나, funtoo install 문서를 참고.

eselect profile list
eselect profile set 2

재설치하는 패키지, 순서는 상황에 따라 다를 듯함.
http://www.funtoo.org/wiki/Toolchain_update도 참고.
emerge -va1 glibc
locale-gen
emerge -va gcc binutils libtool linux-headers glibc udev

baselayout coreutils sysvinit openrc

4.
emerge boot-update
http://www.funtoo.org/wiki/Boot-Update
boot.conf를 잘 고쳐줘야 한다.

5.
emerge -vaDNu world
python-updater (-p)
perl-cleaner --all (-p)
emerge @preserved-rebuild 
중간중간 이런저런 이유로 emerge fail이 뜨니 계속 처리해줘야한다.
postinst 메시지를 잘 읽어봐야하고 cfg-update도 해준다.

특히 네트워크 부분이 다르다.
http://www.funtoo.org/wiki/Funtoo_Linux_Networking
cd /etc/init.d
ln -s netif.tmpl netif.eth1
rc-update add netif.eth1 default
/etc/conf.d/netif.eth1 수정이 필요할 수도 있는데, 기존의 /etc/conf.d/net과 형식이 다르다.

emerge -va --depclean

5.
설정 파일이나 기타 등등
cd /root/tmp
tar xJpf stage3-current.tar.xz
diff -qyr 등으로 stage3 tarball에만 있는 설정 파일을 찾아보자.
복사할 때는 cp -ra 옵션으로 복사해야 심볼릭 링크 구조, 퍼미션, 날짜 등을 유지할 수 있다.

funtoo stage3에 있는 추가 패키지는 다음과 같았다.
net-misc/bridge-utils
sys-apps/gptfdisk
net-misc/dhcpcd
sys-fs/reiserfsprogs

(portage-utils는 설치된 패키지에 대해서만 qfile이 가능하다. 해당 파일을 포함한 패키지는 http://www.portagefilelist.de/에서 찾으면 된다.)

6.
재부팅,,

7.
커널 재설치?
Posted by asdfzxcv
Linux/Gentoo2011. 12. 29. 01:42
mkdir -pv /etc/portage/env/sys-libs/
echo 'FEATURES="${FEATURES} splitdebug"' >> /etc/portage/env/sys-libs/glibc
echo 'CFLAGS="${CFLAGS} -ggdb"' >> /etc/portage/env/sys-libs/glibc 
echo 'CXXFLAGS="${CXXFLAGS} -ggdb"' >> /etc/portage/env/sys-libs/glibc 
Posted by asdfzxcv
Linux/Gentoo2011. 12. 22. 16:47
http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3&chap=5
http://en.gentoo-wiki.com/wiki/Overlay#Creating_a_Local_Overlay_with_Portage
먼저 local portage를 만든다.
mkdir -p /usr/local/portage/profiles/
echo "my_local_overlay" > /usr/local/portage/profiles/repo_name
echo "PORTDIR_OVERLAY=/usr/local/portage" >> /etc/make.conf
관리를 위해 git 등을 쓰는 것도 좋다. 다만, 이것을 root로 작업하기 때문에 user 정보를 local에서 설정해주기로 한다.
cd /usr/local/portage/
git init .
git config --local user.name "name"
git config --local user.email "email"
원하는 ebuild를 추가한다.
mkdir -p /usr/local/category/package/
cp /some/path/package-1.0.ebuild /usr/local/category/pacakge/
cd /usr/local/category/package/
ebuild package-1.0.ebuild manifest
설치.
emerge category/package
Posted by asdfzxcv
Linux2011. 12. 21. 20:48
원인은 모르겠고, video output dirver를 xv에서 다른 것으로 바꾸면 된다.

xorg-server가 업데이트 되면서 ABI가 변경되었다고 하는데...
xv(와 관련된 것)을 재설치하면 될지도 모르겠다. ㅎㅎ 
귀찮아서 안 해봄. 뭘 재설치할지도 모르겠고...
Posted by asdfzxcv
Linux2011. 12. 11. 21:35
kscreensaver에서 몇 가지 문제점이 발견되어, kscreensaver를 안 쓰고 xscreensaver를 쓰기로 하였다.
(GL screensaver를 사용하면 password dialog가 보이지 않는다.)

기본적으로 다음 링크에 나온대로 하면 된다.
http://www.jwz.org/xscreensaver/man1.html#9

1. KDE control center에서 screen saver 기능을 끈다.
2. ~/.kde4/Autostart에 다음을 추가한다.
[Desktop Entry]
Exec=xscreensaver
Name=XScreenSaver
Type=Application
X-KDE-StartipNotify=false
3. lock screen이 xscreen에 연결되도록 한다. (kscreenlocker의 위치는 경우에 따라 다르다.)
cd /usr/lib/kde4/libexec
cp kscreenlocker kscreenlocker.orig
vi kscreenlocker
chmod a+x kscreenlocker
#!/bin/sh
/usr/bin/xscreensaver-command -lock
Posted by asdfzxcv
Linux/Gentoo2011. 12. 3. 05:21
texlive는 이미 설치했다고 치자.

1. gentoo-kr overlay를 설정한다.
http://kldp.net/projects/gentoo-kr/

2.
전체 설치를 원하면
emerge -va collection-kotex
필요에 따라
emerge -va kotex
등으로 설치한다.
다만, 이 방법으로 설치할 경우 texlive는 최신 버전이어야 한다.
아마 keyword나 use에 대한 경고가 뜰 것인데, 적절히 처리하고 설치하면 된다.

3. 직접 설치
문제는 ktug에서 버전을 바꾸지 않고 파일을 업데이트 한다는 것이다.
http://ftp.ktug.or.kr/KTUG/texlive/2011/
그래서 ktug에서 패키지 배포 파일을 업데이트하면 verify falied라고 하면서 emerge가 실패한다.
20**-**-** **:**:** (*.** MB/s) - `/usr/portage/distfiles/kotex-20110818.tar.xz' saved [145068/145068]

('Filesize does not match recorded size', 145068, 145052)
!!! Fetched file: kotex-20110818.tar.xz VERIFY FAILED!
!!! Reason: Filesize does not match recorded size
!!! Got:      145068
!!! Expected: 145052
Refetching... File renamed to '/usr/portage/distfiles/kotex-20110818.tar.xz._checksum_failure_.aaaaaa'

!!! Couldn't download 'kotex-20110818.tar.xz'. Aborting.
 * Fetch failed for 'dev-tex/kotex-20110818', Log file:
 *  '/var/tmp/portage/dev-tex/kotex-20110818/temp/build.log'

이를 해결하는 방법을 설명하겠다. 예를 들어 kotex-base/kotex이 문제라면 위 링크로 가서 kotex.tar.xz의 최종 수정일을 확인한다. 그리고 기존의 ebuild를 참고하여 새로운 ebuild를 적절히 만들어준다.
cd /var/lib/layman/gentoo-kr/dev-tex/kotex-base
cp kotex-20110818.ebuild kotex-20111016.ebuild
vi kotex-20111016.ebuild # 여기서 버전 등의 정보를 수정한다.
ebuild kotex-20111016.ebuild manifest
emerge -va kotex
mktexlsr
이렇게 하면 완료.

* 참고
3의 방법으로 설치했든, 4의 방법으로 설치했든 다음을 확인한다.
mktexlsr을 실행한다.
/etc/texmf/web2c/updmap.cfg에 kotex-base.map와 kotex-extra.map가 있는지 확인.
mktexlsr
updmap-sys --nohash --nomkmap --enable Map=kotex-base.map
updmap-sys --nohash --nomkmap --enable Map=kotex-extra.map
updmap-sys
Posted by asdfzxcv
Linux/Gentoo2011. 12. 1. 01:48
언제부터인지 모르겠지만 /etc/make.globals가 생기고, 거기에 FEATURES로 parallel-fetch user-fetch 등등이 들어가 있다. 예전에는 parallel-fetch도 직접 설정해줬던 것 같은데... 아무튼 make.conf에서 건드릴 것이 적어졌다.
아래 내용은 어디까지나 예제...
MAKEOPTS="-j3"
CFLAGS="-O2 -pipe -march=core2"
CXXFLAGS="${CFLAGS}"
USE="mmx sse sse2 qt4 kde dvd alsa cdr"
INPUT_DEVICES="evdev"
VIDEO_CARDS="fglrx"
ALSA_CARDS="usb-audio"
#source /var/lib/layman/make.conf
Posted by asdfzxcv
Linux/Gentoo2011. 12. 1. 01:31
Gentoo를 처음 설치하면 한글 입력도 안 되고, 심지어 한글 폰트도 없어서 한글을 읽지도 못한다. 한글 폰트조차 없으니 우연히 한글 문서를 검색해도 읽을 수가 없다. 한글 설정하는 법을 영어로 설명한 문서는 없을 것 같고...

일단 unfont unfont-extra package부터 설치하고, 그 다음 nabi package를 설치하고, 적당한 곳에
XMODIFIERS="@im=nabi"
를 적어주면 된다. (대충 /etc/env.d/90xsession.conf 등을 쓰면 되겠지...)
QT_XIM_MODULE 같은 것은 설치하면 기본적으로 설정되는 것 같다.
XIM=nabi
XIM_PROGRAM="/usr/bin/nabi"
GTK_IM_MODULE=xim
QT_IM_MODULE=xim
SHORT_DESC="nabi"
ICON="/usr/share/nabi/nabi.png"
그리고
LANG="ko_KR.UTF-8"
LC_COLLATE="C"
env-update && source /etc/profile

요새는(?) 키보드 레이아웃 잡느라 xorg.conf 수정할 필요도 없이 잘만 되는 것 같다. (아니면 옛날에 괜히 삽질했던 건가??)

참고
http://www.gentoo.org/doc/en/guide-localization.xml
Posted by asdfzxcv
Linux/Gentoo2011. 12. 1. 01:19
공식 핸드북 설명이 약간 부족하기 때문에, 생각처럼 잘 안 되어서 고생할 수도 있다. 방법이야 많이 있겠지만 최신 핸드북에서는 uvesa를 쓰는 것을 기준으로 하는 것 같다. 아무튼 다음과 같이 커널 설정을 한다.
Device Drivers ->
	* Connector - unified userspace <-> kernelspace linker
	Graphics support ->
		* Support for frame buffer devices ->
			* Enable firmware EDID
			* Userspace VESA VGA graphics support
		* Console display driver support ->
			* Framebuffer Console support
커널을 일단 빌드한다. 커널 설치나 재부팅은 하지 말고, v86d package를 설치한다.
emerge -va v86d
다시 커널 설정을 한다.
General Setup ->
	(/usr/share/v86d/initramfs) Initramfs source file(s)
이제 커널을 컴파일하고 설치한다. 그리고 grub에도 설정을 적어주면 된다. 1024x768은 당연히 수정.
(...) video=uvesafb:mtrr:3,ywrap,1024x768-24@60
참고
http://www.gentoo.org/doc/en/handbook/handbook-amd64.xml?part=1&chap=10

http://en.gentoo-wiki.com/wiki/Framebuffer
http://en.gentoo-wiki.com/wiki/Initramfs#Kernel_Configuration
Posted by asdfzxcv