2007년 10월 13일 토요일

Fedora 8 설치기

Fedora / Fedora Guide

Fedora x86_64 - Live CD로 부팅하여 설치하였습니다.

부팅중 언어는 한국어를 선택할 수 있습니다. 설치중에 키보드는 한국어로 하니 SCIM이 맞게 설정되었고, 네트워크는 본인의 취향에 따라 고정 IP로, 시스템의 시간을 UTC에 맞춤을 선택하지 않았습니다.
설치할 하드 디스크는 [사용자 레이아웃 만들기]로 직접 지정하였습니다.
부트 로더 grub을 MBR이 아닌 부트 파티션의 첫번째 섹터에 설정하였습니다.



설치후

처음 설치하면(고정IP로 설정후) 네트워크가 연결이 안됩니다. [시스템 > 관리 > 네트워크]에서 [NetworkManager에 의해 관리]는 선택하지 않은 상태입니다. [시스템 > 관리 > 서비스]에서 network선택후 Customize를 누른후, Runlevel 3와 5을 선택하고 확인을 누릅니다. 이제 Restart를 눌러 연결하였습니다.

터미널에서 locale, date, cat /etc/locattime 을 해보니 로케일은 ko_KR.utf8, 시간은 KST로 맞게 되있습니다.

데비안에선 초기 사용자의 id 1000 인데 fedora는 500 이네요. 개인적으로 한 컴퓨터에 두 시스템이 설치되어 있어 [시스템] [관리] [사용자 및 그룹]에서 uid와 gid가 1000인 사용자로 변경하였습니다.

처음 # yum install으로 패키지를 설치하려하니 [Errno -1] Metadata file does not match checksum 이 보여서 # yum clean all 하였습니다.

yum이 빠른 저장소를 찾을 수 있게 하고, 업그레이드할 커널이 있을 때 내 하드웨어에 맞는 모듈이 있을 때만 업그레이드하게 하였습니다.
# yum install yum-fastestmirror
# yum install yum-fedorakmod yum-kernel-module
# yum install yum-priorities

참고) yum plugin
  • yum-priorities 설정을 제대로 하기위해 /etc/yum/pluginconf.d/priorities.conf을 수정하였습니다.

    # nano /etc/yum/pluginconf.d/priorities.conf

    아래와 같이 하였습니다.
    [main]
    enabled = 1
    check_obsoletes = 1


개인적으로 필요한 패키지 윈도우 컴퓨터의 프린터에 연결하기 위해 samba-client, 방화벽으로 firestarter를 설치하였습니
  • yum install samba-client firestarter


하드웨어

키보드
설치중 언어는 한국어, 키보드는 한국어으로 하니 SCIM이 맞게 설정되어 있습니다.

사운드 카드

cat /proc/asound/cards
0 [default ]: USB-Audio - PnP Audio Device
PnP Audio Device at usb-0000:00:02.0-7, full speed
1 [CX8801 ]: CX88x - Conexant CX8801
Conexant CX8801 at 0xfa000000
사운드 카드도 제대로 인식합니다.
  • Fedora 8에서는 Dvico HDTV RT Silver가 첫번 째 사운드 카드로 잘못 인식되어 /etc/modprobe.conf를 다음과 같이 고쳤습니다. (사운드 카드는 오래된 Xwave 4000 (칩은 Avance Logic Inc.의 ALS4000)을 사용하였습니다.)


    # 처음 설치후 있던 것
    alias eth0 forcedeth
    alias scsi_hostadapter libata
    alias scsi_hostadapter1 sata_nv
    alias scsi_hostadapter2 pata_amd
    #
    # 내가 #를 추가하여 제거한 것
    #alias snd-card-0 snd-als4000
    #options snd-card-0 index=0
    #options snd-als4000 index=0
    #
    # 내가 추가 한 것
    alias char-major-116 snd
    alias char-major-14 soundcore
    # Force Sound Device Sequence
    options snd_als4000 index=0
    options cx88-alsa index=1
    # snd_als4000 Sound Device
    alias sound-service-0-0 snd-mixer-oss
    alias sound-service-0-1 snd-seq-oss
    alias sound-service-0-3 snd-pcm-oss
    alias sound-service-0-8 snd-seq-oss
    alias sound-service-0-12 snd-pcm-oss
    alias /dev/dsp snd-pcm-oss
    alias snd-card-0 snd_als4000
    alias sound-slot-0 snd_als4000
    # Dvico Card Sound Capture Device
    alias sound-service-1-0 snd-mixer-oss
    alias sound-service-1-3 snd-pcm-oss
    alias sound-service-1-12 snd-pcm-oss
    alias /dev/dsp1 snd-pcm-oss
    alias snd-card-1 cx88-alsa
    alias sound-slot-1 cx88-alsa
    # 여기 까지 내가 추가 한 것
Divico HDTV RT Silver

처음 설치후 # lsmod | grep dvb 하니 HDTV 모듈이 이미 알맞게 올려져 있습니다.

Nvidia 그래픽 카드 (7300GT Ultra2 256MB) + 모니터 PCBANK 240W

다음과 같이 설정하였습니다.

소프트웨어 설치

mythtv - 준비

mythtv의 MythWeb plugin등이 SELinux에 의해 막히므로 mythtv 플러그인을 사용하고자 한다면 SELinux의 enforcing에서 permissive로 바꿉니다.

먼저 패키지 저장소를 설정합니다. 여러 저장소가 설정되면 에러가 생겨, /etc/yum.repos.d에서 fedora 처음 설치때와 같이 fedora.repo 와 fedora-updates.repo만 enabled=1 상태로 나두고 다른 저장소 livina.repo는 enabled=0 하여 사용하지 않게 하였습니다.

추가로 mythtv 설치에 필요한 저장소를 설정합니다.

# rpm -ivh http://ftp.freshrpms.net/pub/freshrpms/fedora/linux/9/freshrpms-release/freshrpms-release-1.1-1.fc.noarch.rpm
# rpm --import http://freshrpms.net/RPM-GPG-KEY-freshrpms
# rpm --import http://ATrpms.net/RPM-GPG-KEY.atrpms
# nano -w
/etc/yum.repos.d/atrpms.repo
다음의 내용을 기록합니다.
[atrpms]
name=Fedora Core $releasever - $basearch - ATrpms
baseurl=http://dl.atrpms.net/f$releasever-$basearch/atrpms/stable
gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms
gpgcheck=1
enabled=1


MythTV는 추가적인 여러 커널모듈이 필요합니다. 페도라 커널이 새로 나올 때마다 이에 맞는 커널모듈이 발표되기까지 몇 일이 걸릴 수 있습니다.
ATrpms 저장소에 새 커널이 업데이트 될 때 이에 맞는 커널모듈이 설치되는 패키지를 제공합니다.
# yum install yum-plugin-kmdl

mythtv - mysql

mysql을 설치합니다.
# yum install mysql-server
# /sbin/chkconfig mysqld on
# /sbin/service mysqld start
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('비밀번호') WHERE user='root';
mysql> FLUSH PRIVILEGES;
mysql> quit

mythtv - 설치


mythTV를 설치합니다.
# yum install mythtv


mythtv 유저를 만들려고 # adduser mythtv 하니 이미 만들어져 있다고 하네요. 비밀번호를 설정하였습니다.
# passwd mythtv

mythtv 유저로 로그인이 안되네요. gksu 명령도 없고... 아래아 같이 하였습니다.
# nano -w /etc/passwd
맨 밑에 mythtv 유저의 내용이 보입니다.
mythtv:x:498:497:mythtvbackend User:/var/lib/mythtv:/sbin/nologin
다음과 같이 바꾸었습니다.
mythtv:x:498:497:mythtvbackend User:/var/lib/mythtv:/bin/bash

이제 mythtv 유저로 X 윈도우를 로그인하였습니다.

MythTV database (이름은 mythconverg)을 설정하였습니다.
$ mysql -u root -p < /usr/share/doc/mythtv-docs-0.21/database/mc.sql 비밀번호를 입력하라고 Enter password: 가 보입니다. mysql root 비밀번호를 입력하였습니다. $ mythtv-setup 실행하여 설정하였습니다. Fedora 에서 설정중에 esc 키를 눌러 빠져나오면 화면이 가려 mythfilldatabase를 사용하라는 주의가 보이지 않아 화면이 멈춘 것 같이 보일 수 있습니다. Alt + Tab을 눌러 시스템 로그아웃을 하면 로그아웃은 안하고 화면이 보여 계속 작업할 수 있습니다. 마지막으로 #
/sbin/chkconfig mythbackend on
# /sbin/service mythbackend start
$ mythfilldatabase

마지막으로 mythtv를 실행하였습니다.
$ mythfrontend

추가한 저장소 ATrpms와 freshrpms를 disable하였습니다.

자바
이미 설치되어 있습니다.
  • 참고로 설치되어있지 않으면
    # yum install java-1.7.0-icedtea java-1.7.0-icedtea-plugin
  • Java application과 Web applets이 실행되지 않으면
    # /usr/bin/mozilla-plugin-config -i -f

플래쉬 플러그인
  • 웹사이트 (예로 네이버)에 들어가서 설치하니 64비트는 설치가 안되네요.
  • 전에 Fedora 7에서 다음과 같이 하였습니다.
    여기에서 리눅스용 tar.gz 파일을 받은 다음에 압축을 풀고
    libflashplayer.so를 ~/mozilla/plugins에 저장합니다.
    $ mv libflashplayer.so ~/mozilla/plugins/
    이것도 Fedora 9 (64비트)에서는 안됩니다.
기타 소프트웨어
gnumeric 이미 설치되어 있습니다.
mythtv를 설치해서 ffmpeg mjpegtools libdvdread mplayer등이 이미 설치되어 있습니다.
  • 윈도우 코덱
    먼저 http://www.mplayerhq.hu/MPlayer/releases/codecs/ 에서 all-20071007.tar.bz2 을 저장하고 다음과 같이 하였습니다.

    $ tar -jxvf all-20071007.tar.bz2
    $ su -c 'mkdir -p /usr/local/lib/codecs'
    $ su -c 'cp all-20071007/* /usr/local/lib/codecs'
    $ rm -rf all-20071007*


  • 따로 mp3를 듣기 위해 패키지를 설치하려면 gstreamer-plugins-ugly libmad libid3tag id3v2를 설치하며 됩니다.

  • DVD를 보려면 libdvdread가 필요한데 mythtv 설치하면서 같이 설치되었습니다.

  • firefox에서 mms 프로토콜의 동영상을 보려면
    먼저 주소줄에서 about:config

    새로 만들기 -> 문자열에서
    network.protocol-handler.app.mms
    값으로
    /usr/bin/mplayer

    추가로 새로 만들기 -> 연산자에서
    network.protocol-handler.external.mms
    값으로 true

2007년 10월 5일 금요일

MLdonkey에 대해서

MLdonkey (홈페이지)는 GPL license의 P2P 프로그램으로 eDonkey network, Overnet, BitTorrent, Kad Network를 지원합니다.

설치는 apt-get으로 합니다.
# apt-get install mldokey-server
설치중 컴퓨터 시작시 자동으로 시작을 기본값대로 선택하지 않습니다.

시작시에 터미널에서 mlnet하면 됩니다.
$ mlnet
그러면 ~/.mldonkey 디렉토리가 생기며 이 안에 설정파일 및 공유 디렉토리등이 생깁니다.

사용법은 위와 같이 터미널에서 mlnet한 다음에 GUI, web, telnet등으로 사용하나 평상시에 사용하기엔 web이 편합니다.
  • web
    웹브라우저에서 127.0.0.1:4080 를 입력합니다. transfers, search, servers 탭등이 보입니다.
    받고 있는 파일을 취소할 때는 tranfers 탭에서 받고 있는 파일위에 마우스를 올려놓으면 파일번호가 보입니다. 명령줄에서 cancel 번호 (cancel 2 같이) 입력하고, 다시 confirm yes 입력합니다.
    명령줄에서 kill 입력하면 mlnet으로 실행한 MLdonkey가 종료됩니다.
  • telnet
    터미널에서 다음과 같이 합니다.
    $ telnet localhost 4000
    MLdonkey command-line에서 help를 입력하면 도움말이 보이며, 빠져나오기는 q 입니다.
  • GUI
    먼저 패키지 mldonkey-gui를 설치합니다.
    # apt -get install mldonkey-gui
    Gnome 프로그램에서 실행할 수 있습니다.
download 와 upload 속도를 설정하려면 web interface에서는 options 탭을 누른후 max_hard_upload_rate 와 max_hard_download_rate에서 정합니다. 또는 ~/.mldonkey/downloads.ini에서 직접 설정합니다.

Donkey의 포트를 바꾸려면 web interface에서 Options 탭을 누른후 plugins에서 Donkey를 선택한 후 고치거나, ~/mldonkey/donkey.ini에서 Donkey와 Overnet의 port를 취향에 맞게 바꿉니다.
참고로 현재 사용중인 포트는 ~/.mldonkey/mlnet.log파일을 들여다 보거나 telnet interface의 MLdonkey command-line에서 portinfo 입력하면 됩니다.

방화벽이나 공유기를 사용할 때에 사용하는 포트를 맞게 설정해야 합니다.
참고로 Donkey는 incoming 포트로 2개의 포트가 필요합니다. 임의의 TCP 포트, 임의의 TCP 포트에 +4인 UDP포트가 필요합니다. (예를 들면 15972 TCP, 15976 UDP)
Overnet은 임의의 포트 (TCP와 UDP) 포트 한개가 필요합니다. (예를 들면 11623 TCP, 11623 UDP)

torrent 파일을 받으려면 dllink /home/.../file.torrent 또는 dllink http://www.../file.torrent같이 합니다.

2007년 10월 1일 월요일

Blogger의 웹페이지 폭을 넓게

구글의 Blogger의 웹페이지 폭을 늘여 쓸 수 있습니다. 참고
블로그가 2단 구성 아래와 같이 5개의 구성요소가 있습니다. (3단일 경우는 다릅니다.)
  1. Outer
  2. Header.
  3. Post area ("Main").
  4. Sidebar.
  5. Footer.
유의해야 하는 것은 Outer안에 post와 sidebar가 들어가는데 서로 어느정도 간격이 있어야 합니다. 예를 들면 Outer를 800으로 하면 post를 600과 sidebar를 200으로 설정하면 안되고, 간격을 고려하여 post나 sidebar를 줄여야 합니다. Header와 Footer는 Outer에 맞게 또는 취향에 따라 다르게 정하면 됩니다.
2단구성의 Blogger에서 게시물을 작성할 때 HTML 편집을 누르고, 아래와 같이 붉은색 숫자를 변경하면 됩니다.

#header .description {
margin:0 5px 5px;
padding:0 20px 15px;
max-width:700px;
text-transform:uppercase;
letter-spacing:.2em;
line-height: 1.4em;
font: $descriptionfont;
color: $descriptioncolor;
}


#outer-wrapper {
width: 660px;
margin:0 auto;
padding:10px;
text-align:left;
font: $bodyfont;
}

#main-wrapper {
width: 410px;
float: left;
word-wrap: break-word; /* fix for long text breaking sidebar float in IE */
overflow: hidden; /* fix for long non-text content breaking IE sidebar float */
}

#sidebar-wrapper {
width: 220px;
float: right;
word-wrap: break-word; /* fix for long text breaking sidebar float in IE */
overflow: hidden; /* fix for long non-text content breaking IE sidebar float */
}

#footer {
width:660px;
clear:both;
margin:0 auto;
padding-top:15px;
line-height: 1.6em;
text-transform:uppercase;
letter-spacing:.1em;
text-align: center;

리눅스 팁


rsync로 백업
  • rsync -avn --delete /media/hda3/files-my/ /media/hdb1/files-my/
    -a : archive옵션 -a는 recursive, coyy symlinks, preserve group and owner 기능을 합니다.
    즉 하위 폴더 포함, 심볼릭 링크파일 포함, group과 owner의 파일속성 유지입니다.
    -vv : verbose옵션 -v보다 더 자세한 설명을 보여줍니다.
    -n : dry-run옵션 -n은 실제로 파일을 복사하지 않고 보여주기만 합니다.
    -- delete : /media/hda3/files-my/ 의 파일이 지워졌으면 /media/hdb1/files-my의 파일도 지웁니다.

  • -avn옵션으로 확인 후 실제로 파일을 백업합니다.
    rsync -av --delete /media/hda3/files-my/ /media/hdb1/files-my/
evolution 백업 참고

evolution은 자료를 다음과 같이 저장합니다.
  • $HOME/.evolution (data)
  • $HOME/.gconf/apps/evolution (account settings)
  • $HOME/.gnome2_private/Evolution (passwords)
    패스워드는 암호화되지 않고 just base64 encoded
  • $HOME/.camel_certs (SSL Certificates)
evoution을 백업합니다.
  • 먼저 evolution의 휴지통 비우기를 합니다.
    필요없는 파일 예를 들어 ~/.evolution/cache/http 및 ~/.evolution/mail/pop/계정/cache 각각 제거합니다.

  • 기존 운영체제에서 evolution과 관련 프로세스 (Evolution Data Server, Evoution Alarm Notify)를 중지합니다.
    $ evolution --force-shutdown

  • Gnome에서 빠져나와서 gconf를 중지합니다.
    먼저, 그놈에서 빠져나오고 gconf가 실행되고 있는지 보고 중지합니다.
    $ ps ax | grep gconf
    $ gconftool-2 --shutdown

    Home 디렉토리에서 다음과 같이 파일을 백업합니다.
    $ tar -czvf evolution-backup.tar.gz .evolution .gnome2_private/Evolution .camel_certs
    기존운영체제에서 GConf에 저장된 evolution 설정을 파일로 저장하고 백업합니다.
    $ gconftool-2 --dump /apps/evolution > my-file.xml
    마지막으로 위의 파일을 하나로 묶어 저장하고 필요없는 파일을 지웁니다.
    $ tar -czvf evolution.backup-2007.09.12.etch.for.transfer.tar.gz evolution-backup.tar.gz my-file.xml
    $ rm evolution-backup.tar.gz my-file.xml

    또는 간단히 쉘스크립트로 만들어 실행합니다.
    #!/bin/bash
    gconftool-2 --shutdown
    tar -czvf evolution-backup.tar.gz .evolution .gnome2_private/Evolution .camel_certs
    gconftool-2 --dump /apps/evolution > my-file.xml
    tar -czvf evolution.backup-2007.09.12.etch.for.transfer.tar.gz evolution-backup.tar.gz my-file.xml
    rm evolution-backup.tar.gz my-file.xml

    기존 시스템에서 백업 및 기존 시스템에서 복구 목적이면, 간단히 다음과 같이 압축 백업하고, 나중에 필요시 복구합니다.
    $ tar -czvf evolution.backup-2007.09.12.etch.for.transfer.tar.gz .gnome2_private/Evolution .camel_certs .gconf/apps/evolution
evolution 복구하기
새 운영체제를 설치한 상태라면 새 운영체제의 evolution을 실행해보지 않은 상태에서 복구하게되면 기존상태를 그대로 복구활 수 있습니다.
  • 기존 운영체제에서 evolution과 관련 프로세스 (Evolution Data Server, Evoution Alarm Notify)를 중지합니다.
    $ evolution --force-shutdown

  • Gnome에서 빠져나와서 gconf를 중지합니다.
    먼저, 그놈에서 빠져나오고 gconf가 실행되고 있는지 보고 중지합니다.
    $ ps ax | grep gconf
    $ gconftool-2 --shutdown

    미리 홈 디렉토리에 백업파일을 복사한 후에, 이제 복구합니다.
    $ tar -xzvf evolution.backup-2007.09.12.etch.for.transfer.tar.gz
    $ tar -xzvf evolution-backup.tar.gz
    $ gconftool-2 --load my-file.xml
    $ rm evolution.backup-2007.09.12.etch.for.transfer.tar.gz evolution-backup.tar.gz my-file.xml
이제 evoution을 실행하면 기존 메일, 연락처등, 또한 계정설정도 모두 원상태로 복구됩니다.



프로그램 자동실행하기

KDE 또는 GNOME에서 autostart 폴더에 /usr/share/applications의 설정파일(*.desktop)을 넣으면 자동으로 실행됩니다

  • KDE
    ~/.kde/Autostart/sample.desktop
    모든 사용자에서 자동실행하려면
    /usr/share/autostart/sample.desktop
  • GNOME
    ~/.config/autostart/segio.desktop
    모든 사용자에서 자동실행하려면
    /usr/share/gnome/autostart/sample.desktop
패키지
  • 어떤 패키지가 파일을 사용하고 있는지 보려면, 예를 들어 dhclient.conf를 사용하는 패키지는 다음과 같이 알아 볼 수 있습니다.
    $ dpkg --search /etc/dhclient.conf
  • 어떤 파일이 설치되어 있는지 보려면
    $ dpkg -L dhcdbd
synaptic
  • log 파일은 /root/.synaptic/에 있습니다.

시디롬 CD ROM에 대해서

CD 규격은 다음과 같이 바뀌었습니다.


CD

1980년대 초에 Sony와 Philips가 Compact Disc (CD)를 만들었습니다.

CD-DA (Digital Audio)
RED Book ('82)


오디오 CD에 대해서 정한 것입니다. wav 파일이 바로 CD-DA의 데이터 형태입니다.
1개에서 99개까지의 트랙을 만들 수 있어 최대 99곡까지 담을 수 있으며, 44.1 KHz와 16비트 스테레오의 디지털 데이터를 수록할 수 있습니다.

Lead Out에 실제로는 1분 30초동안 계속 "0"만을 저장해서, CD 플레이어로 하여금 마지막이라는 것을 알릴수 있도록 제작되어야 합니다.
디지털 오디오가 들어가는 프로그램 영역에는 위에서 밝혔듯이 최대 99개의 트랙을 만들 수 있습니다.
Lead in, Program Area, Lead out 세 부분을 "Session" 이라고 합니다.

CD-ROM
Yellow Book ('84)


1984 년에 컴퓨터 데이터를 저장하기 위해 CD-ROM (Read Only Memory)를 만들었습니다. 대부분 내용이 레드북과 동일하지만, 레드북 규격이 데이터 저장에는 적당한 구조가 아니므로 1섹터당 2352 byte 를 저장하고 이 섹터는 분:초:섹터로 표시하도록 하였습니다.
Error Correction Code (ECC), Error Detection Code (EDC), Mode 1과 Mode 2를 정했읍니다.

Mode 1
섹터안에 Error Correction Code가 있어서 사용자는 섹터안에서 2,048 bytes만 사용할 수 있읍니다. 이러한 ECC로 텍스트나 프로그램과 같이 1 비트라도 에러가 있으면 안되는 경우에 적합합니다.

Mode 2
ECC 가 없어서 섹터안에 2,336 bytes를 저장할 수 있읍니다. ECC가 없으므로 에러가 있어도 크게 문제되지 않는 그래픽, 오디오, 비디오 데이터를 저장할 때 사용합니다. 비디오 시디(Video CD)가 CD-ROM Mode 2를 사용하고 있습니다.

그러나 세세한 사항은 CD-ROM 개발자에게 남겨 놓았습니다. 이로 인해 초기에 각자 나름의 파일 구조를 만들어 사용하게 되어 서로 호환이 어려었읍니다. 이를 해결하고자 새 규격이 마련되는데 이 것이 바로 ISO 9660입니다.

ISO 9660

하나의 CD-ROM은 한 개의 세션 또는 여러 개의 세션으로 구성되어 있고, 각 세션의 16번째 섹터에 PVD (Primary Volume Descriptor)가 있습니다.
PVD는 "CD001"라는 문자로 시작하여 이 저장매체가 CD-ROM이라고 컴퓨터에 알려 줍니다. 또한 경로 테이블이라고 디렉토리 정보를 담고 있는 부분이 있어서, 파일이 어디에 있는지 기록하고 있습니다.

3 단계로 구성되어 있읍니다.

1 단계
대부분의 운영체제 (도스 포함)에서 읽어들일 수 있읍니다.
도스의 파일과 같이 파일이름이 8문자, 확장자는 3문자 까지 가능하며, 사용할 수 있는 문자는 "A-Z", "0-9", "_"만 사용할 수 있읍니다. 하위 디렉토리는 8단계까지만 가능합니다. 파일은 연속된 섹터로 저장됩니다.
2 단계
1 단계 보다 더 제약이 적어, 긴 파일 이름을 사용할 수 있고, 사용할 수 있는 문자도 제약이 없읍니다. 단지 각각의 운영체제에서 지원하는 파일 형식에 의해서 기록되어지므로 도스는 호환되지 않습니다. 디렉토리도 기존의 8단계에서 32단위 까지 가능합니다.
3 단계
파일을 연속된 섹터가 아닌 형태로 저장할 수 있습니다.. Packet Writing등의 소프트웨어에서 사용됩니다. 호환성이 많이 적어집니다.

ISO 9660을 기초로 해서 여러 가지가 생겼습니다.

Rock Ridge
ISO 9660 Level 1 파일 시스템의 제한으로 유닉스나 리눅스의 긴 이름을 저장할 수 가 없습니다. Rock Ridge extension을 만들어 긴 이름을 저장할 수 있도록 합니다.

Joliet
ISO 9660 Level 1 파일 시스템의 제약을 극복하려고 Rock Ridge extension을 채택하지 않고 자체적으로 만든 파일시스템입니다.
윈 도우 95에서 에서 긴 파일 이름을 사용하여 CD에 기록할 수 있으며, 이후 윈도우 버전에서 읽을 수 있습니다. 여기에는 Unicode 국제 문자 세트도 사용할 수 있읍니다. 공백을 포함하여 최재 64 문자까지 기록할 수 있습니다.
DOS 및 이전 버전의 윈도우에서도 CD를 읽을 수 있도록 긴 파일 이름에 대해 DOS에서 사용하는 방식도, 8문자 파일이름과 3문자 확장자, 기록할 수 있습니다. 또한 DOS 이름 대신에 ISO 9660 표준에 맞는 파일 이름도 만들 수 있습니다.
ISO9660 에서 각 세션의 16번째에 PVD가 있습니다. 여기에서 경로 테이블이 있어서 파일이름이 8문자 확장자 3문자의 디렉토리 구조를 인식할 수 있게 됩니다. PVD의 뒤에 있는 SVD(Supplementary Volume Descriptor : 부 볼륨 기술자)을 찾아 참조합니다. 이로써 파일 이름이 64문자까지 확장된 디렉토리 구조를 인식하게 됩니다. 즉 디스크상에는 한 개의 파일에 대하여 2개의 디렉토리 구조가 존재하는 것으로, ISO9660만 지원하는 OS에서는 PVD만을 참조하고, Joliet에도 지원하는 OS에서는 먼저 SVD부터 참조를 하는것입니다. 다만 어느쪽으로 디렉토리를 찾아가도 같은 파일을 가리키고 있기 때문에 같은 파일을 2번 기록할 필요없이 사용할 수 있게 되는 것입니다.

따라서 CD에 저장시에 파일 시스템을 ISO 9660 Level 1 파일 시스템 + Rock Ridge로 합니다. 윈도우와 호환을 인하여 추가로 Joliet을 선택하여 저장합니다.

CD-R
Orange Book ("86-"90)


레 드북과 옐로우북의 규격을 벗어나지 않으면서, Track At Once(TAO), Disk At Once(DAO), Multi-Session, CD-RW, Packet Writing등에 관한 물리적인 기록방법에 관한 규정도 포함되어 있습니다.
레드북이나 옐로우북과 동일한 구조에 PCA와 PMA가 Lead in 앞에 추가된 형태입니다.


CD는 가운데에서 바깥 쪽으로 PCA, PMA, Lead In, 실제로 데이터가 저장되는 Program Area, Lead Out의 다섯 부분으로 이루어져 있습니다.
여기서 Lead In과 Lead Out은 꼭 한 개일 필요는 없읍니다. 여러 개가 있으면 바로 멀티세션(Multisession)이 되는 것입니다.



PCA 는 Power Calibration Area의 약자로, 레코딩을 시작하기 전에 레코딩을 테스트하는 부분입니다. 사용하는 레코더가 가장 알맞는 레이저 빔의 강도를 결정하기 위해 시험적으로 레코딩을 합니다. 싸구려 CD를 사용하는 경우에 이 부분에 문제가 있어서 "Power Calibration Error"가 생기기도 합니다.

PMA는 Programmable Memory Area의 약자로, 레코딩하고 있는 데이터의 정보를 임시로 저장하는 부분입니다. 보통 시디를 닫는다고 하는 말 (finalize라고도 하지요.)은 이 PMA에 저장되어 있는 데이터의 정보 (TOC : Table of Contents)를 Lead In 부분으로 옮기는 것입니다. 이렇게 CD를 닫아 버리면 더 이상의 추가적인 레코딩은 할 수 없겠지요.

Program Area란 첫 번째 track부터 마지막 track까지가 저장하고자 하는 데이터가 저장되는 부분입니다. 실제로는 각각의 Tract Data안에 여러 섹터가 있고 여기에 데이터가 저장됩니다.

Disk at Once와 Track at Once의 비교

DAO는 Disk at Once, 즉 디스크 한 장을 한번에 굽는 것이고, TAO는 Track at Once로 디스크 한 장을 트랙 단위로 굽는 것을 뜻합니다.
TAO가 먼저 사용되었으며, TAO에서 발생하는 몇 가지 문제점을 해결하기 위하여 사용된 방식이 DAO입니다.
가 장 기본적인 TAO 방식은 오디오 CD를 구울 때 사용하는 것으로, Audio CD 구조는 Red Book 규격으로 되어 있으며, 구조는 [Lead In] [Audio Track1] [Audio Track2] ............. [Lead Out]처럼 되어 있습니다. 이는 한곡을 트랙 단위로 나누어 사용하며, 트랙과 트랙간에 2초 간격으로 오디오 데이터를 기록합니다.
보 통 TAO 방식은 Audio CD 제작 시에만 사용되며, 레이저빔이 한 트랙별로 On/Off 를 반복하는 방식입니다. 여기서 Off된 구간이 오디오 갭(Gap)으로 나타나게 되는 것으로, 원본의 이미지와는 달리 Off된 구간이 존재하기 때문에 원본과 같은 사본을 기대할 수 없습니다.
이 방식으로 레코딩하면 먼저 레코딩할 데이터를 시디에 기록하게 됩니다. 이 때 시디의 PMA(Programmable Memory Area)에 레코딩하고 있는 데이터의 정보 (TOC : Table of Contents)를 임시로 저장하게 됩니다. 데이터를 모두 시디에 기록하였으면 마지막으로 이 PMA에 저장되어 있는 데이터의 정보 (TOC : Table of Contents)를 Lead In 부분으로 옮깁니다. 이 부분이 보통 말하는 시디를 닫는다고 하는 말 (finalize라고도 하지요.)에 해당되지요. 마지막으로 Lead out이 만들어집니다. 1개에서 99개까지의 트랙을 만들 수 있습니다. 트랙을 기록할 때마다 레이저 빔이 멈추고 다시 동작하기 때문에 마스터링 시디를 만들기에 적당하지 않겠지요.

반 면에 DAO 방식을 사용한다면 [Lead In] [All Audio Track] [Lead Out] 비교적 간단한 구조로, TAO에서 모든 트랙을 구운 후, 리드아웃을 하기 전에 TOC의 갱신 작업을 하는데 비하여, DAO는 CD의 첫 부분에 있는 TOC 작업부터 순서대로 시작하는 것입니다.
직접 Copy시 일반적으로 사용하는 방법으로 DAO로 만든 CD는 하나의 Session으로 구성되며 레이저를 중단하지 않고 처음부터 끝까지 연속으로 레코딩합니다. 따라서 Track간 Gap을 만들지 않고 PQ 채널을 그대로 복사할 수 있기 때문에 Master CD 제작, 게임 CD 백업 시에는 이 방식을 사용해야 합니다.
TAO처럼 트랙단위로 굽지 않기 때문에, Audio CD를 만들 때 이 방식을 이용하여 원하는 트랙간에 2초간의 간격을 제거할 수도 있습니다.
Multi session 같이 나중에 Data를 추가하려면 이 방식을 사용하면 절대 안됩니다. 그것은 Lead-in(TOC)을 기록한다는 것은 Closing 작업을 의미하며 모든 기록을 종료하여 완전한 CD를 만든다는 것이기 때문에 이 방식을 사용하면 더이상 Data를 추가할 수 없습니다.
이 DAO는 오버버닝에서도 언급이 되는 중요한 기능입니다.

Multi-Session

세션이란 시디 구조인 PCA, PMA, Lead In, Program Area, Lead out을 합한 것이 하나의 세션(session)이 됩니다. 멀티 세션이한 한장의 시디에 여러 개의 세션을 만드는 경우입니다.
각 세션이 레코딩 된 다음에 바로 일반 시디롬 드라이브에서 인식이 가능하도록 되어 있습니다. 세션을 만들때마다 해당 세션의 정보를 저장하는 공간으로 약 13.5메가 정도의 공간이 추가로 필요합니다.
멀티세션을 만드는데는 두가지의 방법이 있습니다.

Multi Volume Multi Session
CD내의 각 세션은 독립적으로 존재하며, 나중에 추가되는 세션에 대한 정보를 기록하고 난 뒤에는 이전의 세션에 대한 정보가 따로 기록되지 않으므로 최신 시디롬이 아닌 경우에는 앞쪽의 세션을 인식하지 못합니다.

Linked Multi Session
CD 내의 각 세션의 정보가 서로 연결되어 있습니다. 세션을 추가하는 과정에서 이전에 존재하는 세션에 대한 정보를 모두 읽어들여 새로운 세션의 정보와 함께 기록하므로 일반적인 시디롬에서는 마치 하나의 세션으로 구성된 시디를 읽는 것과 동일하게 작동됩니다.

Multi-Track
한 개의 세션안에 몇 개의 트랙이 있는 경우입니다. 트랙마다 300 byte 정도의 정보 저장 공간이 필요합니다.
최대 99개의 트랙까지 추가할 수 있습니다.

부팅 CD

컴퓨터의 BIOS에서 El Torito Bootable CD-ROM Format Specification v1.0를 지원하여, 부팅시디로 부팅할 수 있습니다.

1995 년 1월에 Curtus E. Stevens (Phoenix)와 Stan Merkin (나중에 IBM)가 "El Torito grill" 레스토랑에서 El Torito Specification V1.0을 만들었습니다. 이는 ISO-9660와 호환되고 바이오스에서 지원되면 CD로 부팅할 수 있습니다.

부팅시디의 구조는 일반 시디에 크게 두가지가 더 추가되어 있읍니다. 바로 Boot Record와 Boot Catalog입니다.

아래그림을 보면 이해가 될 것입니다.

Boot Record

일반시디의 Secondary Volume descriptor에 해당됩니다.
부팅시디에서는 Primary Volume descriptor 다음에 이 Secondary Volume descriptor인 Boot Record Volume descriptor가 있습니다.
ISO -9660에서 Primary Volume Descriptor는 session의 시작에서 sector 10h (16 decimal)에 있어야 한다고 정의했습니다. 또한 El Torito specification에서 Boot Record Volume Descriptor는 시디의 마직막 session에서 sector 11h (17 decimal)이라고 하였습니다.
Primary Volume Descriptor에 의해 이 저장매체는 CD-ROM이며, Boot Record Volume descriptor에 의해 이 시디가 부팅시디이라고 선언되는 것입니다.
아 래 그림과 같이 Boot Record 섹터 17은 항상 ".CD001.EL TORITO SPECIFICATION"로 시작하는데 이 부분이 부팅시디라고 알려주는 것입니다. (섹터 17의 offset은 17x2048=34816이며 34816의 hex 값이 8800입니다.)
또한 Boot Record는 다음의 Boot Catalog가 어느 섹터에 있는지 기록하고 있읍니다.
아래 그림에서 hexadecimal number 13 00 00 00 (5번 째 줄)는 섹터 19에 대한 absolute pointer입니다. 바로 이 섹터 19에 boot catalog가 있읍니다.

윈도우 XP 다이어트

  • 설치후 작업표시줄/시작메뉴, 바탕화면, 내 컴퓨터 속성을 맞게 조절합니다.
    • 작업표시줄/시작메뉴 속성 알맞게 바꾸고
    • 바탕화면에서
      • 최소 전원 관리, 모니터 끄기(15분), 하드 디스크 끄기(20분)를 설정합니다. 간혹 바이오스에서 모니터 끄기 설정으로 이상이 보이면 XP에서 모니터 끄기를 설정하지 않습니다.
  • 내 컴퓨터 속성에서
    • 불필요한 효과 없애기 "바탕화면의 아이콘 레이블에 그림자 사용" 과 "창 및 단추에 시각 스타일 사용"에만 선택합니다.
    • "자동으로 다시 시작" 선택하지말고, " 오류보고 사용 안함"을 선택 및 "치명적인 오류가 발생하면 알림" 선택합니다.
    • 필요한 드라이브에서 시스템 복원을 사용합니다.
    • "업데이트를 다운로드하고 사용자가 원하는 시간에 설치합니다."를 선택합니다.
  • 추가설정
    • 최대 암호 사용 기간
      기 본값은 42일입니다. 바꾸려면 제어판->성능 및 유지 관리->관리 도구->로칼 보안 정책에서 계정정책->암호 정책을 눌러 최대 암호 사용 기간을 정합니다. 기간을 0으로 설정하여 암호가 만료되지 않도록 지정할 수 있습니다.
    • 바탕 화면 정리 마법사 사용 안하기
      gpedit.msc 라고 치면 그룹 정책이라는 메뉴가 뜰 것입니다. 여기서 로컬 컴퓨터 정책의 하위메뉴 사용자 구성에서 관리 템플릿에 보면 바탕화면이라는 항목이 있을 것입니다. 바탕 화면 정리 마법사 제거를 눌러 사용에 체크합니다.


Shutdown

  • 2시간 후에 컴퓨터 종료시에 shutdown -s -t 3600
    취소시에 shutdown -a

절전설정
  • 과 거의 APM (Advanced Power Management)에서는 BIOS에 절전관리가 있었으나 ACPI (Advanced Configuration and Power Interface)에 의해 operating system, BIOS, and device drivers에 절전관리 기능이 생겨 새로 S0에서 S5까지 6단계가 있습니다.
  • S0 normal full-power state
  • S1 simplest energy-saving state
    단지 하드드라이브와 모니터를 shut down한 상태입니다. 보통 sleep 또는 standby라 합니다.
  • S3
    RAM 상태를 유지하기 위한 전원과 wake-up action을 받아드리기 위한 전원만 유지하며, 다른 전원은 모두 절전합니다. suspend to RAM상태입니다. 구분되지 않고 sleep 또는 standby라 하며, suspend, instant on, on now라 하기도 합니다.
  • S4 hibernation state
    RAM과 CPU 상태를 하드드라이브에 파일 (종종, hiberfil.sys)에 저장하고 전원을 끈 상태이나, wake-up action을 받아들이질 않아 전원스위치로 hiberanation에서 빠져나옵니다.
  • S5 complete power-off state
    예를 들면 shut down command 같이 전원을 끈 상태입니다.

부팅디스크 건들이기

1.44MB 플로피 디스크

  • 1.44MB 의 플로피 디스크은 고밀도(HD)디스크이므로섹터당 바이트는 512바이트 이며 트랙당 섹터는 18개 입니다. 물론 트랙은 80개 이구요. 한면에 80트랙씩 양면으로 구성되어 있습니다. 그러므로 512 X 18 X 80 X 2 = 1,474,560 입니다.
  • 플로피 디스크 이미지 만들기 : dd
    dd if=/dev/fd0 of=/home/sam/floppy.image bs=2x80x18b conv=notrunc 또는 dd if=/dev/fd0 of=/home/sam/floppy.image conv=notrunc

    18b 는 18 sectors of 512 bytes를, 2x 는 head 숫자 만큼 sector size를 배로 늘리며 (플로피 디스크는 양면이므로), 80x 는 cylinders 수입니다. (따라서 모두 1474560 bytes) 위의 명령어로 a single 1474560-byte read request to /dev/fd0와 a single 1474560 write request to /home/sam/floppy.image를 하며, hard drive image of the floppy, with bootable info intact를 만듭니다. 두번 째 명령어에서 default "bs="는 512입니다. (the sector size of a floppy)

    conv=notrunc option
    Without notrunc, multiple blocks of zeros get abbreviated with a string of asterisks, saving a lot of space. if you use notrunc, all the zeros will be written out.
  • 플로피 디스크 이미지 만들기 : cat
    cat /dev/fd0 > floppy.flp (다른 예로 cat /dev/cdrom >cdromimage.iso)
  • 플로프 디스크 이미지에서 플로피 디스크 만들기
    dd if=/home/sam/floppy.image of=fd0 bs=2x80x18b conv=notrunc
  • 참고로 플로피 디스크 이미지로 새 플로피 디스크를 format하려면
    전에 사용한 적이 없는 포맷된 빈 플로피 디스크에서 플로피 디스크 이미지를 만듭니다.
    dd if=/dev/fd0 of=/home/sam/floppy.bin
    플로피 드라이브에 포맷하려는 플로피 디스크를 넣은 후
    dd if=/home/sam/floppy.bin of=/dev/fd0

    참고로 1.44MB diskette image는 다른 확장자로 이름을 바꾸어 사용할 수 있습니다. VMware는 FLP를 사용하며,WinImages는 IMA를 사용하지만 같은 구조로 보입니다.

MBR & boot sector

  • 하드디스크의 MBR과 파티션 테이블을 백업
    dd if=/dev/sda of=/home/sam/MBR.image bs=512 count=1
    백업한 하드디스크의 MBR과 파티션 테이블을 복구
    dd if=/dev/sda of=/home/sam/MBR.image bs=512 count=1
    위의 MBR.image (512바이트)에서 파티션 테이블을 제외한 MBR만 복구하려면 다음과 같이 합니다.
    dd if=/home/sam/MBR.image of=/dev/sda bs=446 count=1
    물론 처음부터 하드디스크의 MBR만 백업하려면
    dd if=/dev/sda of=/home/sam/MBR.image bs=446 count=1

  • 특정 파티션의 부트섹터를 파일로 저장하여 윈도우XP로 멀티부팅
    dd if=/dev/hda2 of=/bootsect.lnx bs=512 count=1
    위의 bootsect.lnx를 윈도우 XP의 boot.ini 파일에서 마지막 줄에 아래와 같이 써넣습니다.
    c:\bootsect.lnx="리눅스"

Grub으로 윈도우 멀티 부팅

title WindowsXP (on /dev/hda1)
unhide (hd0,0)
hide (hd0,1)
rootnoverify (hd0,0)
makeactive
chainloader +1

title WinTesting (on /dev/hda2)
unhide (hd0,1)
hide (hd0,0)
rootnoverify (hd0,1)
makeactive
chainloader +1

시디롬 없이 하드디스크에서 부팅하여 설치하기

기존 컴퓨터에 linux가 설치되어 있으면 GRUB을 이용하여 시디 없이 설치할 수 있습니다.

데비안
  • 기존 리눅스로 부팅한 상태에서 알맞은 곳 (여기서는 /new-install/etch)에 2개의 파일을 저장합니다.
    여기(etch)에서 32 bit인 i386의 linux와 initrd.gz을 새로 만든 디렉토리 /new-install/etch에 저장합니다.
    64 bit인 amd-64의 lenny에 해당하는 linux와 initrd.gz은 여기에서 구할 수 있습니다.

    기존 리눅스 시스템의 /boot/grub/menu.lst에 부팅할 메뉴를 만듭니다.
    # nano -w /boot/grub/menu.lst

    다음과 같이
    title Debian (Etch) Install Disk
    kernel (hd1,1)/new-install/etch/linux
    initrd (hd1,1)/new-install/etch/initrd.gz
우분투
  • LiveCD를 하드디스크에 저장한 후 grub으로 LiveCD로 부팅하여 설치

    받은 liveCD (iso)을 마운트 한후에
    # mount -t iso9550 -o loop liveCD.iso /media/live-cd

    CD (iso)을 파일을 임의의 파티션에 저장합니다.
    # cp -r /media/live-cd/* /new-install/ubuntu
    # cp -r /media/live-cd//.disk /new-install/ubuntu

    grub 설정파일 (/boot/grub/menu.lst)에 다음을 추가합니다.

    title Ubuntu Live CD
    root (hd0,0)
    kernel /casper/vmlinuz boot=casper root=/dev/ram ramdisk_size=1048576 rw
    initrd /casper/initrd.gz

    * root (hd0,0)은 시스템에 맞게 고쳐야 합니다.

  • 부팅 파일만 저장하여 grub으로 부팅하여 설치하기 (Netboot설치로 데비안과 비슷)

    여기에서 구할 수 있습니다. 32 bit용의 linux와 initrd.gz를 임의의 디렉토리 /new-install/ubuntu에 저장합니다.

    grub 설정파일 /boot/grub/menu.lst에 다음과 같이 기록합니다.
    title Ubuntu Network Install
    root (hd0,0)
    kernel /new-install/ubuntu/linux
    initrd /new-install/ubuntu/initrd.gz
    boot

    * root (hd0,0)은 시스템에 맞게 고쳐야 합니다.

MEPIS
  • MEPIS 리눅스 (Live CD임)는 CD-ROM에 있는 파일을 하드 디스크에 저장하면 시디롬 없이 부팅할 수 있습니다.
    1. MEPIS 설치 CD (SimplyMEPIS-CD_7.0-rel_32.iso)와 다른 파티션를 mount합니다.
      # mount -t iso9660 -o loop SimplyMEPIS-CD_7.0-rel_32.iso /media/cdrom
      # mount -t ext3 /dev/hdb2 /media/hdb2

    2. CD 파일 복사
      # cp -rp /media/cdrom/* /media/hdb2/

    3. 기존 리눅스 grub boot loader에 아래와 같이 추가합니다.

      title MEPIS Install Disk
      root (hd1,1)
      kernel /boot/vmlinuz root=/dev/hdb2 apm=power-off vga=791 quiet
      initrd /boot/initrd.gz
      boot

PSP 인코딩

PSP

  • PSP의 실제 화면 크기는 대각선으로 110 mm (4.3인치)이며, 픽셀 해상도가 480x272로 16:9 (1.777777778)입니다.
    동영상은 firmware 3.30부터 H.264/MPEG-4 AVC Main Profile의 비디오를 볼 수 있으며, 해상도는 720×480, 352×480, 그리고 480×272을 지원합니다. 이전까지 화면에 맞는 해상도는 368x208 (또는 320x240)입니다.
  • PSP 동영상 만들기
    1. 오디오 조정

      오디오는 특히 AC3인 경우에 소리가 작게 나오는데다 일부분에서 너무 크게 나오는 경우가 있어 필요하면 조정합니다.
      원본 동영상의 소리가 이미 알맞게 들린다면 필요없는 과정입니다.

      먼저 오디오를 pcm파일로 저장합니다.
      ffmpeg에서는
      $ ffmpeg -i input.avi -vn -acodec pcm_s16le -ar 44100 -ac 2 extract.wav
      mplayer에서는
      $ mplayer input.avi -ao pcm:file=extract.wav -vc null -vo null pcm:fast

      Audacity 의 effect -> Compressor...에서 Threshold를 기본갑 -12 db에서 -24 db로 낮추고 (너무 크게 나오는 부분을 낮추고), Ratio는 기본값대로 2:1, Attack Time도 기본값 그대로 0.2secs로 하였습니다. 소리가 조금 더 크게 들리게 Normalize to 0db after compressing는 체크된상태 그대로 합니다.

      윈도우 XP에서는 GoldWave의 Effect -> Volume -> Match 에서 조정할 수 있습니다. Average를 -12.0으로 하여 소리를 크게 한후 저장합니다.

      새로 만든 extract.new.wav를 기존의 동영상과 합칩니다.
      ffmpeg에서는
      $ ffmpeg -i input.avi -i extract.new.wav -map 0:0 -map 1:0 -vcodec copy -acodec copy input.audio.avi
      mencoder에서는
      $ mencoder -oac copy -ovc copy -o input.avi -audiofile extract.new.wav input.audio.avi

    2. Mencoder에서 사용할 srt 자막파일을 만듭니다.
      $ mplayer -dumpsrtsub input.audio.avi -sub input.smi -subcp cp949

    3. 동영상을 PSP에 맞게 368 x 208로 바꾸고 자막입혀 새 동영상을 만듭니다.

      $ mencoder input.audio.avi -ovc xvid -xvidencopts bitrate=2000 -vf crop=660:336:60:0,scale=368:208,harddup -sub dumpsub.srt -font /usr/share/fonts/truetype/unfonts/UnDotum.ttf -utf8 -oac copy -o output.avi

      위에서 원본 input.audio.avi의 원래 크기는 680(660+60+60) x 336입니다.

      필요하면 -ovc xvid -xvidencopts bitrate=2000 대신에 -ovc lavc -ffourcc DX50을 사용해도 됩니다. lavc 기본값이 비디오는 비트레이트가 800인 mpeg4 (DivX 4/5), 오디오는 비트레이트가 224인 mp2입니다. DivX 4/5의 mpeg4를 만들 때 default header가 FMP4입니다. 이는 폭넓게 인식되지 않으므로 -ffourcc DX50하여 DivX 5로 설정합니다.

    4. 동영상 합치기
      필요하면 avimerge로 동영상을 합칩니다.
      $ avimerge -o output.avi -i output-1.avi output-2.avi

    5. PSP 최종 동영상 만들기
      $ ffmpeg -i output.avi -f psp -title name -r 30000/1001 -b 384k -ar 24000 -ab 64k -s 368x208 M4V00001.MP4

      -b 512k로 -ab 128k로 하여 화질과 소리를 좋게하나 파일 크기가 커집니다.

      다음과 같이 그림파일을 저장합니다.
      $ ffmpeg -y -i output.avi -f image2 -ss 5 -vframes 1 -s 160x120 -an M4V00001.THM

      참고ffmpeg FAQ에서
      MPEG4/SP로는 ffmpeg -i input -acodec libfaac -ab 128(또는 64)kb -vcodec mpeg4 -b 512(또는 384)kb -ar 24000 -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 368x208 -r 24000/1001 -title X -f psp output.mp4
      MPEG4/AVC로는 ffmpeg -i input -acodec libfaac -ab 128kb -vcodec h264 -b 1200kb -ar 48000 -mbd 2 -coder 1 -cmp 2 -subcmp 2 -s 368x192 -r 30000/1001 -title X -f psp -flags loop -trellis 2 -partitions parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 output.mp4
      PSPVC를 설치후 만들기도 합니다. ( MPEG4/SP (16/9) 368x208 vb=384kb ab=64kb, Volume은 110으로 합니다.)

  • 참고
    • mencoder로 PSP용 동영상 만들기 : 제대로 안됩니다.
      mencoder input.video -ofps 24000/1001 -af lavcresample=24000 -vf crop=660:336:60:0,scale=368:208,harddup -of lavf -oac lavc -ovc lavc -lavcopts aglobal=1:vglobal=1:vcodec=mpeg4:acodec=aac -lavfopts format=psp:i_certify_that_my_video_stream_does_not_use_b_frames -info name=MovieTitle -o output.psp

데비안에서 한글키 설정

데비안에서에서 한글키 설정이 전에는 키보드 스캔을 해서 (showkey -s와 xev) 설정했는데, xevxorg.conf에서 korean 106-key가 지원되어 이젠 쉽게 설정할 수 있습니다.


Xorg.conf에서 한글키 설정

데비안 etch 설치시 언어는 한국어, 키보드는 영어를 선택하여 설치하면 xorg.conf에
"XkbModel" "pc104", "XkbLayout" "us"로 설정됩니다. 다음과 같이 바꾸어 줍니다.

# nano -w /etc/X11/xorg.conf
다음과 같이 kr106과 kr을 변경합니다.

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "kr106"
Option "XkbLayout" "kr"
EndSection
SCIM을 사용할 경우 전환키에 한글키로 되어있는지 확인압니다.

키보드를 직접 설정
데비안 (etch) 설치시 언어는 한국어, 키보드는 영어를 선택하여 다음과 같이 바꾸어 줍니다.
데비안

설치할 때 언어는 한국어, 키보드 레이아웃은 미국으로 하였습니다. 설치 후 시스템 -> 기본 설정 -> 키보드하면 키보드 모델은 일반 104키 PC, 키배치는 U.S. English 입니다. 키 배치에 대한민국 101/104 호환을 추가하여 맨위로 올리면 한글키/한자키는 잘 됩니다.
그러나 VMware를 설치하고 VMware에서 lenny를 설치하면 한글키/한자키가 인식이 안됩니다. VMware에서도 키설정이 제대로 되게 하려고 인터넷을 찾게 되었고, 다음과 같이 하였습니다.

먼저 키보드의 키배치 탭에서 기본갑으로 리셋을 눌러 원래대로 키보드 모델은 일반 104 PC로 하고, 키배치는 U.S. English로 하였습니다.

데비안 etch와 lenny의 /usr/share/xmodmap/xmodmap.kr 파일에 한글키와 한자키 설정이 keycode 121 = Hangul_Hanja 및 keycode 122 = Hangul
로 설정되어 있습니다.

  • $ less /usr/share/xmodmap/xmodmap.kr
    빠져나오기는 q 입니다.

xmodmap.kr은 건들이지 않고 다음과 같이 하였습니다. 먼저 X윈도우를 빠져나와서 (
Ctrl + Alt + F1하면 됩니다.)

  • $ showkey -s

한글키를 눌러보고 한자키를 눌러보니 scan code값이 한글은 0xf2 이며 한자는 0xf1 입니다. 이 scan code 값을 xmodmap.kr에 있는 keycode 122, 121로 되게 아래와 같이 하였습니다.

  • $ su -
  • # setkeycodes f2 122
    한글 scancode 0xf2를 keycode 122로
  • # setkeycodes f1 121
    한자 scancode 0xf1를 keycode 121로

다시 X윈도우로 들어가(Ctrl + Alt + F7하고) 키를 누르니 한글키와 한자키 모두 인식을 못합니다.
X윈도우에서 xev를 실행하고 한글키와 한자키를 누르면 NoSymbol 이 보입니다.
그리고 한글키를 누르면 setkeycodes f2 122로 keycode 122 정한 한글키가 X윈도우에서 keycode 210로 인식되고, setkeycodes f1 121로 keycode 121로 정한 한자키는 X윈도우에서 keycode 209로 인식이 됩니다. 커맨드 창에서 X윈도우가 인식한 keycode를 아래아 같이 하였습니다.

  • $ xmodmap -e "keycode 210 = Hangul"
  • $ xmodmap -e "keycode 209 = Hangul_Hanja"

한글키를 누르니 setkeycodes f2 122로 keycode 122 정한 것이 X윈도우에서 keycode 210로 인식되고 이 키가 한글키로 잘 인식하였습니다.
한자키를 누르면 setkeycodes f1 121로 정한것이 X윈도우에서 keycode 209로 인식되고 이 키가 한자키로 인식되었습니다.
xev 실행하여 한글키와 한자키를 눌러보면 NoSymbol이 없어지고 Hangul 및 Hangul_Hanja로 맞게 보입니다.

이제 컴퓨터를 켜면 setkeycodes f2 122 및 setkeycodes f1 121 명령이 실행되게 다음과 같이 하였습니다.
  • # nano -w /etc/rc.local
    맨 밑줄에 있는 exit 0 보다 위에서 다음과 같이 입력하고 저장하였습니다.
    setkeycodes f2 122
    setkeycodes f1 121

이 keycode 122와 121이 X윈도우선 keycode 210 및 209로 인식됩니다. 이 keycode 210 및 209가 한글키 및 한자키로 설정이 되게 ~/.xinitrc와 ~/.xmodmap을 다음과 같이 하였습니다.

  • $ nano -w ~/.xinitrc
    다음과 같이 입력하고 저장하였습니다.
    #! /bin/bash
    xmodmap ~/.xmodmap
    저장은 Ctrl + 영문 o 이며, 끝내기는 Ctrl + x 입니다.
  • $ nano -w ~/.xmodmap
    다음과 같이 입력하고 저장했습니다.
    keycode 210 = Hangul
    keycode 209 = Hangul_Hanja
다시 부팅해도 한글키와 한자키 모두 잘 됩니다.
언어는 한국어, 키보드는 미국에, 한글키 및 한자키가 추가된 106키로...

VMware에서

처음 설치시에 언어는 한국어, 키보드 레이아웃은 미국으로 선택했습니다.
처음 설치 후 데스크탑 -> 기본 설정 -> 키보드에서 키보드 모델은 일반 104키 PC, 키배치는 U.S. English 입니다. 키보드 모델과 키 배치를 그대로 나두고 xev를 실행하고 한글키와 한자키를 눌러보니 전혀 반응이 없었습니다. X윈도우를 빠져나옵니다.
그냥 Ctrl + Alt + F1하면 Host 컴퓨터가 X윈도우를 나와버립니다. 물론 다시 Ctrl + Alt + F7하면 됩니다. VMware에서 설정이 안되어 있으면 커맨드 창을 열고 다음과 같이 합니다.

  • $ su -
    Gnome이면
    # /etc/init.d/gdm stop
  • X윈도우를 빠져 나와서 scan code를 알아봅니다.
    $ showkey -s

한글키늘 눌렀을 때 알지 못하는 키가 눌려졌으니 setkeycodes 72 를 사용하라는 하며, 한자키를 누르니 setkeycodes 71 로 하라는 글이 보입니다.
데비안 etch와 lenny의 /usr/share/xmodmap/xmodmap.kr 파일에 한글키와 한자키 설정이 다음과 같이 보입니다.
keycode 121 = Hangul_Hanja
keycode 122 = Hangul
그래서 scan code 72와 71을 다음과 같이 각각 key code 122 와 121로 정했습니다.

  • # setkeycodes 72 122
    # setkeycodes 71 121
  • $ showkey -s 하여도 화면에 아무런 응답이 없을 수 있습니다.
    $ showkey -s 하고 한글키를 몇 차례 누릅니다. 10초가 지나면 다시 명령어를 입력할 수 있습니다. 다음과 같이 하면 메시지를 볼 수 있습니다.
    $ dmesg | tail
    $ showkey -s 하고 이번엔 한자키를 몇 번 눌러줍니다. 다시 또
    $ dmesg | tail

다시 X윈도우로 들어가 xev를 띄어 한글키를 누르니 keycode 122로 정한 것이 X윈도우에서는 keycode 210 인식이 되나 NoSymbol로 설정이 되어있지 않았고, 한자키를 누르면 keycode 121로 정한것이 X윈도우에서 keycode 134로 정해지며 NoSymbol 입니다.
커맨드창에서 다음과 같이 하였습니다.

  • $ xmodmap -e "keycode 210 = Hangul"
  • $ xmodmap -e "keycode 134 = Hangul_Hanja"

이제 한글키와 한자키가 바르게 됩니다.
xev를 실행하고 한글키를 누르면 keycode 122로 정한 것이 X윈도우에서 keycode 210으로 인식되고 Hangul로 맞게 설정이 되며, 한자키를 누르면 keycode 121로 정한것이 X윈도우에서 keycode 134로 정해지며 Hangul_Hanja로 설정이 맞게보입니다.

이제 컴퓨터가 켜질 때 위의 설정이 되게 다음과 같이 하였습니다.
먼저 setkeycodes 71 122 및 setkeycodes 71 121 명령이실행되게
  • # nano -w /etc/rc.local
    맨 밑줄에 exit 0 이 보입니다. exit 0 보다 위에서 다음의 내용을 입력하였습니다.
    setkeycodes 72 122
    setkeycodes 71 121

scan code 72와 71을 keycode 122와 121로 설정되고, X윈도우선 각각 keycode 210과 keycode 134로 인식됩니다. 이제 keycode 210과 134가 각각 한글키 및 한자키로 설정이 되게 ~/.xinitrc와 ~/.xmodmap을 다음과 같이 하였습니다.

  • $ nano -w ~/.xinitrc
    다음과 같이 입력하고 저장하였습니다.
    #! /bin/bash
    xmodmap ~/.xmodmap
  • $ nano -w ~/.xmodmap
    다음과 같이 입력하고 저장했습니다.
    keycode 210 = Hangul
    keycode 134 = Hangul_Hanja

다시 부팅하니 한글키 및 한자키가 모두 잘 인식하였습니다.
언어는 한국어, 키보드는 미국에, 한글키 및 한자키가 추가된 106키로...

데비안 설치기 (Etch를 기본으로 함)

설치 중에 언어는 한국어, 키보드 미국으로 선택하였고, desktop environment를 선택하면 Gnome이 기본으로 설치됩니다.

처음 설치후에



멀티부팅

컴퓨터에 윈도우 XP와 멀티부팅이 되게 바꾸었습니다.
  • # nano -w /boot/grub/menu.lst
    다음의 내용을 추가하였습니다.

    # This entry for a Windows XP on /dev/hda2
    title Child Windows XP
    unhide (hd0,1)
    hide (hd0,0)
    rootnoverify (hd0,1)
    makeactive
    chainloader +1

    # This entry for a Windows XP on /dev/hda1
    title Mother Windows XP
    unhide (hd0,0)
    hide (hd0,1)
    rootnoverify (hd0,0)
    makeactive
    chainloader +1

파티션 마운트
/etc/fstab에서 마운트하는 파티션을 바꾸었습니다.
  • # nano -w /etc/fstab
    proc /proc proc defaults 0 0
    /dev/hda3 / ext3 defaults,errors=remount-ro 0 1
    /dev/hda5 none swap sw 0 0
    /dev/hdc1 /media/data ext3 defaults 0 2
    /dev/hda1 /media/ntfs.xp ntfs defaults,utf8 0 0
    /dev/hdb3 /media/vfat.temp vfat defaults,codepage=949,utf8,uid=1000 0 0
    /dev/hdd /media/cdrom0 udf,iso9660 user,noauto 0 0
    /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0

    vfat 파티션에서 defaults,utf8에 codepage=949,uid=1000를 추가하여 사용자가 읽고 쓸 수 있게 하였습니다.

고정 IP

[데스크탑] [관리] [네트워크]에서 바꾸었습니다.


ntpdate rsync firestarter

처음 설치하니 시간이 약 9시간 미래로 설정되어 있습니다. gnome-panel의 시계에서 맞게 고친 후, ntpdate를 설치하였습니다.
  • # apt-get install ntpdate

  • 설치 후 시간이 맞지않으면 직접 서버에 연결하여 시간을 설정하고
    # ntpdate time.bora.net

    설정파일 /etc/ntp.conf에 server time.bora.net을 기록합니다.

  • 참고)

    ntpdate 대신에 ntp를 설치하여 사용할 수 있습니다.
    # apt-get install ntp

    ntp를 설치하면 gnome-panel의 시계에서 [인터넷 서버와 시간 동기화]가 선택됩니다. 기본 설정으로 시간이 맞지 않으면 [서버 선택]을 눌러 time.nuri.net (Korea, Asia), clock.tl.fukuoka-u.ac.jp (Fukuoka, Japan)등을 선택할 수 있습니다.

    ntp는 종종 인터넷에 연결하여 시간을 맞게 고치므로 인터넷과 항상 연결되어있지 않은 노트북과 같은 시스템에는 ntpdate가 알맞습니다.

rsync를 설치하여 개인 데이타를 백업하고 전에 백업해둔 evolution 데이타를 백업하였습니다.
  • # apt-get install rsync
  • # rsync -avn --delete ~/files-my/ /media/data/files-my/
    # rsync -av --delete ~/files-my/ /media/data/files-my/


간단히 firestarter를 설치했습니다.
  • # apt-get install firestarter
  • Policy탭의 Allow connections from host에서 IP를 192.168.0.1/24 입력하여 개인 로컬 네트워크을 해제하고, Allow service에 삼바서버, Bittorrent, 기타 P2P등의 필요한 포트를 개방하였습니다.

  • Edit -> Prefrences에서 Minimize to tray on window close를 체크하였습니다.

  • 참고)
    firestarter사용시에 리눅스 서버 폴더나 프린트가 보이지 않을 때:
    firestarter는 incoming connections을 허용해도 broadcast packets를 막으며 log에 기록도 하지 않습니다. broadcast는 NetBIOS browsing/name resolution 에 필요합니다. 따라서, 다음중에서 선택해서 정합니다.
    1. 클라이언트가 윈도우 XP이면 c:\windows\system32\drives\etc\lmhosts 만듭니다. 여기에 IP 주소와 IP hostname을 기록하고 재부팅하면 해결됩니다.
      (예를 들어 192.168.0.10 linux #PRE 로 하며, 여기서 #PRE는 name cache에 pre-load해줍니다.)
    2. 또는 삼바를 WINS sever로 설정합니다.
    3. 또는 firestarter의 preferences에서 Block broadcasts from external network에 기본값으로 체크되어 있는 것을 해제하면 NetBIOS resolution이 해결됩니다.

하드웨어 설치


키보드
사운드 카드
  • 컴퓨터를 업그레이드(Asus 마더보드 M2N-E SLI로 내장 사운드가 C-Media CM6501) 하였더니 소리가 떨리면서 들립니다. 여기에 ALSA 1.0.14부터 지원한다고 되어있습니다.
    $ cat /proc/asound/version하니
    Advanced Linux Sound Architecture Driver Version 1.0.12rc1 입니다.

    /usr/src/alsa를 만들고 ALSA에서 1.0.15 버전의 alsa-driver, alsa-lib, alsa-utils을 받아 /usr/src/alsa에 저장하고 각 디렉토리에서 다음과 같이
    # ./configure
    # make
    # make install
    설치중에 libncurses5-dev가 필요하여 설치하였습니다.
    그러나 직접 설치하니 결국 사용중에 에러가 생기네요

  • 그래서 오래된 사운드 카드인 Xwave 4000 (칩은 Avance Logic Inc.의 ALS4000)을 설치하였습니다.

    기존에 설치된 Dvico HDTV RT Silver가 사운드카드로 인식되는 문제로 소리가 제대로 나오지 않습니다.

    다음과 같이 설정하였습니다.
    /etc/modprobe.d/alsa-base에서 맨 앞부분에 아래의 내용을 추가하였습니다.
    # nano -w /etc/modprobe.d/alsa-base

    # first line added by me
    alias char-major-116 snd
    alias char-major-14 soundcore
    # Force Sound Device Sequence
    options snd_als4000 index=0
    options cx88-alsa index=1
    # snd_als4000 Sound Device
    alias sound-service-0-0 snd-mixer-oss
    alias sound-service-0-1 snd-seq-oss
    alias sound-service-0-3 snd-pcm-oss
    alias sound-service-0-8 snd-seq-oss
    alias sound-service-0-12 snd-pcm-oss
    alias /dev/dsp snd-pcm-oss
    alias snd-card-0 snd_als4000
    alias sound-slot-0 snd_als4000
    # Dvico Card Sound Capture Device
    alias sound-service-1-0 snd-mixer-oss
    alias sound-service-1-3 snd-pcm-oss
    alias sound-service-1-12 snd-pcm-oss
    alias /dev/dsp1 snd-pcm-oss
    alias snd-card-1 cx88-alsa
    alias sound-slot-1 cx88-alsa
    # last line added by me
    #
  • 마더보드 ASUS M2N-E SLI의 사운드 C-Media CM6501에서는 위의 snd_als4000snd_usb_audio로 바꾸어야 합니다. 그러나 ALSA 1.0.14부터 제대로 지원이 됩니다.

  • 전에 via 내장 사운드를 사용할 때 다음과 같이 사용하기도 했었습니다.etc/modprobe.d/sound를 다음과 같이 하여 새로 만들고
    alias snd-card-0 snd-via82xx
    options snd-via82xx index=0
    alias snd-card-1 cx88-alsa
    options cx88-alsa index=1

    /etc/modutils/alsa-base에 다음을 추가합니다.
    # snd-via82xx Sound Card
    alias /dev/dsp snd-pcm-oss
    alias snd-card-0 snd-via82xx
    alias sound-slot-0 snd-via82xx
    # Dvico Card Sound Capture Device
    alias sound-service-1-0 snd-mixer-oss
    alias sound-service-1-3 snd-pcm-oss
    alias sound-service-1-12 snd-pcm-oss
    alias /dev/dsp1 snd-pcm-oss
    alias snd-card-1 cx88-alsa
    alias sound-slot-1 cx88-alsa

  • 마지막으로
    여러 프로그램이 동시에 소리를 내기위해서 ALSA lib 설정을 다음과 같이 필요하면... (참조)

    $ nano -w ~/.asoundrc
    다음의 내용을 저장합니다.
    # The top level shared pseudo device, with both PCM and CTL interfaces
    # The device names "default", "dsp0", "mixer0" have conventional meanings.

    # The top level shared pseudo device, with both PCM and CTL interfaces
    # The ALSA default is "!default", but many programs like XMMS and aoss
    # assume "dsp0" as default name for PCM and "mixer0" for CTL.

    # Amazingly, XMMS has problems if one defines 'pcm.dsp0' to be
    # 'plug' for 'pcm.asym0' and not directly as 'asym0'.

    pcm.!default { type plug;
    slave.pcm "dmix0"; }
    ctl.!default { type hw; card 0; }

    ########
    # AOSS #
    ########
    # OSS dsp0 device (OSS needs only output support, duplex will break some stuff)
    pcm.dsp0 { type plug;
    slave.pcm "dmix0"; }

    # OSS control for dsp0 (needed?...this might not be useful)
    ctl.dsp0 { type hw; card 0; }

    # OSS control for dsp0 (default old OSS is mixer0)
    ctl.mixer0 { type hw; card 0; }

    ########################################################################

    # Buffering (period time defaults to 125000 usecs).

    # Size of period, expressed either in usec or byte units:
    # period_time USECS
    # period_size BYTES

    # Size of buffers, expressed either in period, usec, or byte units:
    # periods PERIODS
    # buffer_time USECS
    # buffer_size BYTES

    # The ALSA docs have examples with 'period_time' set to 0,
    # when 'period_size' and 'buffer_size' are used instead,
    # but this can cause trouble in later releases of ALSA.

    # For OSS compatibility, 'period_size' and 'buffer_size'
    # should be powers of 2. Also, many cards cannot accept
    # a 'period_size' much greater than 4096, so 4096 is safe.
    # On my VIA 8233A, any value for 'period_time' greater than
    # 85333 usecs (precisely!) causes hiccups in sound output.
    # Why? At 48kHz, 85333 usec are are just over 4096 bytes/channel.

    pcm.dmix0 { type dmix;
    ipc_key 13759;

    slave.pcm "hw:0,0";
    slave.channels 2;

    slave.rate 48000;
    slave.period_size 1024;
    slave.buffer_size 4096;

    slave.period_time 0;
    # slave.buffer_time 340000;

    # Map only the first two channels
    bindings.0 0;
    bindings.1 1; }


    리부팅하게 되면 사운드 설정이 맞게 됩니다.
    $ cat /proc/asound/cards
Dvico HDTV RT Silver
  • Divico HDTV RT Silver
    $ lsmod | grep dvb
    위와 같이 하니 HDTV 모듈이 올려져 있지 않으면 부팅시마다 메모리에 올려지게 다음과 같이...
    # modprobe cx88_dvb
    # sh -c "echo "cx88_dvb" >> /etc/modules"

  • 채널설정은 먼저
    # apt-get install dvb-utils
    $ scan /usr/share/doc/dvb-utils/examples/scan/atsc/us-ATSC-center-frequencies-8VSB

Nvidia 그래픽 카드: 스파클 지포스 7300GT Ultra2 256MB 가온 + PCBANK
  • 다음과 같이 바꾸었습니다.

소프트웨어 설치

  • http://www.debian-multimedia.org에서의 mplayer는 xvmc를 이용한 HDTV 시청이나 xv를 이용한 웹페이지의 동영상을 재생시에 문제가 있어 mozilla-mplayer와 mplayer는 업그레이드 되지않게 /etc/apt/preferences를 설정하였습니다.
    또한 http://www.debian-multimedia.org의 ffmpeg는 kino에서 DVD 파일을 만들 때 에러가 보여 설정하였습니다.

    # nano -w /etc/apt/preferences
    아래의 내용을 적은 후 저장하였습니다.
    Package: mozilla-mplayer
    Pin: release o=Debian
    Pin-Priority: 990

    Package: mplayer
    Pin: release o=Debian
    Pin-Priority: 990

    Package: ffmpeg
    Pin: release o=Debian
    Pin-Priority: 990
mythtv 사용설치하였습니다. =>여기로

자주 쓰는 패키지
필요한 패키지를 설치하였습니다.
  • # apt-get install unrar gnumeric smbclient smbfs iceape-browser ffmpeg mplayer mozilla-mplayer kino audacity w32codecs libdvdcss2 mjpegtools mencoder

    이중 mytharchive를 설치하면 ffmpeg와 mjpegtools가 같이 설치됩니다.
    필요하면 p7zip mldonkey-server nfs-kernel-server tvtime를 설치합니다.


  • 기타 재미있는 패키지로
    # apt-get install denemo hydrogen atomix
    이외, stellarium supertux wormux frozen-bubble

  • 참고로 전에 java를 다음과 같이 설치했었으나 이젠 다른 java runtime이 웬만한 사이트에선 필요 없을 듯...

    # apt-get install sun-java5-jre sun-java5-plugin sun-java5-fonts
    Sun Java 5 Web Start를 실행하여 한글이 맞게 나오지 않아 /usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/lib/fontconfig.properties에서 다음과 같이 폰트경로를 맞게

    filename.-misc-baekmuk_batang....=/usr/share/fonts/truetype/baekmuk/batang.ttf
    filename.-misc-baekmuk_gulim-....=/usr/share/fonts/truetype/baekmuk/gulim.ttf
패키지 설정하기

  • 웹브라우저로 iceweasel를 주로 사용하는데 , flash player plugin은 네이버등의 웹페이지에서 플러그인을 설치할 수 있습니다.

  • 구글 노트의 firefox 플러그인을 설치하였습니다.
    구글 툴바 설치시에 iceweasel을 파이어폭스로 인식하지 못해 다음과 같이 설치하였습니다.

    먼저 검색창에서 about:config
    필터 창에서 useragent로 설정항목을 줄이고
    general.useragent.extra.firefox 의 값을 Iceweasel/2.0.0.6에서 Firefox/2.0.0.6 으로 바꾸고 구글 툴바를 설치하였습니다.
mplayer를 사용하기 위해 다음과 같이 하였습니다.
  • Gui에서 Video 드라이버는 xv로 하고, 한글 자막시에 Preferences의 [Subtitles & OSD] 탭에서 Encoding을 Korean charset(CP949)로 바꾸었습니다
    [Font]에서 폰트를 정하고 Encoding을 Unicode로 바꾸었습니다.
  • HDTV를 보기위해 ~/.mplayer/config를 다음과 같이 바꾸었습니다.
    joystick=no
    lirc=no
    # Set video driver.
    # vo=xvmc:bobdeint
    # vc=ffmpeg12mc
    vo=xv
    vf-pre=pp=lb
    #
    # Use double-buffering. (Recommended for xv with SUB/OSD usage)
    double=yes
    framedrop=yes
    cache=8192
    # Fix A/V sync problems.
    mc=0.2
    autosync=30
    # Find subtitle files. (1: load all subs containing movie name)
    sub-fuzziness=1
    # Set font. TTF글꼴의 절대경로를 지정해줍니다.
    font=/usr/share/fonts/truetype/unfonts/UnDotum.ttf
    # Set font encoding
    # subfont-encoding=unicode
    # subcp=cp949 : 자막 파일의 문자셋 인코딩 지정. 한글의 경우 cp949나 euc-kr입니다.
    subcp=cp949
    # Set subtitle file encoding.
    unicode=yes
    # Set font size. (2: proportional to movie width)
    subfont-autoscale=2
    # Set font blur radius. (default: 2)
    subfont-blur=2.0
    # Set font outline thickness. (default: 2)
    subfont-outline=2.0
    # Set autoscale coefficient. (default: 5)
    subfont-text-scale=4.4
    # Disable screensaver.
    stop-xscreensaver=yes

  • HDTV는 ~/mplayer에 channels.conf를 기록하였습니다.
    남산용 channels.conf입니다.
    6:797000000:8VSB:17:20:1
    sbs:797028615:8VSB:17:20:1
    7:767000000:8VSB:33:36:1
    kbs2:767028615:8VSB:33:36:1
    9:761000000:8VSB:33:36:1
    kbs1:761028615:8VSB:33:36:1
    11:755000000:8VSB:17:20:1
    mbc:755028615:8VSB:17:20:1
    13:773000000:8VSB:33:36:1
    ebs:773028615:8VSB:33:36:1

    아파트에서 케이블방송을 통해 HDTV를 송출해주어 다음과 같이 사용하고 있습니다.
    6:579000000:8VSB:17:20:1
    7:585000000:8VSB:33:36:1
    9:573000000:8VSB:33:36:1
    11:567000000:8VSB:17:20:1
    13:591000000:8VSB:33:36:1

    HDTV볼 때 단순히 mplayer dvb://9와 같이 합니다.

  • XvMC 활성화 하기
    mplayer를 설치하면 libxvmc1이 설치됩니다.
    /etc/X11/XvMCConfig에서 libXvMCNVIDIA_dynamic.so.1를 기록했습니다.

  • 참고) 터미널 창에서 mplayer 실행시에 자막은
    ln -s /path/to/sample_font.ttf ~/.mplayer/subfont.ttf하여 폰트 설정을 합니다. mplayer가 fontconfig support로 컴파일 되었으면 위의 설정으로 안되므로 다음과 같이 합니다. mplayer movie.avi. -sub movie.smi -font 'UnDotum.ttf' -subcp cp949
    참고로 -font /usr/share/fonts/truetype/unfonts/UnDotum.ttf 같이 하여도 됩니다.
mldonkey-server는 ~/.mldonkey/mlnet.log값을 참고하여 설정하였고 접근시에는 커맨드 창에서 mlnet을 실행하고 웹브라우저로 127.0.0.1:4080로 접근합니다. (mldonkey에 대해서)
  • [Options] [Net] 에서 [enable_bittorent]를 false로 설정하였습니다.

  • downloads.ini의 SECTION: Bandwidth에서
    max_hard_upload_rate = 20
    max_hard_download_rate = 200

  • donkey.ini의
    SECTION: Donkey에서
    port = 15972
    (15972 TCP와 +4인 15976 UDP값을 공유기와 방화벽에서 알맞게 바꿉니다.)

    SECTION : Overnet에서
    port = 11623
    (11623 TCP 및 UDP 값을 공유기와 방화벽에서 알맞게 바꿉니다.)
tvtime은 폰트문제가 생겨 다음과 같이 했습니다.
  • /usr/share/tvtime# mv tvtimeSansBold.ttf tvtimeSansBold.ttf.backup.00
    /usr/share/tvtime# ln -s /usr/share/fonts/truetype/unfonts/UnBatangBold.ttf tvtimeSansBold.ttf
Kino에서
  • preferences의 IEEE 1394 탭에서 /dev/raw1394가 없으면 :
    기본값으로 capture는 root 계정에서만 가능합니다. 먼저 gksu kino로 실행하여 capture를 해봅니다. 안되면 modconf로 kernel/dirvers/ieee1394의 raw1394가 설치되었는지 확인합니다.

    raw1394 모듈이 있는데 /dev/raw1394 가 없으면 다음과 같이 새로 만듭니다.
    mknod /dev/raw1394 c 171 0

  • Kino Preferences
    Defaults탭에서 Normalisation NTSC로 정하고
    Audio와 Aspect Ratio는 기본값 48khz stereo, 4:3 그대로
    Capture탭에서 Auto Split Files은 기본값 그대로 선택하고
    Frames per File은 0으로 바꾸고 Max. File Size는 기본값 2000으로
    Display탭에서 기본값 Preview on External Monitor대신에 Enable preview during capture로

  • DVD-Video Dual Pass
    Debian의 kino에서 DVD를 만들려면 mjpegtools이 설치되어 있어야 합니다. mjpegtools을 설치하면 mp3로 인코딩된 DVD를 만들 수 있으나 하드웨어 호환성 및 오디오 연결에 불편합니다.

    mp3가 아닌 AC로 인코딩한 DVD가 하드웨서 호환성이 더 좋으며, coaxial 또는 optical 단자를 이용하므로 더 편합니다. AC3로 인코딩된 DVD를 만들려면 ffmpeg를 추가로 설치하면 됩니다.

    ffmpeg를 이용하면 AC3 인코딩 뿐만 아니라 dual pass의 DVD 및 wide screen DVD도 만들 수 있습니다. 현재 ffmpeg는 기본저장소에서 설치할 수 있으나 mjpegtools은 소스리스트에 deb http://www.debian-multimedia.org etch main 을 추가하여 설치할 수 있습니다. Etch에서 Export의 Other탭에서 정할 수 있습니다.
  • Tool : DVD-Video Dual Pass (FFMPEG)
    Profile : Standard VOB
    위의 설정은 /usr/share/kino/scripts/export/ffmpeg_dvd.sh을 사용합니다.
    참고로 export 의 MPEG 탭의 초기값의 기본 명령은 아래와 같습니다.
    mpeg2enc -v 0
    mp2enc -v 0
    mplex -v 0

  • It has to do with resampling the audio so that the bitrate is congruent with the projects' audio, or not and leaving it at a possibly different bitrate.
    Kino Preferences의 Audio탭의 48khz stereo와 충돌하므로 48khz가 아니면 Resample Audioio 체크.

  • Export에서 DV File로 저장시에 파일크기가 너무 커지므로 알맞게 줄입니다.
    다음과 같이 기본값 Raw DV로, Auto Split Files을 선택안하고, ReSample Audio를 선택안합니다.
    Frames와 Max. Size는 기본값대로 0 과 1000으로 합니다.
    이렇게 하면 1GB의 파일로 나누어집니다.

그외 기타 설정을 하였습니다.
  • gedit에서 저장하기 전에 백업을 만듭니다에 선택을 안함으로 하였습니다.
    인터넷 브라우저에서 홈페이지를 맞게 정하고 기본 암호 (Master Passwords)설정하였습니다.
    동영상플레이어 totem에서 자막을 한국어(UHC)로 바꾸었습니다.
    [시스템] [관리] [printing 설정을 하였습니다.
    로그인 창을 "찾아보기가 있는 해피 그놈"으로,
    사용자와 그룹에서 기본사용자에서 Use scanners를 추가하고,

    새 일반 사용자를 GID와 UID를 1010로 추가하였습니다.
    [로그인 사진]에서 사진을 설정하고
    화면보호기를 200분으로, 화면 잠그기를 해제하였습니다.
    gconf-editor을 실행하여 apps/gnome-power-manager에서 can_hibernate와 can_suspend에서 체크 안함을 선택하였습니다.
skype는 deb http://download.skype.com/linux/repos/debian/ stable non-free 로 설치하였습니다.

google earth 설치
  • 일반계정으로 설치하며 ttf-bitstream-vera는 폰트에러가 생기나 무시
    $ sh ./GoogleEarthLinux.bin
    # cp ~(대개 유저)/Desktop/Google-googleearth.desktop /usr/share/applications/
    이렇게 하면 Applications -> Internet -> Google Earth 을 실행하며,
    삭제는 google-earth를 지우면 되는 듯

  • google earth는 직접설치 안하고 데비안 방식으로 설치 => 그러나 최신버전의 google earth에서 에러가 보입니다.
    # apt-get install googleearth-package
    # dpkg -L googleearth-package
    화면 마지막에 /usr/bin/make-googleearth-package가 설치되어 있습니다.
    # make-googleearth-package
    googleearth_4.2.205.5730+0.4.3-1_i386.deb 이 만들어집니다.
    (화면에 에러메시지도 많이 보이네요)
    # dpkg -i googleearth_4.2.205.5730+0.4.3-1_i386.deb
구글의 picasa

  • souces.list에 다음과 같이 추가합니다.
    # Google software repository
    deb http://dl.google.com/linux/deb/ stable non-free
    # apt-get update
    키를 설치하니 etch에선 안되더군요
    # wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
    그냥 설치하였습니다.
    # apt-get install picasa
backports에서 : qemu, kvm, pidgin
  • 먼저 sources.list에 backports를 설정하였습니다.

  • pidgin 설치
    google talk등과 연락할 수 있습니다.
    # apt-get install pidgin

    [데스크탑] [기본 설정] [세션]에서 시작프로그램에 pidgin을 추가합니다.

  • qemu나 kvm을 설치하고나서는 굳이 vmware가 필요가 없어졌네요

참고)

VMware

  • 설치전에
    • cat /proc/version 하여 커널을 컴파일한 gcc버전과 ls /usr/bin/gcc -l 하여 설치된 gcc version이 맞는지 확인합니다.
      필요하면 # export CC=gcc-XXX 하여 XXX대신에 알맞은 버전을 기록합니다.
    • Debian에서 linux-headers-....가 설치되어 있어야 합니다.
  • 설치과정
    • $ tar zxpf VMware-workstation-5.5.3-34685.tar.gz
    • # cd vmware-distrib
    • # ./vmware-install.pl
  • Host에서
    • 다음의 파일이 없으면
      /usr/lib/vmware/lib/libpng12.so.0/libpng12.so.0
      /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1
      기존 파일을 백업하고 새 링크파일을 만듭니다.
      /usr/lib/vmware/lib/libpng12.so.0# mv libpng12.so.0 libpng12.so.0.old
      /usr/lib/vmware/lib/libpng12.so.0# ln -s /usr/lib/libpng12.so.0 libpng12.so.0
      /usr/lib/vmware/lib/libgcc_s.so.1# mv libgcc_s.so.1 libgcc_s.so.1.old
      /usr/lib/vmware/lib/libgcc_s.so.1# ln -s /lib/libgcc_s.so.1 libgcc_s.so.1
    • 마우스가 VMware 안과밖으로 움지이지 않으면
      # vmware-toolbox &
      또는 세션의 시작프로그램에 vmware-toolbox --minimize와 같이 등록합니다.

  • 클라이언트
    • 클라이언트 리눅스이면 아래아 같이 VMware Tools를 설치하였습니다.
      VMware Tools CD는 host 시스템인 etch에서는 /usr/lib/vmware/isoimages에 linux.iso가 있습니다. VMware에 iso를 장착하고 guest OS인 debian etch로 부팅하니 /media/cdrom0 에 마운트되어 있습니다.

      먼저 커널에 맞는 linux-headers를 설치하며. 설치 중에 커널에 만든 gcc가 같이 설치됩니다. 그러나 설치된 gcc가 사용중인 커널에 쓰인 gcc와 맞게 설정되었는지 확인해야 합니다. 커널에 쓰인 gcc로 설정을 확인 후
      # tar zxpf /media/cdrom0/VMwareTools-6.0.0-45731.tar.gz
      # cd vmware-tools-distrib/
      # ./vmware-install.pl

    • 한글키가 안되면 다음과 같이 Xmodmap만 맞게 합니다.
      echo "xkeymap.keysym.Hangul = 0x0f2" >> /etc/vmware/config
      echo "xkeymap.keysym.Hangul_Hanja = 0x0f1" >> /etc/vmware/config

삼바 파일공유

    • 방화벽을 사용시에는 137 138 139 를 개방합니다.
    • 일반유저에서 공유할 폴더를 만든후 권한을 알맞게 설정합니다. 쉽게 접근하기 위해서는 다음과 같이 합니다.
      # mkdir public
      public 폴더내에서
      # mkdir write-here
      # chmod 777 write-here
    • # smbpasswd -a 일반유저
    • 데스크탑 -> 관리 -> 공유폴더에서 일반 유저의 public폴더 선택하고, 공유 등록 정보에서 이름은 debian-public, 읽기전용 체크 안하고, 폴더 찾아보기 허용 체크 합니다.
      일반 윈도우즈 공유 설정에서 호스트 설명은 %h server (기본값), 도메인 / 작업그룹은 workgroup, 이 컴퓨터가 WINS 서버 입니다에 체크합니다.
      (윈도우에서 인식을 못하면 WINS 서버 설정을 직접 /etc/samba/smb.conf에서 하거나, 윈도우에서 사용자를 만드는데 데비안에 있는 사용자와 같은 이름으로 해봅니다.)
    • /etc/init.d/samba restart 합니다.

데비안을 서버로 프린트 공유

  • 프린트 공유를 하려면 /etc/cups/cupsd.conf을 다음과 같이 고칩니다.
    • Listen localhost:631
      Listen /var/run/cups/cups.sock을 다음과 같이 합니다.
      #Listen localhost:631
      Port 631
      Listen /var/run/cups/cups.sock
    • Location을 다음과 같이 합니다.
      Order allow,deny
      Allow localhost
      Allow from 192.168.0.*

    • Location /admin을 다음과 같이 합니다.
      Encryption Required
      Order allow,deny
      Allow localhost
      Allow from 192.168.0.*

    • 마지막으로 /etc/init.d/cupsys restart
    • 클 라이언트인 윈도우 XP에서 프린트 및 팩스 -> 프린트 추가한 후에 http://linux:631/printers/Deskjet-930C 로 또는 http://192.168.0.10:631/printers/Deskjet-930C와 같이 추가합니다.

윈도우를 서버로 프린트 공유

  • 프린트 설정
    필요한 smbclient는 이미 설치하였습니다.
    일반유저로 [시스템] [관리] [Printing] 에서 새 프린터를 선택하고
    [Network Printer] 의 [Windows Printer (SMB)]를 선택한후에
    윈도우 호스명, 공유프린터 이름, 윈도우 사용자 이름, 열쇠글을 입력한후 다음을 누르고
    사용중인 프린터 제조사 HP 모델명 Detskjet 930C 드라이버 hpijs (recommend) - HPLIP 1.6.10 (추천) 를 선택한 후 적용을 눌러 설정하였습니다.

기타 하드웨어
  • USB 메모리
    Etch에서 USB Hub에 꽂으니 자동으로 읽어지며 mount명령에서 아래와 같이 mount 되어 있습니다.
    /dev/sdb1 on /media/usbdisk type vfat (ro,noexec,nosuid,nodev,quiet,shortname=mixed,uid=1000,gid=1000,umask=077,iocharset=utf8)
  • 스캐너
    sane과 xsane을 설치합니다. 추가로 scan-find-scanner 를 실행하려면 sane-utils를 설치하면 됩니다.
    found USB scanner (vendor=0x04b8, product=0x0103) at libusb:002:003
    $ xscanimage 하면 됩니다.
    gimp에서 사용하려면 아래와 같이 합니다.
    $ ln -s /usr/bin/xsane ~/.gimp-2.2/plug-ins/
  • 프린트 중지할 때
    cups가 인스톨되어 있으면 http://localhost:631에서 printer queue를 삭제합니다.
    안되면, /var/spool/의 파일을 찾아보고 printer queue를 삭제합니다.
-----------------------------------------------------------------------------------------------------------------

Epiphany의 글꼴과 모양의 기본상태







초기 사용자 권한