Post about "리눅스"

맥에서 리눅스 연결할 때 한글 깨지는 문제

1. 리눅스에서 한글 입출력 설정을 마친다.

2. 맥에서 .bash_profile 파일에 아래 두 줄을 추가한다.

 

/etc/fstab으로 자동으로 마운트하기

https://help.ubuntu.com/community/Fstab

/etc/fstab 파일은 리눅스 시스템이 자동으로 마운트하기 위한 정보를 담고 있다.

아래처럼 6가지 정보를 입력하는데,

<file system> <mount point>   <type>  <options>  <dump>  <pass>

각 항목은 탭 또는 스페이스 등의  공백으로 구분한다.

1.
file system: 파일시스템이 있는 장치나 파티션. 전에는/dev/sda1 이런 방식을 쓰는데 이제는 UUID를 사용하는 것이 기본이다.
UUID를 알아내는 방법은 터미널에서 다음의 명령으로 간단히 알아낼 수 있다.
sudo blkid
다음과 같이 장치/파티션, UUID, 파일시스템 타입을 한 눈에 알 수 있다.
/dev/sda1: UUID=”b3450059-0c0a-4342-a3c4-52c1871fd2b4″ TYPE=”ext3″
/dev/sda2: UUID=”3cf235dd-9306-42ef-83bc-fb7e1d7c612d” TYPE=”ext4″
/dev/sdc3: UUID=”C2D0FC6AD0FC6657″ LABEL=”500Data” TYPE=”ntfs”
ls -l /dev/disk/by-uuid
명령도 UUID를 알 수 있지만 파일 시스템은 안나온다.
여기서는 ntfs타입인 /dev/sdc3를 마운트하는 것으로 예를 들겠다.
UUID=”C2D0FC6AD0FC6657″ <mount point>   <type>  <options>  

<

<dump>  <pass>

이제 나머지 5개 값도 찾아보자.
2.
mount point는 대상 파티션을 어디에 마운트할 것인가 그 경로를 지정하는 것이다. 자기가 하고싶은데에 하면 그만이지만 보통 /mnt나 /media를 사용한다. 여기에서는 /media 를 이용할 것이다. 다음의 명령어로 /media 폴더로 이동한다.
cd /media
여기에 마운트 할 디렉토리를 만든다. sdc3파티션은 유틸리티와 드라마 등이 있으니 그냥 Data라는 이름으로 만들겠다. /media 디렉토리에 폴더를 만들기 위해서는 root 권한이 필요하다. 따라서 우분투 사용자라면
sudo mkdir Data
자, 이제 mout point도 /medai/Data로 정해졌다.
UUID=”C2D0FC6AD0FC6657″ /medai/Data <type>  <options>  <dump>  <pass>
3. type
마운트하려는 파티션의 포맷 타입을 지정해준다.
ntfs의 경우는 ntfs-3g, fat의 경우는 vfat이다. 물론 ext3으로 포맷된 파티션이라면 ext3라고 해주면 된다.
  • auto
  • vfat – used for FAT partitions.
  • ntfs, ntfs-3g – used for ntfs partitions.
  • ext2, ext3, jfs, reiserfs, etc.
  • udf,iso9660 – for CD/DVD.swap.

등 파일시스템에 맞게 입력해주면 된다.

UUID=”C2D0FC6AD0FC6657″ /medai/Data ntfs-3g <options>  <dump>  <pass>

4. options

옵션은 파일 시스템과 관련있다. defaults는 rw, suid, dev, exec, auto, nouser, async 등의 속성을 갖는다.
대표적인 옵션들은 아래에 있고 좀 더 많은 정보를 원하는 분은 man mount를 보시면 된다.
  • sync/async – All I/O to the file system should be done (a)synchronously.
  • auto – The filesystem can be mounted automatically (at bootup, or when mount is passed the -a option). This is really unnecessary as this is the default action of mount -a anyway.
  • noauto – The filesystem will NOT be automatically mounted at startup, or when mount passed -a. You must explicitly mount the filesystem.
  • dev/nodev – Interpret/Do not interpret character or block special devices on the file system.
  • exec / noexec – Permit/Prevent the execution of binaries from the filesystem.
  • suid/nosuid – Permit/Block the operation of suid, and sgid bits.
  • ro – Mount read-only.
  • rw – Mount read-write.
  • user – Permit any user to mount the filesystem. This automatically implies noexec, nosuid,nodev unless overridden.
  • nouser – Only permit root to mount the filesystem. This is also a default setting.
  • defaults – Use default settings. Equivalent to rw, suid, dev, exec, auto, nouser, async.
  • _netdev – this is a network device, mount it after bringing up the network. Only valid with fstype nfs.

나는 rw,nosuid,nodev,allow_other 속성을 주었다.

UUID=”C2D0FC6AD0FC6657″ /medai/Data ntfs-3g rw,nosuid,nodev,allow_other <dump>  <pass>

5. dump
dump는 백업 유틸리티인데 이걸로 백업을 하느냐 여부를 결정한다.

(우분투 9.10에는 dump도 설치가 안되어 있더군;;; dump를 설치하고 manpage를 보니 ext2/3 filesystem backup이라고 나오는데 ext4나 ntfs같은 것은 덤프를 못하는 것인가…?)

UUID=”C2D0FC6AD0FC6657″ /medai/Data ntfs-3g rw,nosuid,nodev,allow_other 0 <pass>
6. pass
pass는 fsck라는 유틸리티가 파일시스템을 체크하는 순서를 지정하는 것으로
  • 0은 안하는 것이고,
  • 1이면 먼저
  • 2는 나중에

1은 /(root)에 사용하고 나머지는 2를 사용하는 것이 보통이다. 나는 문서나 유틸리티만 모아두는 파티션은 체크를 안한다. 0으로 해주면 된다.

UUID=”C2D0FC6AD0FC6657″ /medai/Data ntfs-3g rw,nosuid,nodev,allow_other 0 0

드디어 끝.
이제 /etc/fstab에 있는 파일시스템을 모두 마운트해서 사용해보자~
sudo mount -a

리눅스에서 rename 사용하기

rename은 정규식을 사용해서 여러 파일의 이름을 한 번에 바꿀 수 있는 펄 유틸리티다.

간단한 예.
임의의 폴더 안에 아래와 같은 파일들이 있다고 하자.
01 동해물과.txt

02 백두산이.txt
03 마르고.txt
04 닳도록.txt
05 하느님이.txt

위 파일들의 이름 중 “01 “와 같이 숫자와 스페이스를 없애서 “동해물과.txt”와 같이 하고자 한다.

(nomos님의 댓글을 보고 수정했습니다. 2010. 01. 29)

$>rename ‘s/\d{2}[[:space:]]//’ *
여기서 s/는 치환하라는 뜻이며,
\d는 숫자 하나를 가리키는데

{2}는 앞에 오는 대상의 개수를 가리킨다.
따라서 \d{2}는 숫자 2개를 뜻한다.

[[:space:]]는 공백(스페이스, 빈 줄 포함)을 나타낸다.

마지막 “/”은 치환할 대상을 처리할 문자규칙인데, 여기서는 삭제를 해야 하므로 아무 것도 안써서 “/”와 같이 해주었다.
*은 이 규칙을 적용할 파일명 규칙이다. *은 (누구나 예상하듯이) 모든 파일이다.
정규표현식에서 [[:digit:]]는 \d와 같이 나타낼 수도 있지만 rename 명령은 이 방법은 안되었다.
또한 [[:digit:]][[:digit:]]는 [[:digit:]]{2}처럼 나타낼 수도 있지만 rename은 이 방법도 안되었다.

DontZap Option in xorg.conf

쿠분투에서 듀얼모니터를 시도하는데 잘 안된다.

xorg.conf를 직접 손보려고 열어봤는데 DontZap 옵션 달랑 하나만 있더라;;;

첨보는 거라 뭔지 구글링.

Ctrl-Alt-Backspace 를 누르면 X서버가 재시작하는데, 기존에는 이게 기본값이었다고 한다.

근데 사용자들이 갑자기 X서버가 재시작하는 게 불편하다고 했나보다.

그래서 9.04 Jaunty 부터는 이 옵션을 비활성화해두었다고 한다.

급할 때 필요하니 나는 False로 바꾸었다.

True: Ctrl-Alt-Backspace로 X서버 재시작 하지 않음.
False: Ctrl-Alt-Backspace로 X서버 재시작 함.

근데 그냥 ‘시스템 설정’-‘디스플레시’에서 ‘Ctrl-Alt-Backspace restarts the xserver’체크해줘도 된다.

comerr-dev, libqt4-dev 등 에러 해결 방법

언젠가부터 내 노트북에 설치한 쿠분투(우분투도 동일)를 apt로 업그레이드 할 때마마 comerr-dev, libqt4-dev, libkrb5-dev, libqp-dev, libqt4-opengl-dev 등이 오류가 발생했다.
그래도 시스템을 이용하는데 문제가 없었기 때문에 그냥 쓰고 있었는데, 오늘 texworks 우분투용을 빌드하기 위해 필요한 libpoppler-qt4-dev를 설치하는데 이것도 오류가 발생하길래 해결을 하기로 했다.

의존성 문제라고 뜨는데, 저 패키지를 하나하나 따라가다 보니 결국은 comerr-dev 문제다. 구글링을 해서 이런 저런 페이지를 검색하다가 이 페이지를 찾았다. 여기의 댓글 중 해결법이 있는 사이트를 링크했다길래 해당 링크도 따라갔더니 이 방법으로 성공했다는 댓글이 있어 따라한 결과 성공.

1. 원인: install-info 버전 문제. 데비안 버전의 install-info가 있고, GNU버전의 install-info가 있다. 우분투에서 쓰는 데비안 버전의 것을 GNU버전이 먼저 잡히기 때문. 링크한 페이지에 보면 texlive2008를 설치할 때 GNU버전이 설치된 모양이다. 내가 영어가 딸려서 제대로 이해했는지 의심은 되지만;;;

2. 해결:
1) 현재 상태:

$whereis install-info

을 해보면 2개의 install-info가 잡힌다.

$/usr/sbin/install-info –version

을 해보면 Ian Jackson의 데비안 버전이라고 나온다.

$/usr/local/bin/install-info –version

을 해보면 Free Software Foundation의 GNU 버전이라고 나온다.

2) 방법:

해결법은 $PATH에서 데비안 버전이 먼저 잡히로록 바꿔주면 된다.
$sudo vi /etc/environment에서 $PATH의 /usr/sbin을 /usr/local/bin 보다 앞에 놓으면 된다.

$source /etc/profile

로 바뀐 설정을 적용한 후 apt의 update와 upgrade를 하면 된다.

끝~!

쿠분투 9.04(Jaunty Jackalope) 업데이트 후 오류

어제 노트북에 쿠분투 9.04를 설치했다.

설치 후 데스크탑 효과를 활성화시키고, vim을 apt로 설치하다가 에러가 발생. 까맣게 멎었다.

재설치 후 데스크탑 효과를 비활성화시킨 상태에서 이것 저것 설치하고 인터넷 여행을 하다가,

자기 전에 업데이트 할 게 뜨길래 업데이트를 하고 잤다.

조금 전에 노트북을 켰는데… KDE 실행 오류가 뜨며 KDE 로그인 화면으로 돌아간다.

메시지(No write access to .ICEauthority)를 읽어보니 .ICEauthority 파일에 쓸 수가 없다고 뜬다.

터미널로 들어가 “sudo chmod 777 .ICEauthority(755라고 해도 될 것 같다)”라고 해주고 startx 하자 그제야 KDE가 뜬다.

문제는 또 남았는데 phonon에 문제가 생겨 어쩌구 저쩌구(제대로 안읽어서…;;;).

사운드가 안된다;;;

어떤 메시지가 떴는지 확인하기 위해 글쓰기를 잠시 멈추고 재부팅을 했는데…

사운드가 잘 나온다…;;;

업데이트하기도 겁나는구나…

ubuntu에서 패키지 설치/삭제시 꼬였을 때

우분투에서 패키지를 설치하거나 삭제할 때 종종 에러가 발생한다.

dpkg –configure -a
또는
apt-get -f install
을 실행해 보라는데, 그래도 아래와 같은 에러 메시지를 뿜으며

subprocess pre-installation script returned error exit status 1
E: Sub-process /usr/bin/dpkg returned an error code (1)

해결이 안된다.

이럴 때는
1. /var/lib/dpkg/info/에러난 패키지이름.postrm파일을 열어
set -e 을
set -e exit 0
로 고친다(즉, set -e 뒤에 exit 0을 추가하면 된다.)

이렇게 하고 다시 시도해보고 그래도 안된다면,
2. /var/lib/dpkg/info/에러난 패키지 이름
과 관련된 파일을 모두 지운다.

예를 들어 ‘m4’라는 패키지가 문제가 있다면, /var/lib/dpkg/info/밑에 m4, m4.postinst, m4.postrm, m4.md5sums 등을 모두 삭제한다.

Kubuntu 8.10 Intrepid Ibex 설치

노트북에 쿠분투 8.10 Intrepid Ibex를 설치해봤다.

좀 더 뽀대가 나긴 하는데, 음…좀 답답하다. CPU Intel 듀얼코어 1.6Ghz, RAM 1.5G인데, 조금 느린 느낌이다.

데스크탑 효과를 켜두고 창을 옮기면 좀 울렁울렁한다. 8.04에서 Compiz-Fusion으로 했을 때는 없던 멀미증상이 나타난다;;;

또 한글문제가 여전하다. SCIM과 nabi가 또 동시에 깔린다;;; SCIM과 관련된 것은 모두 지우고 nabi만 설치해서 쓰고 있다.

8.04부터 그랬던 것 같은데, 문서, 그림과 같은 기본으로 설치되는 디렉토리 이름이 한글로 나온다. 설치할 때 언어를 ‘한국어’로 했기 때문이다. 그런데 인터넷이 연결이 안된 상태에서는 한글입력기의 설치/삭제를 못하므로, 터미널상에서 이 디렉토리에 접근할 수가 없다. 또 한글입력이 가능한 상태에서라도 cd등과 같은 영문명령어 뒤에 한글디렉토리명을 입력하려면 한/영변환을 해야한다. 그냥 영어이름으로 하는 게 나을 것 같다.
설치할 때 언어를 영어로 선택하면 되긴 하지만…

한글입력문제는 있지만, 한글환경은 굉장히 좋아졌다. 일단 어지간한 메뉴 등은 모두 한글화가 잘 되어 있고, 한글 폰트도 깔끔하고 이쁘게 잘 나온다. 예전에는 네이버사전체나 윈도우즈의 굴림글꼴을 가져다 썼는데, 지금은 그냥 써도 이쁘다. 그리고 그래픽 드라이버를 별도로 잡아주지 않아도 Ati X1400 그래픽카드를 잡 잡아준다. 아주 맘에 든다.

인텔 무선랜카드도 잘 잡히고, 사운드도 잘 잡힌다.

시작메뉴는 아직 적응이 덜 됐고, 기본으로 제공되는 데스크탑 위젯은 별 필요성을 못느껴서 안쓰고 있다.

그런데 프로그램 설치/삭제를 할 수 있는 패키지 관리자는 조금 불편해 졌다. 예전에는 검색결과 나온 리스트에서 바로 추가/삭제/변경 등을 할 수 있는데, 이제는 한 번 클릭해야만 설치할지 삭제할지 등의 체크박스가 나타난다. 이거 꽤 불편하다.

그 외… 대체로 이전과 비슷… 조금조금 불편… 요기조기 편리… 군데군데 이상…

추가)
#1. 2008. 11. 26
마이크로소프트 Windows7 beta(Build 6801)이 더 낫다;;;

#2. 2008. 11. 26
firefox가 제대로 설치가 안되서 재설치함. 패키지 관리자로 설치했는데, 실행하면 작업표시줄에 10초간 나타났다가 사라짐. 터미널에서 실행하면 아무 것도 나타나지 않음. 에러메시지 없음.

#3. 2008. 11. 26
완전히 재설치 후 firefox는 이상이 없으나, 패키지 관리자가 문제. 검색어를 입력하면 패키지 목록들이 주르륵 나와야 하는데, 거의 나타나지 않는다.;;; 터미널에서는 문제가 없으니, 일단은 그냥 쓰기로 한다.

#4. 2008. 11. 29
패키지 관리자인 adept를 삭제 후 다시 설치했다. 패키지 검색이 잘 된다.

리눅스가 싫어지고 있다.

Qt로 뭐 좀 해보려 하는데, ㅆ 못해먹겠다.

아~~~ 승질나~~~

(추가)
qmake로 간단히 해결함…-_-;;

저게 안되면 qmake도 안되는 줄 알았는데, 지가 알아서 다 해주더군;;;

좋은 녀석이야…

Kubuntu 8.04 Hardy Heron에서 Compiz-Fusion 사용하기

Kubuntu 8.04 HH에는 compiz가 기본으로 설치되어 있다는데 도대체 3D Cube 효과를 볼 수가 없다. 이리저리 알아본 결과 쉽게 해결할 수 있었다. 왜 이걸 모르고 헤맸는지…;;;

1. Kubuntu 8.04를 설치한 후 [K메뉴]-[시스템]-[Hardware Driver Manager]를 클릭하면 제한된 하드웨어 목록이 나타나는데, 내 경우 Ati 그래픽카드가 비활성화 되어 있다(실제 그래픽카드: Ati Mobility Radeon x1400). 이걸 활성화시킨 후 ‘Close’를 눌러 종료한다.

2. Adept 패키지 관리자를 실행하고 compiz라고 입력한다.

3. compiz와 관련된 항목들 중에서 compizconfig-settings-manager를 설치한다.

재부팅을 하고 [K메뉴]-[설정]에 보면 ‘Advanced Desktop Effects Settings’ 항목이 나타난다. 이 메뉴를 통해 compiz설정을 할 수 있다. 이제 3D Cube를 돌려보자. ㅋㅋ

이걸 실행하자.

1. [일반]-[General Options]를 선택, ‘Desktop Size’ 탭을 클릭한다.

2. Horizontal Virtual Size는 4, Vertical Virtual Size는 1, Number of Desktops는 1로 설정한다.

3. ‘Back’버튼을 눌러 설정 초기화면으로 돌아온 후 ‘데스크탑’ 메뉴를 선택한다. 여기서 ‘Desktop Cube’를 선택한다. ‘Desktop Wall’이 체크되어 있을 때에는 둘 중에 하나만 쓸 수 있으므로 ‘Desktop Wall’을 사용안함으로 한다.

4. ‘Rotate Cube’도 체크해 주자. ^^

5. 이렇게 하고 Close 버튼을 누르면 드디어 3D Cube를 쓸 수 있게 된다.

ps.
파이어폭스에 이거 쓰면서 느낀 점: 역시 scim보다 nabi가 훨씬 낫다!!!

참고한 사이트: http://ubuntusite.com/enable-3d-cube-kubuntu-hardy/