Linux2010. 12. 19. 17:46
예전 UFO:AI 번역시에 어순의 차이로 인해 번역에 곤혹을 치뤘던게 떠올라서
관련글에 문의를 했더니, 다음과 같은 답변이 달렸다.
gettext에서도 말씀하신 모든 것이 지원이 됩니다.
이러한 예가 broken sentence의 한 종류입니다. 비슷한 경우는 수많은 케이스가 있습니다. gettext를 제대로 쓰르면 "%1d of %2d"와 같이 처음부터 그렇게 코드를 작성해야 나중에 번역만 하면 됩니다.

[링크 : http://allofsoftware.net/202#comment2695704]


혹시나 해서 이래저래 검색하다가 영 안나와서 -_-
%d나 %s로 검색 고고싱!

15.3.1 C Format Strings

C format strings are described in POSIX (IEEE P1003.1 2001), section XSH 3 fprintf(), http://www.opengroup.org/onlinepubs/007904975/functions/fprintf.html. See also the fprintf() manual page, http://www.linuxvalley.it/encyclopedia/ldp/manpage/man3/printf.3.php, http://informatik.fh-wuerzburg.de/student/i510/man/printf.html.

Although format strings with positions that reorder arguments, such as

     "Only %2$d bytes free on '%1$s'."

which is semantically equivalent to

     "'%s' has only %d bytes free."

are a POSIX/XSI feature and not specified by ISO C 99, translators can rely on this reordering ability: On the few platforms where printf(), fprintf() etc. don't support this feature natively, libintl.a or libintl.so provides replacement functions, and GNU <libintl.h> activates these replacement functions automatically.

As a special feature for Farsi (Persian) and maybe Arabic, translators can insert an ‘I’ flag into numeric format directives. For example, the translation of "%d" can be "%Id". The effect of this flag, on systems with GNU libc, is that in the output, the ASCII digits are replaced with the ‘outdigits’ defined in the LC_CTYPE locale category. On other systems, the gettext function removes this flag, so that it has no effect.

Note that the programmer should not put this flag into the untranslated string. (Putting the ‘I’ format directive flag into an msgid string would lead to undefined behaviour on platforms without glibc when NLS is disabled.)


[링크 : http://www.gnu.org/software/gettext/manual/gettext.html#c_002dformat]

n$ 로 변수의 순서를 직접 정해서
다른 어순의 언어에서도 사용할수 있도록 수정이 가능한 것으로 보인다.

'Linux' 카테고리의 다른 글

메일서버 확인하기  (0) 2011.02.17
MacOSX 의 시스템 구조  (0) 2011.02.06
WOL on Linux - ether-wake  (0) 2010.10.05
POSIX - Portable Operating System Interface [for Unix]  (6) 2010.09.21
커널의 종류(kind of kernels)  (0) 2010.09.21
Posted by 구차니
Linux/Ubuntu2010. 12. 18. 22:01
intel pro/100+ 가 intel PROset 에서 intel PRO server adaptor가 마스터로 존재하지 않으면
teaming(티밍)이 안되자 좌절한 구차니군 =_=

혹시나 리눅스 채널 본딩을 찾아보니 무언가 나온다.
우분투 10.04에서는
$ ifenslave
'ifenslave' 프로그램은 현재 설치되어 있지 않습니다.  다음을 입력하여 이를 설치할 수 있습니다:
sudo apt-get install ifenslave-2.6
이라고 입력하면 해당 프로그램이 설치되고

 $ sudo modprobe bonding
이라고 치면, 자동으로 인식된다.

설정은 직접해보고 추가예정



$ sudo modprobe bonding

$ dmesg | tail -15
[  325.324377] Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008)
[  325.324388] bonding: Warning: either miimon or arp_interval and arp_ip_target module parameters must be specified, otherwise bonding will not detect link failures! see bonding.txt for details.

$ ll /proc/net/bonding/bond0
-r--r--r-- 1 root root 0 2010-12-19 00:29 /proc/net/bonding/bond0

$ cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008)

Bonding Mode: load balancing (round-robin)
MII Status: down
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0

$ ifconfig
eth0      Link encap:Ethernet  HWaddr 11:11:11:11:11:11 
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:23 Base address:0x8000

eth1      Link encap:Ethernet  HWaddr 11:11:11:11:11:11 
          inet addr:192.168.0.198  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::207:e9ff:fe13:38fc/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13 errors:0 dropped:0 overruns:0 frame:0
          TX packets:33 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3491 (3.4 KB)  TX bytes:7120 (7.1 KB)

eth2      Link encap:Ethernet  HWaddr 11:11:11:11:11:11 
          inet addr:192.168.0.155  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::207:e9ff:fe13:378d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1525 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1250 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1394038 (1.3 MB)  TX bytes:196987 (196.9 KB)

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:480 (480.0 B)  TX bytes:480 (480.0 B)

$ sudo ip addr add 192.168.0.254/24 brd + dev bond0

$ sudo ip link set dev bond0 up

$ ifconfig
bond0     Link encap:Ethernet  HWaddr 00:00:00:00:00:00 
          inet addr:192.168.0.254  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

eth0      Link encap:Ethernet  HWaddr 11:11:11:11:11:11 
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:23 Base address:0x8000

eth1      Link encap:Ethernet  HWaddr 11:11:11:11:11:11 
          inet addr:192.168.0.198  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::207:e9ff:fe13:38fc/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13 errors:0 dropped:0 overruns:0 frame:0
          TX packets:33 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3491 (3.4 KB)  TX bytes:7120 (7.1 KB)

eth2      Link encap:Ethernet  HWaddr 11:11:11:11:11:11 
          inet addr:192.168.0.155  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::207:e9ff:fe13:378d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3038 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2100 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3396837 (3.3 MB)  TX bytes:352314 (352.3 KB)

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:480 (480.0 B)  TX bytes:480 (480.0 B)

$ sudo ifenslave bond0 eth1 eth2

나가는게 안됨.. 라우팅 문제가 있는듯?

에러모음 - 권한문제
$ ip link set dev bond0 up
RTNETLINK answers: Operation not permitted

$ ifenslave bond0 eth1 eth2
Slave 'eth1': Error: bring interface down failed
Master 'bond0', Slave 'eth1': Error: Enslave failed
Slave 'eth2': Error: bring interface down failed
Master 'bond0', Slave 'eth2': Error: Enslave failed

[링크 : http://linux.die.net/man/8/ifenslave]
[링크 : http://linux-ip.net/html/ether-bonding.html]
[링크 : http://www.linuxfoundation.org/collaborate/workgroups/networking/bonding]
    [링크 : http://www.linuxfoundation.org/collaborate/workgroups/networking/bonding#Potential_Sources_of_Trouble]
[링크 : http://georgia.ubuntuforums.org/showthread.php?t=99668]

[링크 : http://ubuntuforums.org/showthread.php?t=201713]
[링크 : http://ubuntuforums.org/showthread.php?t=864657]
[링크 : http://www.smallnetbuilder.com/lanwan/lanwan-howto/30575-how-to-set-up-server-nic-teaming]

[링크 : http://linuxchannel.net/docs/ethernet-channel-bonding.txt]
[링크 : https://help.ubuntu.com/community/UbuntuBonding]
[링크 : https://help.ubuntu.com/community/LinkAggregation]
Posted by 구차니
Linux/Ubuntu2010. 12. 5. 19:31
ubuntu 에서 언어를 바꾸로 로그인 하면 아래와 같은 창이 뜨면서
표준 폴더의 이름을 업데이트 하려고 한다.



임의로 프로그램을 실행해서 변경하고 싶다면
 $ xdg-user-dirs-gtk-update
를 실행하면 된다.

직접 수정하고 싶다면 user home 디렉토리에서 아래의 파일을 직접수정해도 된다.
$ gedit ~/.config/user-dirs.dirs
# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
#
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_VIDEOS_DIR="$HOME/Videos"

[링크 : http://webkebi.zany.kr:9003/board/bView.asp?bCode=11&aCode=2283]
[링크 : http://silverwav.wordpress.com/2010/03/21/note-ubuntu-default-folders/]
Posted by 구차니
Linux/Ubuntu2010. 11. 20. 09:58
우분투에서 모니터를 연결하지 않고 자동 로그인 하도록 하면
640x480이나 800x600 같은 해상도로 낮아지는 문제가 있다.

강제로 xorg.conf 바꾸면 되지만 그마저도 귀찮을때!
nVidia 사용자는 X Server Settings 프로그램에서


모니터를 연결해서 부팅후 원하는 해상도로 설정하고
"Save to X Configuration File" 을 해주고 나서 리부팅 하면 그 해상도로 고정 끝!

2010/02/16 - [Linux] - Xwindow 해상도 설정하기
2010/01/15 - [Linux/Ubuntu] - [황당해결] Ubuntu 9.10 + Nvidia 에서 640x480 해상도 이상으로 설정하기
2010/01/14 - [하드웨어 관련] - EDID - Extended display identification data

'Linux > Ubuntu' 카테고리의 다른 글

ethernet bonding on ubuntu 10.04  (0) 2010.12.18
ubuntu의 X11 기본 디렉토리명 로케일별 변경  (0) 2010.12.05
gnome 패널에 CPU 성능관련 추가하기  (6) 2010.11.15
SLI on Ubuntu  (0) 2010.11.15
리눅스 계정이름 바꾸기  (0) 2010.11.11
Posted by 구차니
Linux/Ubuntu2010. 11. 15. 01:23
예전에 draco님 블로그에서 본 느낌인데..
아무튼 추가하고 나서 발견한 놀라운 사실!

AMD 4200+x2 인데.. CPU 속도 조절이 가능한듯?!
노트북이 아니라 데스크탑인데도 말이다!



Posted by 구차니
Linux/Ubuntu2010. 11. 15. 00:02
SLI로 설치하기 위해서는 일단 SLI를 끄고(ASUS 기준 Single Video Card 모드로)
Nvidia 그래픽 드라이버를 설치한 다음 다시 BIOS에서 Dual Video Card나 AUTO 로 변환해주어야 한다.

일단 2010.11.15일 기준
Ubuntu에서 설치되는 리눅스용 nVidia 드라이버의 버전은 195 버전이다.
CUDA를 돌리기 위해서는 새로 받아서 설치해야할듯 -_-
그리고 SLI로 인식을 해서 여러개 그래픽 카드는 나오지만, SLI 관련 설정은 보이지 않는다.


260 대로 바꾸어도 별 차이는 없는듯 -_-

일단 내꺼는 아래와 같은데.. bad 의 경우 같은 느낌.
$ lspci | grep -i vga
04:00.0 VGA compatible controller: nVidia Corporation G84 [GeForce 8600 GT] (rev a1)
05:00.0 VGA compatible controller: nVidia Corporation G84 [GeForce 8600 GT] (rev a1)
$ lspci -t
-[0000:00]-+-00.0
           +-01.0
           +-01.1
           +-02.0
           +-02.1
           +-06.0
           +-07.0
           +-08.0
           +-09.0-[0000:01]----01.0
           +-0a.0
           +-0b.0-[0000:02]--
           +-0c.0-[0000:03]--
           +-0d.0-[0000:04]----00.0
           +-0e.0-[0000:05]----00.0
           +-18.0
           +-18.1
           +-18.2
           \-18.3


sudo nvidia-xconfig --sli=on 했다가 드라이버만 날아가네 -_-
머가 잘못된걸까?


[링크 : http://developer.download.nvidia.com/compute/cuda/3_2/drivers/docs/README_Linux.txt]

2010/11/01 - [Programming/CUDA / openCL] - SLI mode - AFR, SFR, AA
Posted by 구차니
Linux/Ubuntu2010. 11. 11. 20:33
참 쓸데없는 짓(?) 일지도 모르지만..
아이디를 바꾸고 싶은데 ubuntu 에서 상당히 많은게 바뀌어야 한다.

일단 변경해야할 파일들 모두 root 권한이므로, 정말로 변경을 하고 싶다면
다른 유저를 만들어서 다른 유저로 진행을 하거나,
 $ sudo su
명령을 통해 root로 바꾸어 진행을 해야 한다.

1. /etc/passwd - id를 변경함
2. /etc/group - sudoers 문제로 인해 반드시 바꾸어 주어야함
3. /etc/shadow - id와 연결되어 있으므로 id를 변경함
4. $HOME 의 소유자(owner)

$ ll /etc/passwd /etc/shadow /etc/group
-rw-r--r-- 1 root root 1857 2010-11-11 19:15 /etc/passwd
-rw-r----- 1 root shadow 1222 2010-11-11 19:17 /etc/shadow
-rw-r--r-- 1 root root 979 2010-11-11 20:27 /etc/group


아무튼.. 내 계정 하나만 있었음 매우매우 큰일날뻔 -_-


1. /etc/passwd 만 변경하면
 [sudo] password for username:
에서 계속 틀린 암호라고 나온다.(아마도, 로그아웃 하면 영원히 로그인 불가능 할 듯)

2. group에서 아이디를 변경하지 않을경우 생기는 에러
[sudo] password for username:
username is not in the sudoers file.  This incident will be reported.


Posted by 구차니
Linux/Ubuntu2010. 10. 29. 15:36
해상도가 GR이 되는 바람에 -_-
원격으로 실행을 하려니 실행파일 이름을 모르는 상황발생!
아무튼 작업관리자에서 보니
 nm-connection-editor
였군! 젠장!


아래는 일반권한과 sudo를 이용하여 root로 실행한 화면의 차이이다.
sudo를 해야지 편집이 가능해진다 -_-


Posted by 구차니
Linux/Ubuntu2010. 10. 29. 15:20
dos2unix 가 설치가 안되서 부랴부랴 검색 -_-
근데 인증할수 없다라... 무서운 경고를 내뱉진 말란 말이야!

$ sudo apt-get install tofrodos
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다
상태 정보를 읽는 중입니다... 완료
다음 새 패키지를 설치할 것입니다:
  tofrodos
0개 업그레이드, 1개 새로 설치, 0개 지우기 및 0개 업그레이드 안 함.
20.4k바이트 아카이브를 받아야 합니다.
이 작업 후 86.0k바이트의 디스크 공간을 더 사용하게 됩니다.
경고: 다음 패키지를 인증할 수 없습니다!
  tofrodos
확인하지 않고 패키지를 설치하시겠습니까 [y/N]? Y
받기:1 http://kr.archive.ubuntu.com/ubuntu/ lucid/main tofrodos 1.7.8.debian.1-2 [20.4kB]
내려받기 20.4k바이트, 소요시간 0초 (31.5k바이트/초)
전에 선택하지 않은 tofrodos 패키지를 선택합니다.
(데이터베이스 읽는중 ...현재 150066개의 파일과 디렉토리가 설치되어 있습니다.)
tofrodos 패키지를 푸는 중입니다 (.../tofrodos_1.7.8.debian.1-2_i386.deb에서) ...
man-db에 대한 트리거를 처리하는 중입니다 ...
tofrodos (1.7.8.debian.1-2) 설정하는 중입니다 ...

근데.. dos2unix는 아니고
fromdos / todos 두가지 프로그램이 설치된다 -_-

SYNOPSIS
fromdos [ options ] [file...]
todos [ options ] [file...]

[링크 : http://linux.math.tifr.res.in/manuals/man/unix2dos.html]

[링크 : http://funkylocker.tistory.com/entry/우분투-dos2unix]
Posted by 구차니
Linux/Ubuntu2010. 10. 29. 10:07
system-config-samba 프로그램에서
아래와 같이 "모든 사용자에게 접근 허가" 를 선택을 하고 공유하면
Win7이던 VISTA던 XP던 상관없이 아무나 삭제/추가/수정을 할수있게 공유된다.


위와같이 공유하면 samba에서 nobody:nogroup 유저/그룹으로 파일을 생성한다.
$ ls -al
합계 44
drwxrwxrwx 5 root     root      4096 2010-10-29 09:15 ./
drwxr-xr-x 4 root     root      4096 2010-10-28 14:42 ../
drwxr-xr-x 4 nobody   nogroup   4096 2010-10-28 18:17 docs/
drwxr-xr-x 4 nobody   nogroup   4096 2010-10-28 17:28 free program/

Posted by 구차니