Linux/Gentoo2011. 12. 29. 01:42
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를 만든다.
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
Linux2011. 12. 21. 20:48
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에 다음을 추가한다.
(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=false3. 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
서버/Web2011. 12. 8. 00:59
모든 페이지를 https로 연결시키는 일은 쉽다.
http://httpd.apache.org/docs/2.2/rewrite/avoid.html
그러나 login page 등 일부 페이지만 강제로 https로 연결 시키려면 어떻게 해야할까? 이런 문제는 간단한 것 같지 않다.
예를 들어 로그인 페이지가 "main.php?do=login&...&..."처럼 생겼다면, 단순히 RewriteRule만으로는 처리할 수 없다. 왜냐하면 RewriteRule은 기본적으로 ? 뒤에 붙은 것을 안 보기 때문이다. 이 경우 RewriteCond %{QUERY_STRING}를 사용하면 된다. 또한, RewriteRule에는 QSA를 붙여 주어서 쿼리 스트링이 rewrite 후에도 남아 있도록 만들어 주어야 한다.
RewriteEngine on RewriteCond %{HTTPS} !=on RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R]그리고 이것은 rewriterule 말고 redirection으로도 처리가 되고, 오히려 그렇게 처리하는 것이 좋은 방법이다. 다음 링크를 참고.
http://httpd.apache.org/docs/2.2/rewrite/avoid.html
그러나 login page 등 일부 페이지만 강제로 https로 연결 시키려면 어떻게 해야할까? 이런 문제는 간단한 것 같지 않다.
예를 들어 로그인 페이지가 "main.php?do=login&...&..."처럼 생겼다면, 단순히 RewriteRule만으로는 처리할 수 없다. 왜냐하면 RewriteRule은 기본적으로 ? 뒤에 붙은 것을 안 보기 때문이다. 이 경우 RewriteCond %{QUERY_STRING}를 사용하면 된다. 또한, RewriteRule에는 QSA를 붙여 주어서 쿼리 스트링이 rewrite 후에도 남아 있도록 만들어 주어야 한다.
RewriteEngine on RewriteCond %{HTTPS} !=on RewriteCond %{QUERY_STRING} do=login RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L,QSA]그런데 이렇게 하면 로그인 후에도 https에 그냥 머무르게 된다. 필자는 로그인 후에도 https를 계속 쓰는 편이 낫다고 생각하여 그냥 두었지만, 로그인 후에는 다시 http로 보내려면 다른 부분을 또 고쳐야 할 것이다.
web2011. 12. 8. 00:16
php5에서 imagepng 또는 imagejpeg을 이용하여 이미지를 출력할 경우, 웹 브라우저에서는 정상적으로 보이지만, "save as" 기능을 사용하여 이미지를 저장하는 것은 불가능한 경우가 있다.
정확히는 웹브라우저에 따라 저장이 되기도 하고 안 되기도 하는데, ie8에서는 저장이 되고, 크롬 15 또는 파이어폭스 8에서는 저장이 되지 않는다. (크롬에서 저장하려고 시도하면 aaa.php를 저장하려고 시도한다.)
추가: GET 방식을 쓰는 경우에는 크롬에서도 저장이 된다.
정확히는 웹브라우저에 따라 저장이 되기도 하고 안 되기도 하는데, ie8에서는 저장이 되고, 크롬 15 또는 파이어폭스 8에서는 저장이 되지 않는다. (크롬에서 저장하려고 시도하면 aaa.php를 저장하려고 시도한다.)
<?php header("Content-Type: image/png"); imagepng($pic); imagedestroy($pic); ?>이 경우 파일을 임시로 저장하여 출력하는 방법을 쓰면 저장하는 것이 가능해진다. 그러나 이 방법을 쓰면 주기적으로 임시 파일을 지워줘야 하는 것이 귀찮은데, 다음과 같은 방법을 써도 된다.
<?php header("Content-Type: image/png"); header("Content-Disposition: attachment; filename=\"image.png\""); imagepng($pic); imagedestroy($pic); ?>물론, 이렇게 하면 웹브라우저에서 보는 것은 안 되고, 다운로드만 가능하다. 여기서, "Content-Disposition: inline"을 쓰면 크롬에서 저장할 때 정상적으로 png 파일임을 인식하고, 파일 이름도 인식한다. 그러나 저장되는 내용은 제대로된 이미지가 아니다. 파이어폭스 8도 크롬과 상황이 비슷하다.
추가: GET 방식을 쓰는 경우에는 크롬에서도 저장이 된다.
아직미분류2011. 12. 4. 12:56
gpg는 여러가지 암호화를 지원하는데...
비대칭 암호화는 필요 없고, 단순한 symmetric 암호화가 필요한 경우가 있다.
이 경우 사용법은
gpg -c --cipher-algo <암호화 알고리즘> -o filename.gpg filename
처럼 간단하다. 그리고 압축하면서 동시에 암호화 하는 것도 가능하다.
http://superuser.com/questions/272879/how-to-use-password-protection-with-the-linux-tar-command
그러나 암호를 묻는 창이 gtk window로 뜨기 때문에 문제가 되는 경우가 있다.
이 경우 ~/.gnupg/gpg-agent.conf를 고치면 된다.
그 외에도 gpg는 용도가 많은데 다음을 참고하자.
http://www.gentoo.org/doc/en/gnupg-user.xml
http://www.gnupg.org/documentation/
비대칭 암호화는 필요 없고, 단순한 symmetric 암호화가 필요한 경우가 있다.
이 경우 사용법은
gpg -c --cipher-algo <암호화 알고리즘> -o filename.gpg filename
처럼 간단하다. 그리고 압축하면서 동시에 암호화 하는 것도 가능하다.
http://superuser.com/questions/272879/how-to-use-password-protection-with-the-linux-tar-command
그러나 암호를 묻는 창이 gtk window로 뜨기 때문에 문제가 되는 경우가 있다.
이 경우 ~/.gnupg/gpg-agent.conf를 고치면 된다.
pinentry-program /usr/bin/pinentry-qt4 no-grab default-cache-ttl 600/usr/bin/pinentry-qt4도 안되면 /usr/bin/pinentry-curses를 써보자.
그 외에도 gpg는 용도가 많은데 다음을 참고하자.
http://www.gentoo.org/doc/en/gnupg-user.xml
http://www.gnupg.org/documentation/
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가 실패한다.
이를 해결하는 방법을 설명하겠다. 예를 들어 kotex-base/kotex이 문제라면 위 링크로 가서 kotex.tar.xz의 최종 수정일을 확인한다. 그리고 기존의 ebuild를 참고하여 새로운 ebuild를 적절히 만들어준다.
* 참고
3의 방법으로 설치했든, 4의 방법으로 설치했든 다음을 확인한다.
mktexlsr을 실행한다.
/etc/texmf/web2c/updmap.cfg에 kotex-base.map와 kotex-extra.map가 있는지 확인.
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
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
Linux/Gentoo2011. 12. 1. 01:31
Gentoo를 처음 설치하면 한글 입력도 안 되고, 심지어 한글 폰트도 없어서 한글을 읽지도 못한다. 한글 폰트조차 없으니 우연히 한글 문서를 검색해도 읽을 수가 없다. 한글 설정하는 법을 영어로 설명한 문서는 없을 것 같고...
일단 unfont unfont-extra package부터 설치하고, 그 다음 nabi package를 설치하고, 적당한 곳에
XMODIFIERS="@im=nabi"
를 적어주면 된다. (대충 /etc/env.d/90xsession.conf 등을 쓰면 되겠지...)
QT_XIM_MODULE 같은 것은 설치하면 기본적으로 설정되는 것 같다.
요새는(?) 키보드 레이아웃 잡느라 xorg.conf 수정할 필요도 없이 잘만 되는 것 같다. (아니면 옛날에 괜히 삽질했던 건가??)
참고
http://www.gentoo.org/doc/en/guide-localization.xml
일단 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