Linux

리눅스 이상한데?

오늘 보니 리눅스에서 사용하는 ping은 수신한 echo reply 메시지의 ICMP checksum을 확인하지 않는 듯하다.

커널 코드를(2.6.10)을 확인해 봤는데 통상 ICMP 패킷 수신을 위해 사용하는 raw socket으로 수신한 패킷을 복사해주는 시점은 IP header를 처리하는 와중.

결과적으로 수신한 echo reply에 대해서는 kernel도 ICMP checksum을 확인하지 않고, ping application도 확인하지 않는 듯. 뭐 이래.

반면 FreeBSD에서는 raw socket으로 패킷을 전달하는 시점이 ICMP protocol 처리한 후에 있는 듯하다. 그래서 ICMP checksum 에러난 패킷은 비정상적인 패킷이므로 application에게 주지도 않는 듯.

이게 맞다면 리눅스 좀 실망인데…

Linux is evolution, not intelligent design

내가 아는 거의 모든 S/W manager들이 이 말을 들으시면 기겁을 하겠지만 Open source 개발의 대표 중의 하나인 리눅스 커널은 그분들이 보기엔 정말 엉망인 S/W 개발 과제다. The Kernel has no obvious design 커널은 설계부터 시작한 것이 아니라(물론 처음에 토발즈씨가 할 때는 그랬을 지도 모르지만) 진화하는 방식이고, 무수히 많은 사람들이 함께 개발하는 거라 오히려 설계, 설계 리뷰, 구현, 시험의 통상적인 개발 process 를 지키기 어렵다. 차라리 (개인적인 수준의 설계), 구현, commit, 다수에 의한 리뷰/시험, 수정의 개발 process가 더 효과적이다.

Today's hack

python을 이용한 flickr uploader. 코드를 보니 이 녀석 역시 지정된 디렉토리 이하에서 파일들(확장자가 jpg, gif, png인 놈)을 찾아서 리스트를 만든 후 그 리스트에 있는 것들을 하나씩 flickr로 올리는 방식이다. 지금 2005년도 사진을 올리라고 했는데 전체 몇 개중에 몇 개나 올라갔는지 확인하는 기능이 없어 쬐금 아쉽다. 진작 알았으면 간단하게 몇 줄 추가하면 될 것인데… 수정본: 미리 업로드할 사진 파일의 갯수를 표시한 후 매번 업로드할때마다 전체 갯수대비 현재 작업수를 표시해줌.(퍼센트로 표시하면 더욱 좋겠구만)

What is arp_announce?

Assume that a linux box X has three interfaces - eth0, eth1 and eth2. Each interface has an IP address IP0, IP1 and IP2.
When a local application tries to send an IP packet with IP0 through the eth2.

Unfortunately, the target node’s mac address is not resolved. The linux box X will send the ARP request to know the mac address of the target(or the gateway).
In this case what is the IP source address of the “ARP request message”? The IP0- the IP source address of the transmitting IP or IP2 - the outgoing interface?

Until now(actually just 3 hours before) ARP request uses the IP address assigned to the outgoing interface(IP2 in the above example)
However the linux’s behavior is a little bit different.
Actually the selection of source address in ARP request is totally configurable by the proc variable “arp_announce”

If we want to use the IP2 not the IP0 in the ARP request, we should change the value to 1 or 2. The default value is 0 - allow IP0 is used for ARP request.

Ubuntu에 mediawiki 설치하기

Reference

- http://mudabone.com/aietc/?p=100  
- [**Web Apps with Tiger: MediaWiki**](http://www.oreillynet.com/pub/a/mac/2005/09/20/apache.html?page=2)  
- https://help.ubuntu.com/7.04/server/C/mediawiki.html  

Picasa for Linux

헉. Google의 Apple에 대한 찬밥(?) 취급이 시작된 건가? Google Calendar가 Safari에 대한 지원을 하지 않고 서비스를 시작한 것도 그렇고, PC용 photo management 프로그램으로 유명한 Picasa가 Mac OS X가 아닌 Linux용 버전이 먼저 발표된 것도 그렇고. 아무튼 국내에서는 그다지 많이 사용되는 것같지 않지만 한글화도 이미 완료되어 제공되고 있는 Picasa는 아주 아주 유용한 프로그램이다. 사진 로딩 속도도 빠르고, 이미 국내에서도 찍스등과 연계하여 직접 업로드하여 사진 인화도 가능하고.(얼마전에 바로 이 기능을 이용하여 사진 인화를 했는데 대개 독자적인 업로드 프로그램을 써야하는 타 인화업체보다 훨씬 편하게 이용할 수 있다.

Linux desktop

요즘 맥 쓰는데 정신이 팔여 한동안 리눅스를 잊고(?) 지냈는데 노벨에서 준비하고 있는 리눅스 데스크탑은 정말 놀랍기 그지 없다. http://channy.creation.net/blog/?p=268 이제 많은 일들을 맥에서 하고, PC에 다시 우분투나 깔아서 삽질을 해볼까 하는데 기대된다. 리눅스의 발전이. update) 추가 링크 http://www.gnome.org/~seth/blog/xshots

Ubuntu CD 신청

http://shipit.ubuntulinux.org/ 에서 신청하면 무료로 배송해준다. 맘에 쏙 들었던 젠투보다 실은 더 맘에 드는 패키지인데 하는 짓은 더 맘에 든다. :-) 한글화 삽질에 치를 떨었던 젠투에 비해 우분투는 데비안기반이라 한글화가 비교적 잘 되어있다. 근데 지금 PC에 깔려있는 리눅스도 부팅안한지 몇 달이 넘어가는 것같은데 시디를 받아서 어디에 쓰지?

은진체로 통일?

집에서 사용하고 있는 리눅스에 적당한 글꼴이 없어 고민하던 차에 “은진체"라는 공개 글꼴을 발견했다. 데비안관련 일을 많이 하고 있는 어떤 분이 만든 글꼴이라고 한다. 자기 여자친구의 글꼴을 추출해서 만들어서 뭇 남성으로부터 지탄을 받고 있다고 ㅋㅋ 젠투에서도 다행히 패키지가 있어서 간단하게 emerge로 설치가 된다. ACCEPT_KEYWORD="~x86” emerge alee-fonts 2.8이 되면서 부쩍 쓸만해서 그놈에서도 글꼴 설정에 가서 모든 글꼴을 은진체로 바꿔버렸다. 오호.. 아주 쓸만하다. 아니 아주 만족스럽다. 이쁜 글꼴이라 맘에 들고, 원래부터 편하게 설정해서 사용할 수 있는 글꼴이 없는터라 더더욱 맘에 들고.