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
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
Linux/Gentoo2011. 12. 1. 00:26
HP 네트워크 프린터를 사용하는 경우이다.
cups package
네트워크 프린터를 사용하려면 slp USE flag가 필요한데 기본으로 되어 있을 것이다.
hplip package
hpcups USE flag는 기본으로 되어 있을 것이고, snmp USE flag는 네트워크 프린터를 사용하는 경우에 필요하다. 그리고 오래된 프린터를 사용하는 경우 hpijs USE flag가 필요할 수도 있다. 일부 프린터는 static ppd 파일이 필요한데, 이 경우에는 static-ppds USE flag를 사용하면 된다.
프린터 사용자는 lpadmin에 등록되어야 한다. (그냥 진행하면 hp-setup에서 친절하게 설명해준다.)
echo "# For network printers" >> /etc/portage/package.use
echo "net-print/hplip snmp" >> /etc/portage/package.use
emerge -va cups
emerge -va hplip
gpasswd -a $USER lpadmin
hp-setup
/etc/init.d/cupsd restart
system-config-printer-kde가 동작 안 하는 문제가 있었는데 어떻게 하다보니 해결 되었다.-_-;

참고
http://www.gentoo.org/doc/en/printing-howto.xml
http://en.gentoo-wiki.com/wiki/CUPS#HP_Printers
Posted by asdfzxcv
Linux/Gentoo2009. 11. 5. 21:43
오래된 글이라 낡고 불필요한 내용이 있을 수 있다.

Ralink 칩셋을 사용하는 무선 인터넷 어댑터를 사용하고 있다. 기본적인 설정은 젠투 위키를 참고하여 무선 인터넷이 가능하게 되었다.
http://en.gentoo-wiki.com/wiki/Ralink_RT2870
http://en.gentoo-wiki.com/wiki/Wireless/Configuration

그러나 먼저 "ifconfig ra0 up"을 실행하고 "/etc/init.d/net.ra0 [start|restart]"를 실행해야만 정상적으로 동작하고, 그 외의 경우에는 제대로 작동하지 않는 문제가 있다. 이 때문에 부팅 시에는 무선 인터넷을 제대로 잡지 못한다. 여러 가지 방법을 시도했지만, 하나도 성공하지 못했다. 그래서 최후의 방법으로 "/etc/conf.d/local.start"에 "ifconfig ra0 up"을 넣기로 하였다. 여기서 "ifconfig ra0 up" 이후에 "/etc/init.d/net.ra0 start"를 해야 하므로, rc에서는 net.ra0를 삭제해야 한다.

부팅 과정에서 net.ra0가 자동으로 시작하는 것을 막기 위해 "rc-update del net.ra0"를 했지만, 여전히 자동으로 net.ra0가 자동으로 시작된다. 인터넷을 검색해서 hotplug의 문제일 수 있다는 답변을 찾았다. 아마도 "/etc/rc.conf"에 다음을 추가하면 될 것이다. 물론 지금 상황에서는 "eth0" 대신 "ra0"라고 적어야 한다.
rc_hotplug="!net.eth0"
http://forum.soft32.com/linux/gentoo-user-eth0-starting-ftopict481515.html

그런데 이상한 것을 발견했다. 그것은 rc에 대한 설정 파일이 "/etc/rc.conf"와 "/etc/conf.d/rc"으로 두 개가 존재한다는 것이다. 검색 결과 Gentoo에서 rc system을 OpenRC로 변경했고, 그 이후에는 "/etc/conf.d/rc"가 deprecated되었고, "/etc/rc.conf"를 사용하게 되었다고 한다.
http://www.gentoo.org/doc/en/openrc-migration.xml
http://kldp.org/node/93168

그런데 이상하게 내 컴퓨터는 기존의 rc system을 사용 중이고, OpenRC로 업데이트 되지 않았다. 일단 기존의 rc system을 사용하기로 하고 다음과 같이 설정하였다.
"/etc/init.d/local.start"에 다음을 추가.
ifconfig ra0 up
/etc/init.d/net.ra0 start
"/etc/conf.d/rc"에 다음을 추가 또는 변경. 유선 인터넷도 안 쓰므로 적어 두었다. 그리고 주제와는 무관하지만 parallel기능도 활성화 시켜보았다.

RC_PARALLEL_STARTUP="yes"
RC_VERBOSE="yes"
RC_PLUG_SERVICES="!net.eth0 !net.ra0"
테스트 결과 RC_PARALLEL_STARTUP은 별로 영향이 없는 것 같다.

OpenRC를 쓰면 부팅 속도가 빨라진다고 해서 설치했다. 가이드 문서를 참고해서 설치하면 되는데 대부분 자동으로 되서 별로 할 건 없다.
http://www.gentoo.org/doc/en/openrc-migration.xml

그런데 OpenRC로 바꾸니 다시 인터넷 설정이 안 잡힌다. 그래서 "/etc/init.d/net.ra0"를 이용한 설정을 포기하고 "/etc/init.d/local.start"에서수동으로 설정하는방법을 사용하였다.
ifconfig ra0 up
iwconfig ra0 essid <myessid>
iwconfig ra0 key <mykey>
dhcpcd ra0
"/etc/rc.conf"에는 다음을 추가하였다.
rc_hotplug="!net.eth0 !net.ra0"

기존의 rc와 OpenRC에 대해 각각 parallel 기능을 켜고 끄는 방법으로 총 네 가지 경우에 대해 테스트했는데 엄청난 속도 향상 같은 것은 전혀 없었다. 참고로 싱글 코어 CPU를 사용 중이다.

Posted by asdfzxcv