2008년 12월 25일 목요일

네트워크 설정

네트워크

유선랜
  • 시스템의 hostname 설정
    hostname을 보려면 $ /bin/hostname
    hostname을 설정하려면 # /bin/hostname 새이름
    새 hostname으로 부팅하려면 /etc/hostname 에 기록하면 됩니다.

  • IP설정은 /etc/network/interfaces에 저장합니다.

    auto eth0
    iface eth0 inet static
    address 192.168.0.10
    netmask 255.255.255.0
    network 192.168.0.0
    broadcast 192.168.0.255
    gateway 192.168.0.1
    dns-nameservers 168.126.63.1 168.126.63.2

  • gateway 설정
    gateway를 보려면
    $ netstat -nr 또는 # /sbin/route

    새 gateway를 설정하려면 기존의 gateway를 지우고 (# /sbin/route del default gw 192.168.1.1),새 gateway를설정합니다 (# /sbin/route add default gw 192.168.1.100).

  • DNS는 /etc/resolv.conf에...

    통상 컴퓨터가 켜지면 dhclient가 DHCP서버와 연결하여 nameserver 주소를 받아오고, 이어서 dhclient의 스크립트 /etc/dhcp3/dhclient-enter-hooks.d/resolvconf가 resolvconf에 넘겨주어 /etc/resolv.conf에 저장됩니다.

    다른 방법으로 ifup 프로그램도 /etc/network/interaces를 참조하여 네트워크를 설정할 수 있습니다. 부팅하면 ifup이 /etc/network/interfaces에 기록된 nameserver 주소를 resolvconf에 넘겨주어 /etc/resolv.conf에 저장됩니다.

    따라서 DHCP서버와 연결이 잘 안되어 /etc/resolv.conf가 제대로 설정되지 못할 수 있어,
    /etc/network/interfaces에 dns-nameservers 168.126.63.1 168.126.63.2 와 같이 추가합니다.

무선랜

Debian (Lenny)에서 설치할 때 데스크탑 환경을 선택하지 않고, 표준 시스템만 선택해 설치한 상태입니다.
  • 사용하는 무선랜은 iptime사의 G054U2 와 G054UA입니다.
    우분투 8.10 (Intrepid Ibex)에서 시디로 부팅시에 바로 인식합니다. 그러나 Debian lenny에선 인식을 못해서 firmware를 따로 설치해야합니다.
    Ralink Technology, Corp의 RT2501USB Wireless Adapter로 firmware를 설치합니다.

    # apt-get install firmware-ralink

  • 무선랜 설정을 위해 먼저 wireless-tools 와 wpasupplicant 패키지가 필요합니다.
    리눅스에서 무선랜을 설정할 때 쓰는 여러 프로그램이 wireless-tools에 있으며,
    wpasupplicant패키지로 클라이언트가 네트워크를 암호화(WPA 및 WPA2)할 수 있습니다.

  • /etc/network/interfaces에 다음을 기록합니다.

    auto wlan0
    iface wlan0 inet static
    address 192.168.0.10
    netmask 255.255.255.0
    gateway 192.168.0.1
    wpa-ssid 무선랜이름
    wpa-key_mgmt WPA-PSK
    wpa-proto WPA
    wpa-pairwise TKIP
    wpa-group TKIP
    wpa-psk 비밀번호
    wpa-driver wext

    위에서 address, netmask, gateway를 알맞게 정하고, 무선랜이름과 비밀번호를 맞게 기록합니다. 부팅시에 연결되게 auto wlan0을 기록합니다.

    참고로, WEP은 보안에 취약하므로 사용하지 않습니다.
Gnome에서 무선랜을 고르고 정하려면....
  • 먼저 network-manager-gnome을 설치합니다.
    front-end인 network-manager-gnome을 설치하면, nm-editor등도 설치되며, daemon인 network-manager도 같이 설치됩니다.

    # apt-get install network-manager-gnome

  • Debian (lenny)에선 network manager 아이콘에 주변 무선랜 검색이 안됩니다.
    /etc/default/wpasupplicant에 ENABLED=0 기록합니다.

    # /etc/init.d/dbus restart
    또는 다시 부팅하면 network manager에 무선랜 검색이 됩니다.

  • network-manager-gnome를 설치하여 Gnome에서 무선랜을 설정하면 keyring에 대한 비밀번호를 입력하게 됩니다.

  • 참고로 NetworkManager는 /etc/network/interfaces에 기록되지 않은 랜환경만 설정합니다. Gnome -> 시스템 -> 관리 -> 네트워크를 실행하여 직접 network 설정을 하려면
    gnome-network-admin 패키지를 설치하면 됩니다.
Debian (lenny)와 Ubuntu (Intrepid Ibex) 에서 데스크 탑 설치 후 무선랜 설정
  • 설치 중에 데스크 탑을 선택하면 network-manager (또는 network-manager-gnome이 같이) 설치되어 무선랜을 설정하면, 부팅후 귀찮게도 패스워드를 입력해야 합니다.

  • 직접 /etc/network/interfaces에 무선 네트워크를 직접 고정 IP로 지정합니다.

    auto wlan0
    iface wlan0 inet static
    address 192.168.0.20
    netmask 255.255.255.0
    gateway 192.168.0.1
    wpa-ssid 무선랜이름
    wpa-key_mgmt WPA-PSK
    wpa-proto WPA
    wpa-pairwise TKIP
    wpa-group TKIP
    wpa-psk 비밀번호
    wpa-driver wext

  • network-manger는 /etc/network/interfaces에 기록되지 않은 네트워크만 다룹니다.
    기록되지 않은 네트워크는 network-manager가 DHCP로 부터 IP 및 DNS server를 할당받으려 합니다.
    유선랜 또는 무선랜이던 IP를 제대로 할당받지 못하면 /etc/resolv.conf의 DNS server설정도 초기화로 지워질 수 있습니다. 유선랜은 DNS server를 직접 /etc/network/interfaces에 dns-nameservers 168.126.63.1 168.126.63.2 같이 기록합니다.


데비안 절전

리눅스에서 CPU 절전

  • CPU 속도를 조절하여 절전을 합니다.
    이러한 절전은 governor <-> CPU Frequency Driver를 거쳐 CPU절전을 합니다.

  • 즉, CPU의 성능(최대속도, 최소속도등)을 CPU Frequency Driver가 인식하고 governor에게 알려주며, 이 governor가 다시 사용자에게 알려주어 CPU상태를 알 수 있습니다.
    반대로 사용자가 CPU 속도를 최대로 할 것인지, 또는 최소로하여 절전을 할지를 governor에게 정해주면, 이 governor가 다시 CPU Frequency Driver에 전달하여 CPU 속도를 조절하게 됩니다.

  • Debian Lenny에서 부터는 cpufrequtils를 설치하여 CPU Frequency Driver와 governor를 설정합니다.

    데스크탑 환경을 선택하고 설치하면 acpi와 acpid가 설치되며, 또한 cpufrequtils가 설치되면서 CPU Frequency Driver와 kernel governor가 맞게 설정됩니다.
    그러나 초기 설치시에 데스크탑 환경을 설택하지 않고 표준 시스템만 설치하면 acpi와 acpid은 설치되나, cpufrequtils는 설치되지 않습니다. CPU 절전을 하려면 cpufrequtils을 설치합니다.

    # apt-get install cpufrequtils
    설치된 후 이제 다시 부팅하면 시스템에 알맞은 CPU Frequency Driver와 governor가 실행됩니다.
cpufrequtils의 대해서...
  • cpufrequtils를 설치하면 /etc/init.d/loadcpufreq가 설치됩니다.
    loadcpufreq는 부팅할 때 실행되는 script로 시스템에 알맞은 cpu driver를 메모리에 올려줍니다.

    커널에서 지원하는 CPU Frequency Driver를 알아보려면,
    # modinfo /lib/modules/$(uname -r)/kernel/arch/*/kernel/cpu/cpufreq/* | grep "^[fd]"

    사용자가 직접 CPU Frequency Driver를 메모리에 올리려면 이전의 방법 (# modprobe -v powernow-k8) 대신에 /etc/default/loadcpufreq에 저장하면 됩니다.

  • 또한 cpufrequtils를 설치하면 /etc/init.d/cpufrequtils가 설치되어, 부팅할 때 알맞은 governor를 실행시켜 줍니다.

    사용가능한 governer를 보려면
    $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

    커널에서 사용할 수 있는 커널 governor를 보려면
    $ ls /lib/modules/$(uname -r)/kernel/drivers/cpufreq/
    다음과 같이 보입니다.
    cpufreq_conservative.ko cpufreq_powersave.ko cpufreq_userspace.ko
    cpufreq_ondemand.ko cpufreq_stats.ko freq_table.ko

    각각의 커널 governor는 다음과 같이 작동합니다.
    performance (cpufreq_performance) CPU 클럭을 최고 주파수 상태로 유지합니다.
    powersave (cpufreq_powersave) CPU 클럭을 최저 주파수 상태로 유지합니다.
    ondemand (cpufreq_ondemand) 최저 주파수 상태로 있다가 필요할 때에 곧바로 최고 주파수로 바뀝니다.
    conservative (cpufreq_conservative) ondemand와 비슷하나 필요할 때에 최고 주파수로 점차 올라갑니다. 노트북에 알맞습니다.
    userspace (cpufreq_userspace) 사용자가 CPU 클럭 주파수 변경합니다.

    사용자가 부팅시에 특정 governor를 실행되도록 하려면/etc/default/cpufrequtils에 기록하면 됩니다.

    커널 governor말고 사용자 governor(cpufreqd, cpudyn, powersaved, powernowd ...)는 특별한 경우가 아니고는 필요하지 않습니다.

    또한 /etc/default/cpufrequtils에서 CPU의 frequency의 한도를 직접 정할 수 도 있습니다.
    참고로 사용하는 CPU의 frequency의 한도를 보려면
    $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
  • 추가로 cpufrequtils를 설치하면 /usr/bin/cpufreq-info와 /usr/bin/cpufreq-set가 설치되어 cpu frequency 정보를 알아보거나 직접 정할 수 있습니다.
모니터링
  • CPU frequency를 보려면
    $ cpufreq-info
  • 또는 Gnome에서 패널에 애플릿(CPU 클럭 스케일 정보)을 추가합니다.
모니터 절전
  • apt-get install xscreensaver

데비안 사운드 시스템

데비안의 ALSA
  • 다음의 패키지가 필요합니다.

    linux-sound-base
    OSS와 ALSA중 어떤 사운드 시스템을 사용할지 정하게 됩니다.

    libasound2
    alsa library와 기본 플러그인이 있습니다. 데비안(lenny)을 설치할 때 데스크탑 환경은 선택하지 않고 표준 시스템만 설치를 해도, 이 lib-sound base와 libasound2는 설치됩니다. lsmod해보면 사운드 카드에 맍는 모듈들 (snd_emu10k1 snd_pcm_oss snd_mixer_oss snd_pcm...)이 보이게 됩니다.

    alsa-base

    ALSA 드라이버가 알맞게 작동하도록 하는 설정파일(configuration files)입니다.

    리눅스 커널에는 여러 사운드 카드의 드라이버가 포함되어 있습니다. 컴퓨터를 켜면 사운드 카드에 맞는 드라이버가 모듈(kernel loadable modules)로 메모리에 올려지게 됩니다. 사운드 카드가 지원되지 않으면 alsa-source 패키지로 모듈을 직접 만들어 (module-assistant 패키지로) 사용합니다. alsa-base은 이러한 모듈이 어떤 식으로 작동하는지 정한 설정파일입니다.

    alsa-utils
    이 패키지는 ALSA를 설정하거나 사용하는 유틸리티(utilities) 있습니다.
    amixer: command line mixer
    alsamixer: curses mixer
    amidi: read from and write to ALSA RawMIDI ports
    aplay, arecord: command line playback and recording
    aplaymidi, arecordmidi: command line MIDI playback and recording
    aconnect, aseqnet, aseqdump: command line MIDI sequencer control


    alsa-oss

    이 전에 사용하던 사운드 시스템인 OSS를 사용하늘 프로그램이 ALSA에서 작동하도록 하는 패키지입니다.
    OSS용 프로그램이 OSS장치가 아닌 ALSA장치로 사운드를 출력하게 됩니다. 가상의 OSS 장치를 만들어 사용하도록 하는 것도 있으나 이 패키지로 ASLA장치로 출력하는 것입니다.

    alsamixergui
    alsa-utils에 있는 alsamixer가 있습니다. alsamixergui는 그래픽 환경의 alsamixer입니다.

  • 사운드 카드 설정

    linux-sound-base와 libasound2를 설치합니다. 그러나 이미 설치되어 있을 것입니다.

    alsa-base alsa-utils alsa-oss 를 설치합니다. 필요하면 alsamixergui도 설치합니다.

    alsaconf로 설정하고

    alsamixer로 소리크기등을 정한 후 alsactl로 저장합니다.

2008년 12월 23일 화요일

ssh

데비안 (lenny)에서 ssh

  • 설치
    # apt-get install ssh

  • 설정
    # nano /etc/ssh/sshd_config

    port 22
    필요하면 다른 포트로 바꿉니다.

    PermitRootLogin yes
    보안 때문에 no로 바꿉니다. root 로그인이 필요하면 /etc/hosts.allow에 다음과 같이
    sshd: 192. : allow
    sshd: ALL : deny

    #GSSAPIAuthentication no
    접속이 느리면 #를 지워서 GSSAPIAuthentication no로 합니다.

  • ssh 재시작
    # /etc/init.d/ssh restart
  • 확인은
    $ netstat -ntl

2008년 12월 22일 월요일

원격 데스크탑

원격 데스크탑 (Debian Lenny)

Debian에서 Debian으로
  • 서버 설정 (시스템->기본설정->원격 데스크탑)

    서버가 없으면 설치합니다.
    # apt-get install vino

    일반탭에서 다른사용자가 데스크탑을 볼수 있게 하고 제어할 수 있도록 선택합니다.
    보안은 사용자가 이 암호를 입력하도록 합니다를 선택하여 암호를 정합니다.

    고급탭에서 로컬연결만 허용을 체크하니 무선으로 연결된 로컬이 연결이 되지 않아 선택하지 않았습니다.
    암호화 필요를 선택하였습니다.

  • 클라이언트 (프로그램->인터넷->원격 데스크탑 보기)

    없으면 vinagre를 설치합니다.
    # apt-get install vinagre

    먼저 연결을 누른 후 호스트에 호스트명을 입력합니다. (안되면 IP를 입력합니다.)

    조금 기다리면 암호를 물어옵니다.

Debian에서 윈도우 XP로
  • 먼저 XP에서 내컴퓨터 -> 속성 -> 원격에서 [사용자가 이 컴퓨터에 원격으로 연결할 수 있음]에 체크합니다.

  • rdesktop을 설치합니다.
    # apt-get install rdesktop
  • 사용법은
    rdesktop -u 사용자 이름 IP주소

2008년 8월 31일 일요일

Nvidia 그래픽 카드 설정

사용하고 있는 그래픽 카드는 스파클 지포스 7300GT Ultra2 256MB 가온, 모니터는PCBANK 240W입니다.

  • 리눅스에서 모니터 문제로 xorg.conf를 아래와 같이 바꾸었습니다.

    Section "Monitor"
    ...
    ModeLine "1920x1200" 154.0 1920 1968 2000 2100 1200 1203 1209 1222 -hsync +vsync
    Gamma 0.9
    ...
    EndSection


    Section "Screen"
    ...
    Option "NoLogo" "True"
    Option "ModeValidation" "NoDFPNativeResolutionCheck"
    SubSection "Display"
    Depth 24
    Modes "1920x1200" "1920x1080" "1600x1200" "1280x1024" "1280x768" "1024x768" "800x600"
    EndSubSection
    EndSection

  • DPI 문제
    xorg는 displaysize로 DPI를 정합니다.
    본인의 모니터는 PBM-240W로 제원상 수평 518.4 mm이며, 수직 324.0 mm으로,
    xorg.conf의 Section "Monitor" 에 다음과 같이 기록합니다.

    Section "Monitor"
    ...
    DisplaySize 518.4 324.0
    ...
    EndSection

    그러나Nvidia社의 드라이버를 설치하여 사용하면 DisplaySize 옵션에 추가로 DPI 옵션을 사용할 수 있습니다.
    Section "Device"
    Driver "nvidia"
    Option "UseEdidDpi" "false"
    Option "DPI" "96 x 96"
    ...
    EndSection

    참고로 DPI 옵션과 DisplaySize옵션을 같이 사용하면 DisplaySize는 무시됩니다.

    본인의 모니터에서 Nvidia社의 드라이버를 설치하고 위의 DisplaySize, DPI 옵션을 설정하고 X윈도우를 띄우면 다음과 같이 보입니다.
    $ xdpyinfo | grep -B1 dot
    dimensions: 1920x1200 pixels (508x318 millimeters)
    resolution: 96x96 dots per inch
    실제 모니터 크기가 다르게 인식됩니다. 실제 픽셀 크기는 0.270 mm X 0.270 mm인데...

    참고로 DisplaySize 옵션만 적용하면 다음과 같으며,
    $ xdpyinfo | grep -B1 dot
    dimensions: 1920x1200 pixels (813x455 millimeters)
    resolution: 60x67 dots per inch
    X윈도우(그놈)에서 DPI 해상도를 96으로 맞추면 제대로 보이나 로그인창의 폰트가 작게 보여 불편합니다.
    Option "DPI" "96 x 96" 해야 로그인창의 폰트가 맞게 보입니다.

  • 최근의 xorg-xserver는 type1 font module 대신에 freetype을 사용하므로
    # nvidia-xconfig가 실행되고나서 xorg.conf에 type1 module설정이 남아있으면
    주석 처리 # 합니다.

    # Load "type1"


데비안
  • 저장소에 커널에 맞게 만들어진 nvidia 모듈이 있으면 간단히 설치하고,
    없으면 module-assistant로 직접 소스 패키지로 모듈을 만들어 설치하거나,
    Nvidia 회사의 설치파일을 이용합니다.

    먼저 /etc/apt/sources.list에 contrib non-free 추가후 update

    1. 배포판 커널을 사용중이고, 저장소에 커널에 맞게 만들어진 nvidia 모듈이 있으면 다음과 같이 합니다.

      # uname -r
      # apt-get install nvidia-kernel-$(uname -r)
      # apt-get install nvidia-glx nvidia-settings nvidia-xconfig
      # nvidia-xconfig

    2. 소스패키지로 설치후 모듈을 직접 만들어 설치

      module-assistant 설치
      # apt-get install module-assistant

      # m-a update
      # m-a prepare

      설치된 gcc와 커널을 컴파일한 gcc 버전이 맞는지 확인
      # cat /proc/version
      # ls -l /usr/bin/gcc
      gcc 버전이 맞지 않으면 다음의 방법과 같이 바꾸어 줍니다.
      # ln -sf /usr/bin/gcc-4.1 /usr/bin/gcc

      # apt-get install nvidia-kernel-common nvidia-settings nvidia-xconfig

      # m-a autoinstall nvidia
      이제 nvidia-glx 설치
      # apt-get install nvidia-glx

      # nvidia-xconfig

    3. Nvidia회사의 드라이버를 직접 설치시

      설치전에 xorg가 xserver-xorg-video-vesa나 nv를 사용하여야 합니다.

      설치 전에 다음을 확인합니다.
      * development tools like make and gcc are installed
      * the linux-headers package matching the installed Linux kernel is installed
      * the pkg-config and xserver-xorg-dev packages are installed
      * the nvidia-glx package has been uninstalled with the --purge option and the file /etc/init.d/nvidia-glx does not exist.
      추가로 libc6-dev가 필요하므로 설치되어있는지 확인합니다.
      따라서,
      설치 전에 다음이 설치되어 있어야 합니다.
      커널에 맞는 linux-headers-$(uname -r) make gcc pkg-config xserver-xorg-dev libc6-dev
      다음과 같이 설치합니다.
      # apt-get install linux-headers-2.6.18-6-k7 make gcc pkg-config xserver-xorg-dev libc6-dev

      • (참고)
        module-assistant 설치후 m-a prepare하면 gcc와 커널에 맞는 linux-headers가 설치됩니다. 추가로 build-essential도 설치됩니다.
        # apt-get install module-assistant
        # m-a update
        # m-a prepare
        이제 나머지 필요한 패키지 설치
        # apt-get install pkg-config xserver-xorg-dev

      gcc확인
      $ cat /proc/version 및 ls /usr/bin/gcc -l 하여 커널을 컴파일한 gcc와 설정되어 있는 버전이 같은지 확인합니다.
      다르면 다음과 같이 맞게 고치거나
      # mv /usr/bin/gcc /usr/bin/gcc.backup.00
      # ln -s /usr/bin/gcc-4.1 /usr/bin/gcc
      또는, #export CC=gcc-XXX하여 XXX에 알맞은 gcc 버전을 기록합니다.

      X윈도우를 빠져나온 후 (또는 Ctrl + Alt + F1)
      # /etc/init.d/gdm stop
      # sh NVIDIA-Linux-x86-100.14.19-pkg1.run
      # /etc/init.d/gdm start

      참고)
      • nvidia 드라이버를 제거하려면 nvidia-installer --uninstall합니다.

      • xorg.conf를 만들려면 nvidia-config합니다.

      • 설치후 man nvidia-xconfig하면 자세한 설정방법을 알 수 있습니다.


  • 그래픽카드에 모니터를 2개 모두 연결하니 주 모니터인 LCD가 보이지 않아 다음과 같이 하였습니다.

    Section "ServerLayout"
    Screen 0 "Default Screen" 0 0
    Screen 1 "Screen-2nd" Rightof "Default Screen"
    EndSection


    Section "Monitor"
    Identifier "PCBANK.240W"
    Gamma 0.9
    DisplaySize 518.4 324.0
    # ModeLine "1920x1200" 154.0 1920 1968 2000 2104 1200 1203 1209 1222 +hsync -vsync
    ModeLine "1920x1200" 154.0 1920 1968 2000 2100 1200 1203 1209 1222 -hsync +vsync
    EndSection


    Section "Monitor"
    Identifier "42LB5DR"
    ModeLine "1024x768" 65.0 1024 1048 1184 1344 768 771 777 806 +hsync +vsync
    EndSection


    Section "Device"
    Identifier "7300GT.Ultra2.256MB"
    Driver "nvidia"
    Option "UseDisplayDevice" "DFP"
    Option "UseEdidDpi" "false"
    Option "DPI" "96 x 96"
    Screen 0
    EndSection


    Section "Device"
    Identifier "7300GT.Ultra2.256MB-2nd"
    Driver "nvidia"
    Option "UseDisplayDevice" "CRT"
    Screen 1
    EndSection


    Section "Screen"
    Identifier "Default Screen"
    Device "7300GT.Ultra2.256MB"
    Monitor "PCBANK.240W"
    DefaultDepth 24
    Option "NoLogo" "True"
    Option "ModeValidation" "NoDFPNativeResolutionCheck"
    # Option "TwinView" "True"
    # Option "MetaModes" "nvidia-auto-select, nvidia-auto-select"
    SubSection "Display"
    Depth 24
    Modes "1920x1200" "1920x1080" "1600x1200" "1280x1024" "1280x768" "1024x768" "800x600"
    EndSubSection
    EndSection


    Section "Screen"
    Identifier "Screen-2nd"
    Device "7300GT.Ultra2.256MB-2nd"
    Monitor "42LB5DR"
    DefaultDepth 24
    Option "NoLogo" "True"
    Option "ModeValidation" "NoMaxPClkCheck,NoEdidModes,NoVirtualSizeCheck"
    SubSection "Display"
    Depth 24
    Modes "1024x768"
    EndSubSection
    EndSection

  • Nvidia社의 드라이버를 설치하면 사용중인 커널에 맞게 모듈이 설치됩니다. 따라서 새로 설치된 커널로 부팅하여 X윈도우가 안되면 Nvidia社의 드라이버를 다시 설치하면 됩니다.

  • 또한 원래 Nvidia社의 드라이버를 설치하면 xorg의 버전에 맞게 설치됩니다. 따라서 사용중에 xorg가 업그레이드 되면서 /usr/lib/xorg/modules/extensions/libglx.so 파일이 변경될 수 있습니다. 원래 Nvidia社의 드라이버를 설치하면 libglx.so.xx(버전)이 설치되고 libglx.so는 단지 이를 가리키는 symbolic link파일입니다. xorg가 업그레이드되면서 이 symbolic link파일이 xorg의 libglx.so로 바뀌게 됩니다.

    Nvidia社의 드라이버를 다시 설치할 때 libglx.so가 symbolic link파일이 아니라는 에러가 보여도 그냥 설치하면 새 symbolic link파일로 설치 됩니다.

    사용중에 xserver-xorg-code의 업그레이드로 문제가 있으면
    문제가 있으면 다음과 같이 합니다.
    # /etc/init.d/gdm stop
    # cd /usr/lib/xorg/modules/extensions
    # rm libglx.so
    # ln -s libglx.so.1.0.9746 libglx.so
    # etc/init.d/gdm start

페도라
  • Nvidia 드라이버 설치는 Livna Repository에서설치하였습니다.

    # rpm -ivh http://rpm.livna.org/livna-release-8.rpm
    # rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-livna
    # yum install kmod-nvidia

    kmod-nvidia 설치시에 알맞은 새 커널이 설치되기도 합니다.
  • 모니터는 LCD로 DVI로 연결하여 사용중인데, 여분의 모니터를 추가로 그래픽카드의 RGB에 연결하면 RGB가 첫번 째 모니터로 인식되어 다음과 같이 바꾸어 DVI에 연결된 모니터가 첫번째 모니터가 되게 바꾸었습니다.


    Section "ServerLayout"
    Identifier "Default Layout"
    Screen 0 "Screen0" 0 0
    Screen 1 "Screen-2nd" Rightof "Screen0"
    InputDevice "Keyboard0" "CoreKeyboard"
    EndSection


    Section "Monitor"
    Identifier "PCBANK.24W"
    HorizSync 28.0 - 51.0
    VertRefresh 43.0 - 60.0
    Gamma 0.9
    DisplaySize 518.4 324.0
    ModeLine "1920x1200" 154.0 1920 1968 2000 2100 1200 1203 1209 1222 -hsync +vsync
    Option "DPMS"
    EndSection


    Section "Monitor"
    Identifier "42LB5DR"
    ModeLine "1024x768" 65.0 1024 1048 1184 1344 768 771 777 806 +hsync +vsync
    Option "DPMS"
    EndSection


    Section "Device"
    Identifier "Videocard0"
    Driver "nvidia"
    Screen 0
    BusID "PCI:5:0:0"
    Option "UseDisplayDevice" "DFP"
    Option "UseEdidDpi" "false"
    Option "DPI" "96 x 96"
    Option "AddARGBGLXVisuals" "True"
    EndSection


    Section "Device"
    Identifier "7300GT.Ultra2.256MB-2nd"
    Driver "nvidia"
    Option "UseDisplayDevice" "CRT"
    Screen 1
    BusID "PCI:5:0:0"
    EndSection


    Section "Screen"
    Identifier "Screen0"
    Device "Videocard0"
    Monitor "PCBANK.24W"
    DefaultDepth 24
    Option "NoLogo" "True"
    Option "ModeValidation" "NoDFPNativeResolutionCheck"
    SubSection "Display"
    Viewport 0 0
    Depth 24
    Modes "1920x1200" "1280x768" "1024x768" "800x600"
    EndSubSection
    EndSection


    Section "Screen"
    Identifier "Screen-2nd"
    Device "7300GT.Ultra2.256MB-2nd"
    Monitor "42LB5DR"
    DefaultDepth 24
    Option "NoLogo" "True"
    Option "ModeValidation" "NoMaxPClkCheck,NoEdidModes,NoVirtualSizeCheck"
    SubSection "Display"
    Depth 24
    Modes "1024x768"
    EndSubSection
    EndSection
  • TV로 출력이 되게 설정되어 tv out이 안되게 하였습니다.
    #Section "Extensions"
    # Option "Composite" "Enable"
    #EndSection

yum 플러그인

Yellow dog Updater, Modified (Yum)의 플러그인을 사용하려면 /etc/yum.conf에 다음과 같이 기록합니다.
plugins=1
이제 플러그인을 사용할 준비가 되었고, 사용하고자 하는 플러그인을 설치합니다.

3개의 중요한 플러그인이 있습니다.
FastestMirror 빠른 mirror를 찾아줍니다.
ProtectBase 외부 저장소가 기본저장소의 패키지를 덮어 쓰지 않게 합니다.
Priorities 패키지가 덮어쓰지 않게 1에서 99 단계까지 설정할 수 있습니다.
그러나 protectbase와 priorities 플러그인을 같이 사용하지 말아야 합니다. protectbase는 사용 또는 사용하지 않음의 선택이 있으나 priority는 1부터 99까지 설정할 수 있습니다.
  • FastestMirror
    # yum install yum-fastestmirror

  • Priorities
    # yum install yum-priorities

    priorities 플러그인으로 각각의 repository에 순서를 부여해서 낮은 priority보다 높은 priority의 패키지가 설치되게 됩니다. priority로 기본 패키지가 third-party repositories 패키지로 업그레이드 하지 않게 하여 안정된 시스템을 유지할 수 있습니다.

    플러그인을 설치후 /etc/yum/pluginconf.d/priorities.conf 파일을 다음과 같이 합니다.
    먼저 플러그인을 활성화하고, 패키지의 metadata에 obsoletes로 인해 낮은 priority의 패키지가 높은 priority의 패키지를 쓸모 없음으로 인식해서 업그레이드 하지 않게 합니다.
    [main]
    enabled=1
    check_obsoletes=1

    이제 repository 파일에 다음과 같이 priority를 지정합니다.
    priority=N
    여기서 N은 1부터 99가 될 수 있습니다. 1이 제일 높고, 99가 제일 낮은 priority입니다. 기본값은 99입니다. 따라서 /etc/yum.repos.d/fedora.repo와 /etc/yum.repos.d/fedora-updates.repo 파일에 priority=1로 하여 third-party repositories 패키지로 업그레이드 하지 않게 하여 안정된 시스템을 유지할 수 있습니다.

    yum-protectbase를 사용하려면
    # yum install yum-protectbase
    /etc/yum/pluginconf.d/protectbase.conf 에서 [main] enabled = 1로 맞게 되있는지 확인하고, /etc/yum.repos.d/의 repository에서 protect=1 나 protect=0를 설정합니다.

2008년 7월 19일 토요일

mount와 fstab

  • /etc/fstab
    하드 디스크의 파티션이나 기타 저장장치의 연결 정보를 담고 있습니다.
  • /etc/mtab
    현재 마운트되어 있는 파티션이나 기타 저장장치에 대한 파일입니다.

fstab

  • gid=46 means that members of plugdev group have read/write/execute permissions
  • vfat는 다음과 같이 기록합니다.
    /dev/hdb3 /media/hdb3 vfat codepage=949,utf8,uid=1000 0 0
    또는 uid=1000 대신에 umask=222를 사용합니다.
    (vfat 파티션의 마운트 옵션을 defaults만 사용하고,codepage와 utf8을 설정한해도 입출력이 맞게 되는 것 같습니다.)

    /dev/sdc3 /media/sdc3-vfat.temp vfat defaults,uid=1000 0 0
    /dev/sda6 /media/sda6-ext3.data ext3 defaults 1 2
    NTFS은 다음과 같이 합니다.
    /dev/hdb2 /media/hdb2 ntfs defaults,utf8,umask=222 0 0
  • NTFS을 마운트 하려면
    ask=222 /dev/hdb1 /media/hdb1

  • 모든 NTFS의 파일명과 Microsoft's Joliet extension을 사용하는 vfat의 긴 파일명은 모두 Unicode를 사용합니다.

  • 네번 째 필드 : options
    defaults는 rw, suid, dev, exec, auto, nouser, async 상태입니다.

    user는 mtab에 기록되어 있는 일반 사용자가 마운트할 수 있으며, users는 일반 사용자 모두 마운트 할 수 있습니다. 이때 추가 옵션이 없으면 noexec, nosuid, nodev 상태입니다.

    auto는 -a로 마운트 할 때(mount -a) 자동으로 마운트합니다. noauto로 하면 직접 mount 명령을 해야 마운트합니다.

    따라서 ext3에서 보통은 defaults, 특별한 파티션이 아니면 noauto,users,exec

  • 여섯번 째 필드 : fsck
    fsck로 검사여부를 정합니다.
    0 이면 검사하지 않으며, 1 이면 가장 먼저, 2 이면 1 다음에 검사하지만, fsch는 병렬로 처리하므로 루트 파티션은 1, 기타 파티션은 2로 지정하며, 휴대용 저장장치 같은 것은 0으로 지정합니다.


2008년 6월 22일 일요일

mythtv

Debian에서

먼저 리눅스 코솔에서
# 명령어는 root 계정이며
$ 명령어는 사용자 계정입니다.

mythtv 사용하려면

한 개의 컴퓨터에 backend와 frontend를 같이 설치하려면 mysql-server를 설치하고, mythtv를 설치합니다. 분리되어 있는 경우 backend 컴퓨터에는 mysql-server설치후 mythtv-backend를 설치하며, frontend 컴퓨터에선 mythtv-frontend만 설치합니다.
  • 먼저 mysql-server를 설치하였습니다.

    # apt-get install mysql-server
    설치중에 [New password for the MySQL "root" user]가 보이면서 mysql의 root user 비밀번호를 만들라고 합니다. 비밀번호는 설정하지 않게 하였습니다.
    (5번인가 줄기차게 비밀번호 설정을 요구하는데 그냥하지 안았습니다.)

    mysql의 root user 비밀번호를 설정하려면, mysql-server를 설치할 때 입력하거나, 따로 다음과 같이 입력할 수 있습니다.
    사용자 계정에서
    $ mysqladmin -u root password yourpasswordhere
    하지만 mysql의 root user 비밀번호를 설정하면 frontend와 backend가 같이 설치된 컴퓨터에서는 이상이 없으나 따로 설치된 경우에 접속이 잘 안되는 것 같습니다.
    따라서 특별한 보안이 필요하지 않으면 mysql의 root user 비밀번호는 설정할 필요는 없습니다.
  • mythtv 설치

    먼저 souces.list에 다음을 추가하였습니다.
    deb http://www.debian-multimedia.org/ lenny main

    # apt-get update
    # apt-get install debian-multimedia-keyring
    # apt-get update
    # apt-get upgrade
    upgrade할 것은 없네요.

    # apt-get install mythtv
    설치중에 [What is the password for the MySQL administrator account 'root' ]가 보입니다.
    mysql의 root user 비밀번호를 입력하는데, 따로 만들었으면 입력하고,
    안말들었으면 [앞으로]를 눌러 계속 진행합니다.

    참고)
    mythtv를 소스패키지로 설치하려면
    먼저 sources.list에 deb-src를 추가한후
    deb http://www.debian-multimedia.org/ lenny main
    deb-src http://www.debian-multimedia.org/ lenny main
    # apt-get build-dep mythtv
    # apt-get install mythtv mytharchive
    그러나 데비안의 nvidia-glx를 설치하였으면 mythtv 소스 패키지와 충돌합니다.
  • 설정하기

    $ cat /etc/passwd
    맨 밑에 mythtv 유저가 등록되어 있습니다. 비밀번호를 설정하였습니다.
    # passwd mythtv
  • 로그아웃하고 새로 mythtv 로그인하여 mythtv-setup하여 mythbackend를 설정하였습니다.

    $ mythtv-setup -geometry 1024x768

    • General탭에서
      언어는 English TV format은 NTSC,
      Channel frequency tabe us-cable로 하였습니다. (안테나를 사용하면 us-broadcast로)
      Delete files slowly에 체크하였습니다.

      backend만 설치된 경우
      IP address for mythtv 와 Master Server IP address를 127.0.0.1 에서 backend가 설치된 컴퓨터의 고정 IP로 바꾸어 줍니다.
      Security Pin은 따로 정해도 되나 0000을 입력하여 자동으로 접속되게 합니다.
      Block shutdown before client connected은 선택하고,
      Idle timeout은 사용자에 맞게 정합니다. (본인은 900초로 한참뒤 꺼지게 사용중입니다.)
      Server halt command에서 sudo /sbin/halt -p를 sudo shutdown -h now로 바꾸었고, /etc/sudoers 파일설정을 하였습니다.
      mythtv ALL=(ALL) NOPASSWD:/sbin/shutdown
    • Capture cards의 Card type에서 DVB DTV capture card (v3.x) 선택합니다.

      [Recording Options]에서
      [Open DVB card on demand]를 선택하면, mythtv를 사용하지 않을 때 다른 프로그램(예를 들어 mplayer)이 HDTV 카드를 사용할 수 있습니다.
      그러나 국내 HDTV 에서 방송편성표를 보려면 [Use DVB Card for active EIT scan]을 선택해야합니다.
      문제는 [Use DVB Card for active EIT scan]를 선택하면 mythtv가 HDTV 카드를 항상 사용중이므로, mythtv를 사용하지 않을 때 mplayer로 TV를 볼 수 없습니다.
      부득이
      mplayer에서 TV를 보려면 mythtv-backend를 정지 시켜야 합니다.
      # /etc/init.d/mythtv-backend stop



      아날로그를 선택할 수 없습니다. mythtv는 아날로그도 지원하지만 mythtv자체가 HDTV와 아날로그를 직접 선택하지 못해 아날로그를 보려면 다음과 같이 해야 한다고 합니다.
      # rmmod cx88_dvb
      # modprobe cx8800

    • Video sources 탭에서
      Video source name은 임으로 my-Dvico
      listings grabber는 Transmitted guide only (EIT)로
      Channel frequency table은 us-cable로 하였습니다.
    • Input connections에서
      Display Name은 my-Dvico-HDTV로 임으로 정하고
      Video source는 기존에 정한 my-Divico로 정하였습니다.
      Unencrypted channels only를 선택하지 않았으나 추가로 채널이 보이진 않습니다.
      Scan for channels을 눌러 us-cable 방송채널을 설정하고
      Starting channel은 9_1로 KBS 1로 하였습니다.
    • Storage Directories에서

      Default에 저장할 디렉토리를 지정하였습니다. 예를 들어 /var/lib/mythtv/recordings

      mythtv-setup를 끝낼 때 이 recordings디렉토리가 없거나, permission이 맞지 않아 에러가 보이게 됩니다.
      Alt+Tap키를 누른다음, 콘솔창을 열고 /var/lib/mythtv 디렉토리에서
      $ mkdir recordings
      $ chmod 2775 recordings
      (참고로, root 계정으로 만들었으면 소유권을 mythtv로 맞게 해야합니다.
      # chown mythtv.mythtv recordings)

      (참고로 우분투에선 저장할 디렉토리를 기록하면 mythtv-setup을 마치면서 저절로 만들어집니다. permission이 다음과 같습니다.
      drwxrwsr-x mythtv mythtv )

      추가로 다른 storage group을 만들면 녹화할 때 group을 지정하여 녹화목록을 나누어 녹화할 수 있습니다.
  • 채널 정보를 가져옵니다.

    # /etc/init.d/mythtv-backend start
    restart하라는 글이 보이네요
    (참고로 처음 설치하면 /etc/init.d/mythtv-backend stop은 mythtv계정만 됩니다.)
    # /etc/init.d/mythtv-backend restart

    $ mythfilldatabase
  • $ mythfrontend -geometry 1024x768

    Utilities / Setup -> Setup의 General에서
    Password에서 mythtv가 임의로 정해준 초기값을 다른 사용자에서 사용하게 따로 기록하여 기억하였습니다.

    Utilities / Setup -> Setup의 Apperance에서
    Theme는 blue로
    모니터 해상도가 1920 x 1200 이여서
    GUI width (px)은 1024, GUI height (px) 768, GUI X offset 896, GUI Y offset 24로 하고, [Use GUI size for TV playback]을 선택하면 TV를 볼 때 모니터 우측 위에 작은 화면으로 보이게 하였습니다.
    [Hide Mouse Cursor in Myth]도 체크된상태를 해제하였 마우스로 메뉴를 선택할 수 있게 합니다.
    [Run the frontend in a window]를 선택합니다.
    [Use GUI size for TV playback]를 선택하지 않고 [Run the frontend in a window]를 선택하면 mythtv 초기 화면은 작게 보이나 TV를 볼 때 전체화면으로 보게 됩니다.

    Utilities / Setup -> Setup의 TV Setittings -> General에서 LiveTV recordings Max Age는 기본갑 1에서 2일 동안 유지되게 하였습니다.

    신규 녹화를 하고나서 commflagging을 하지 않도록 [Default JobQueue settings for new scheduled recordings]에서 [Run commercial flagger]을 선택하지 안압습니다. (이렇게 하면 별도로 commercial free로 설정하지 않는 채널에서 녹화한 것은 commflagging이 되지 않습니다.)

    Utilities / Setup -> Setup의 TV Setittings -> Playback에서
    Current Video Playback Profile에서 Slim를 선택하였습니다.
    [Default group filter to apply]는 [All Programs]하고, [Show 'LiveTV' recordings when using "All Programs" filter]는 선택해서 [Watch Recordings]에서 키보드 m을 눌러 Default 그룹과 Live 그룹에서 저장한 내용을 확인할 수 있게 하였습니다.
  • 이제 mythtv 사용자가 아닌 기존의 사용자로 다시 X윈도우 로그인한 후 다음과 같이 하여 사용중입니다.

    $ mythfrontend
    여기서 Password를 위에서 기록한 것을 적고 다른 설정은 알맞게 바꾸었습니다.
    (password는 etc/mythtv/mysql.txt에 있으므로 모르면 참고합니다.)
    이제 빠져나온후에
    $ mythfilldatabase

    아래와 같이 mythtv user로 실행하여 실행하였으나 사운드가 software mixing이 안되었습니다.
    $ gksu -u mythtv mythfrontend


    OSD의 한글이 제대로 보이지 않습니다. /usr/share/mythtv에 글꼴을 추가하고,
    # ln -s /usr/share/fonts/truetype/unfonts/UnBatang.ttf /usr/share/mythtv/UnBatang.ttf
    이어서 Utilities / Setup -> Setup의 TV Setittings -> Playback OSD에서 OSD font를 맞게 설정합니다.
  • 녹화물을 따로 저장하려면 mythtranscode, nuvexport, transcoder를 사용합니다.

    먼저 녹화물을 보는 중에 [키보드 m] 이어서 [Edit Recording]를 누르거나, 그냥 [키보드 e]를 누릅니다. 키보드의 좌우, 상하 화살표, 엔터/스페이키로 녹화물의 필요없는 부분을 제거 합니다. (단지 cut point로 제거 표시만 하는 것입니다.)

    mythtranscode로 PS형태의 mpeg2파일을 만들 수 있습니다.

    nuvexport로 XviD, SVCD, VCD, DVD, DivX, ASF, MP4 (iPod)를 만들 수 있습니다.

    transoder는 메뉴로 할 수 있는 인코더 입니다.
    무엇보다 필요없는 부분을 제거한 TS형태의 mpeg2파일을 얻을 수 있습니다.

  • 참고

    • mytharchive를 통한 mpeg2 DVD 파일 만들기는 잘 되었습니다.
    • seektabe복구

      먼저 optimize_mythdb.pl을 실행합니다.
      # chmod 755 /usr/share/doc/mythtv-backend/contrib/optimize_mythdb.pl
      # /usr/share/doc/mythtv-backend/contrib/optimize_mythdb.pl

      mythcommflag를 실행합니다.
      $ mythcommflag --file --rebuild
      여기서 는 저장된 파일의 경로와 파일명입니다.


      계속 문제가 보이면 mythtranscode를 사용합니다.
      mythtranscode --mpeg2 --buildindex --showprogress --infile

    • mpeg2파일을 자를 때는 gopchop 또는 dvbcut을 이용합니다.
      avidemux는 ts파일을 인식하나 synch 문제가 발생합니다.
    • myth.rebuilddatabase.pl

      데비안에서는 myth.rebuilddatabase.pl.gz이 /usr/share/doc/mythtv-backend/contrib와 /usr/share/doc/mythtv-doc/examples에 있습니다.
      먼저 gzip -d하여 압축을 풀고
      $ chmod a+x ~/myth.rebuilddatabase.pl
      파일안에 내용을 알맞게 바꾸어 줍니다.
      my $host = "localhost";
      my $pass = "비밀번호";

      에러가 보이면 추가로 다음의 패키지를 설치합니다.
      # apt-get install libtime-format-perl
우분투에서
  • 우분투에서는 mythtv만 설치하면 mysql-server가 같이 설치됩니다.

    $ sudo apt-get install mythtv

    mysql-server가 설치되면서 mysql의 root 비밀번호 설정할 때, 따로 비밀번호를 설정하지 않고 그냥 설치합니다. mythtv에서 기본 비밀번호을 설정하고 mysql-server와 알맞게 연결시켜 줍니다.

    설치후 mythtv 계정이 아닌 사용자 계정에서 메뉴에 있는 mythtv backend (mythtv-setup)을 설정합니다.
  • 더 간단히 설치하려면 mythbuntu-control-centre를 설치한후에
    [시스템] [관리]에서 Mythbuntu Control Centre를 실행합니다.
  • 데비안과는 달리, 윈도우를 사용하듯 메뉴를 통해 쉽게 설치됩니다. 그러나 쉬운 많큼 나중에 고정 IP를 바꾸거나, backend를 따로 설정하려고 하면 복잡해지던군요.

녹화에 대해서

  • 녹화해보기
    Mangage Recordings > Schedule Recordings > Program Guide를 누르면 TV 편성표를 볼 수 있습니다. 녹화를 하고자하는 방송에서 스페이스키 또는 엔터키를 눌러 녹화 설정합니다.

    [Do not record this program]에서 좌우 화살표키로 [ Record one showing of this title]을 선택합니다.

    [Scheduling Options]에서
    TV 편성표의 녹화 시간을 앞뒤에서 연장하거나 줄이거나 할 수 있습니다.
    나중에 Manage Recordings > Upcoming Recordings에서 바꿀 수도 있습니다.
    국내 방송이 Mythtv에서 쓰는 description을 같이 보여줍니다. [Match duplicates using description] 선택해서 중복 녹화가 안되게 설정합니다.

    [Storage Options]에서
    [Allow auto expire]로 녹화물이 나중에 자동으로 지워지게 하거나, 또는 [Don't allow auto expire]로 녹화물을 계속 보관할지를 정합니다.
    [No episode limit]는 가급적 그대로 합니다. 몇 개의 episode로 설정하면 기존에 녹화물이 있는 경우에 합산이 됩니다. 예를 들어 어제 EBS의 지식프라임을 녹화하고, 오늘 새로 지식프라임을 녹화할 때 [Keep only one episode]이면 녹화가 안됩니다.
    [No episode limit]를 변경한다면, [Don't record if this would exceed the max episodes]를 [Delete oldest if this would exceed the max episodes]로 바꾸어 주고, [Allow auto expire]를 설정하여 기존 녹화물이 정한 숫자 이상이 되면 지워지도록 해줍니다.

    [Post Recording Processing]에서
    [Commercial Flag new recordings]를 선택하면 녹화물안에 있는 광고등을 보지 않고 건너뛰게 해준다고 합니다. 그러나 실제로 사용하면 잘 안되고, 오히려 녹화를 마치고 하드디스크만 움직임이 더 많아집니다. 따라서 Do not Comercial Flag new recordings을 설정합니다.
    신규 녹화를 하고나서 commflagging을 하지 않도록 설정하려면 Utilities/Setup > Setup > TV settings > General에서 설정할 수 있습니다. [Default JobQueue settings for new scheduled recordings]에서 [Run commercial flagger]을 선택하지 않으면 됩니다.
    이렇게 하면 별도로 commercial free로 설정하지 않는 채널에서 녹화한 것은 commflagging이 되지 않습니다.

    대부분의 녹화는 [Channel Record]를 합니다.
    개인적으로 [Scheduling Options]에서 [Match Duplicates using description]을 선택하고,
    [Storage Options]에서 [Allow auto expire], [Keep at most 3 episodes], [Delete oldest if this would exceed the max episosdes]를 선택하며,

    [Post Recording Processing]에서 [Do not Commercial Flag new recordings]을 선택한 후에 [Save these settings]를 눌러 레코딩하고 있습니다.
  • 녹화 방법에 대해서
    • 대부분의 방송이 그러하듯이 매일 한번 방송되거나 일주일에 한번씩 방송됩니다. 녹화를 하려면 Channel Record (Record at any time on this channel)를 선택합니다.

      그러나 방송이 그날 하루 중 언젠가 재방송된다면 Find Daily (Record one showing of this title every day), 일주일 중에 언제가 재방송된다면 Find Weekly (Record in this timeslot every week)가 알맞습니다. 미리 중복 녹화를 피할 수 있습니다.

      특집 방송같이 어쩌다 한번 방송되는 경우에는 Find One이 적당합니다.

      녹화를 못해도 그만인 방송인 경우에, 예를 들어 녹화되면 보고 안되면 컴퓨터가 쉬거나, 하드 디스그 용량이라도 절약하는 거라면, 1회성 방송은 Record only this showing, 매주 방송은 Record in this timeslot every week, 매일 방송은 Record one showing of this title every day으로 합니다. 이러한 녹화는 방송시간표가 변경된 경우에 녹화가 되지 않습니다.
    • Single Record, Find One, Find Weekly, Find Daily는 한 번만 녹화하는 것이고, Record Weekly, Record Daily, Channel Record, Record All은 방송 정보 (Description)을 보고 반복 녹화합니다.
    • Record only this showing
      Single Record로 심벌 S
      특정 방송사의 특정방송을 설정한 시간대에 녹화합니다. 예를 들어 EBS의 다큐-10을 저녁 9시 40분 부터 10시 40분까지 녹화를 합니다. 그러나 다큐-10의 방송시간이 바뀌어 설정한 시간대에 보이지 않으면 녹화를 하지 않고 Not Listed 라는 메시지만 보여 줍니다.

      방송시간이 수시로 바뀌어 녹화가 안되는 경우가 종종 있습니다.
    • Record one showing of this title
      Find One으로 심벌 F
      (특정 방송사의)특정 방송을 시간에 관계없이 방송편성표에 보이면 한번 녹화합니다.
      또한 추가로 방송이 재방송된다면. 녹화 예약이 많아 서로 겹쳐질 때 겹쳐지지 않는 방송 시간대에 녹화할 수 있습니다. 그러나 녹화가능한 첫번째 한번만 녹화되므로, 재방송이 다른 내용의 방송을 여러번 방송한다면 적합하지 않습니다.

      이는 매일 또는 매주 방송이 아닌 어쩌다 보이는 특집방송을 녹화하기에 적당합니다. 비록 재방송이 없어도.
    • Record in this timeslot every week
      Record Weekly로 심벌은 W
      특정 방송사의 특정 방송을 정한 시간대(요일, 시간)에 보이면 매주 녹화합니다. 그러나 방송시간표가 바뀐다면 녹화가 되지 않고 Not Listed가 표시됩니다.
    • Record one showing of this title every week
      Find Weekly로 심벌은 F
      특정 방송(예를들어 아시아 투데이)방송이 주중에 다시 재방송 될때에 알맞습니다. 특정 방송사(KBS1S)의 특정 방송(아시아 투데이)을 첫번째 방송시간대에(목요일 오후 10부터 10시 45분까지) 예약녹화를 하면, 이 특정 방송(아시아 투데이)이 재방송(토요일 2시 25분부터 3시 10분까지)되어도 일주일에 한번만 녹화합니다. 이는 녹화예약이 많아 서로 겹쳐진 경우에, 예약녹화 시간대(목요일 오후 10부터 10시 45분까지)를 녹화하지 못하면 재방송을 녹화하게 됩니다.
      특히 방송편성표에 방송(아시아 투데이)의 주제(Description)가 보이지 않을때 적합합니다. 예를들어 매주 재방송되는 방송(아시아 투데이)의 앞주 방송의 주제가 <태국>이며, 이번주 주제가 <인도네시아> 이지만, mythtv 편성표에 주제가 보이지 않고 단지 아시아 투데이만만 보인다면 mythtv는 첫번째 방송을 녹화하여도 재방송을 구분하지 못해고 모두 녹화해버릴 우려가 있습니다. 이럴 경우 일주일에 한번씩만 꼭 녹화하기에 알맞습니다.

      재방송되는 방송을 매주에 한번만 녹화하기에 적당합니다. 특히 방송표에서 주제를 알 수 없어도 중복녹화를 피할 수 있습니다.
    • Record in this timeslot every day
      Record Daily로 심벌 T
      매일 특정 방송사(EBS)의 특정 방송(다큐-10)을 정한 시간대(저녁 9시40분 부터 10시 40분까지 사용자가 정했다면)에 보이면 매일 녹화합니다. 그러나 방송시간표가 바뀐다면 녹화가 되지 않고 Not Listed가 표시됩니다.
    • Record one showing of this title every day
      Find Daily로 심벌 F
      특정 방송(예를들면 딩동댕 유치원)방송이 매일 재방송 될때에 알맞습니다. 이러한 특정 방송사(EBS)의 특정 방송(딩동댕 유치원)을 첫번째 방송시간대에(오전 8시 20분부터 9시까지) 예약녹화를 하면, 이 특정 방송(딩동댕 유치원)이 재방송되어도 하루에 한번만 녹화합니다. 이는 녹화예약이 많아 서로 겹쳐진 경우에, 예약녹화 시간대(오전 8시 20분부터 9시까지)를 녹화하지 못하면 재방송을 녹화하게 됩니다.
      더구나 방송편성표에 방송(딩동댕 유치원)의 주제(Description)가 보이지 않는다면, 예를들어 매일 재방송되는 방송(딩동댕 유치원)의 어제 주제가 <재미있게 놀기>, 오늘의 주제가 <맛있게 먹어보기>로 이지만, mythtv 편성표에 그날의 주제가 보이지 않고 단지 딩동댕 유치원만 보인다면 mythtv는 재방송을 구분하지 못해고 모두 녹화해버릴 우려가 있습니다. 이때 하루에 한번씩만 꼭 녹화하기에 알맞습니다.

      재방송되지만 매일 한번만 녹화하기에 적당합니다. 방송표에서 주제를 알 수 없어도 중복 녹화없이.
    • Record at any time on this channel
      Channel Record 심벌 C
      특정 방송사(EBS)의 특정 방송(다큐-10)이 보이기만 하면 모두 녹화합니다.

      대부분의 방송은 하루에 한번만 방송되므로 대부분의 방송에 알맞습니다.
    • Record at any time on any channel
      Record All 심벌 A
      특정 방송을 아무 시간대에, 어떤 방송에서도 보이면 녹화합니다. 특정 방송을 특정 방송사(KBS1)에서 방송한후 다른 방송사(KBS2)에서도 방송한다면 앞의 방송(KBS1)을 녹화하지 못할 경우에 알맞습니다.
절전 대해서
  • 외국 사용자들은 컴퓨터를 녹화할 때 저절로 켜지고, 녹화가 끝나면 절전되거나 아예 꺼지게 하는 모양인데,
    국내는 저절로 켜지게 해서 녹화를 시도하면, mythtv가 EIT 방송정보를 수신하는데 시간이 걸리는 문제가 있습니다. 부팅 후 바로 방송정보가 수신되면 좋겠지만 그렇지를 못해서 녹화가 잘 안됩니다.
    일단 녹화를 해서 절전을 위해 꺼지게 해 놓으면 다시 방송정보를 수신한다고 제대로 녹화가 안됩니다.
    그래서 절전을 S3 (suspend to ram)으로 했는데 아직 리눅스에선 S3가 완벽하지를 않아 별도의 수작업이 필요합니다.
    그러나 본인의 컴퓨터에선 S3사용중에 스크립트 어디에선가 하드 디스크를 파킹 (spin down)을 시켜 껄크러운 드르륵 드르륵 소리에 질려 제대로 사용하지 못했습니다.

    그냥 컴퓨터를 손으로 직접 키고나서, 녹화하거나 녹화물을 보는 용도로 사용중입니다. 늦게 자면서 녹화가 필요하면 녹화를 걸어놓고, 다음과 같이 사용중입니다.
    # shutdown -h 03:00
    (새벽 3시에 자동으로 컴퓨터 꺼지게.... 물론 shutdown 한다고 반복되는 삑삑 소리로 미리 pcspkr모듈을 제거해야 합니다.)
마지막 수정 2009년 4월 29일...

2008년 5월 21일 수요일

swap 파티션 설정

먼저 이미 정해진 swap 파티션을 알아본 후 제거합니다.
# swapon -s
/dev/hdc4
# swapoff /dev/hdc4

이제 swp 파티션을 만듭니다.
# mkswap /dev/hda5
# sync; sync; sync
# swapon /dev/hda5

2008년 1월 13일 일요일

호스트 네임 hostname 설정

먼저 아래의 명령으로 기존 hostname이 맞게 되있는지 확인합니다.

#uname -n
#hostname -a
#hostname -s
#hostname -d
#hostname -f
#hostname

현 시스템의 hostname 바꾸기

# hostname New_Name

이는 사용하고 있는 시스템의 hostname을 New_Name으로 바꾸어 줍니다. 부팅하기 전까진 유지됩니다.
# hostname
새로 바뀐 New_Name이 보입니다.

영구적으로 hostname을 바꾸기

컴퓨터가 부팅하면 /etc/hostname을 읽은 후에 /etc/init.d/hostname.sh을 실행하여 hostname을 정합니다.

따라서 /etc/hostname을 원하는 이름으로 바꾸어 저장한 후에 /etc/init.d/hostname.sh을 실행하면 지금 컴퓨터의 hostname이 바뀌고 다음 부팅시에도 유지됩니다.

2008년 1월 1일 화요일

MEPIS SimplyMEPIS 7.0

설치

KDE로 부팅합니다. time을 확인하니 Local Timezone으로 알맞게되어 있습니다. 바탕화면에 있는 설치 아이콘을 눌러 설치합니다.

현재 컴퓨터에 하드 디스크가 IDE 3개, Serial 1개가 있으며, IDE 하드 디스크로 부팅하여 사용중입니다. 리눅스에서 (etch설치 사용중) IDE가 각각 hda, hdb, hdc로, Serial이 sdd로 인식합니다.
MEPIS 설치 메뉴중 Gparted로 파티션을 보니 BIOS의 설정 (IDE 하드 디스크로 부팅)과 무관하게 Serial 하드 디스크가 sda로, IDE 하드 디스크가 각각 sdb, sdc, sdd로 인식합니다. 원하는 하드디스크 (기존 hdc로 sdd로 인식)의 한 파티션에 root를 설정하니, 설치 메뉴 구조상 swap 파티션이 같은 하드 디스크에만 설정되게 되어 있습니다. 같은 하드 디스크 (기존 hdc로 sdd로 인식)에 마땅한 파티션이 없으면 swap 파티션 대신 swap 파일이 생기고, 물론 원하면 설치후 바꾸어도 되지만 불편하더군요.

설치중 키보드는 us로 Locale은 ko_KR.utf8하였고, Configure Clock의 [System clock users GMT]에서 기본값 체크 안함으로 하여 컴퓨터 시계가 GMT시간으로 변경되지 않도록 하였습니다.

설치 후 부팅하니 serial 하드 디스크가 아닌 IDE 하드 디스크로 부팅하니 Grub 메뉴에
root 설정이 잘못되어 있습니다. 키보드 [e]를 눌러 알맞게 바꾸고 [b]눌러 부팅하였습니다. 추후 재설치엔 설치 마지막에 부팅할까요에서 부팅안하고 /boot/grub/menu.lst를 맞게 고친 후 부팅하는 것이 낳을 듯 합니다.

설치후



한글과 키보드

부팅하여 시간을 보니 Local Timezone: Asia/Seoul으로 맞게 되어 있습니다.

Kconsole에서 # apt-get upgrade 하니 한글이 제대로 보이지 않아 한글 폰트를 설치하였습니다.
# apt-get install ttf-baekmuk ttf-unfonts
다시 # apt-get upgrade 하니 한글이 제대로 표시됩니다. upgrade하였습니다. upgrade하면서 마지막에 locale 설정을 다시 하는데 시스템에 여러 로케일이 설정되어 있었습니다.

firefox를 띄우니 한글은 보이는데 입력이 되지 않아 nabi를 설치하였습니다.
# apt-get install im-switch nabi
$ im-switch -l
nabi가 보여 설정하였습니다.
$ im-switch -s nabi
home directory에 /etc/X11/xinit/xinput.d/nabi의 심볼릭 링크인 .xinput/ko_KR이 생깁니다.
내용은 다음과 같습니다.
XIM=nabi
XIM_PROGRAM=/usr/bin/nabi
XIM_ARGS=
GTK_IM_MODULE=xim

X 윈도우를 빠져 나와 다시 로그인하니 nabi가 실행되지 않아 명령창에서 nabi입력하여 locale설정에 문제가 보입니다. $ locale하니 로케일이 바뀌어져 있어 다시 ko_KR.UTF-8로 설정하였습니다.
# dpkg-reconfigure locales
한글 환경을 위해 kde-i18n-ko를 설치합니다.
# apt-get install kde-i18n-ko
[Settings] [Regional & Accessibility] [Keyboard Layout]에서 U.S.English대신에 Korea, Republic of kr으로 설정하고,
[Country/Region & Language]에서 [Country or region]을 [South Korea]로 설정하였습니다.
[Add Language]에서 한국어로 선택합니다.
다시 X윈도우를 빠져 나와 다시 로그인하니 nabi가 제대로 실행되고 메뉴가 한글로 보입니다.
  • 참고로 nabi 대신에 scim을 설정하면 firefox에선 한글입력이 되나 Kconsole이나 Text Editor등에서 한글입력이 안되었습니다.
    참고로 설치는
    # apt-get install im-switch scim scim-hanhul scim-tables-ko
    $ im-switch -l
    default none scim scim-immodule th-xim
    화면에 scim이 보이네요

    $ cat /etc/X11/xinit/xinput.d/scim
    $ cat /etc/X11/xinit/xinput.d/scim-immodule

    scim-immodule이 다음과 같이 설정되어 있습니다.
    scim : xim
    scim-immodule scim
    따라서 scim-immodule로 설정하였습니다.
    $ im-switch -s scim-immodule

    log-out하고 다시 로그인

  • 다음과 같이 skim을 추가하여도 한글입력은 마찬가지였습니다.
    #killall scim-launcher
    #killall scim-panel-gtk
    $ skim
    skim설정을 Frontend 부분에 scim-panel-kde로, Config Module을 Kconfig 로 바꿉어 줍니다.
    부팅시 자동으로 실행되게 [auto]에 체크

사운드

제대로 인식합니다.

그래픽카드 Nvidia

Synaptic Package Manager로 nvidia를 검색하니 nvidia-kernel-common과 커널에 맞는 nvidia-kernel-2.6.22-1-mepis-smp가 기존에 설치되어 있고, nvidia-glx는 설치되어 있지 않지만 패키지가 저장소에 있습니다.

다음과 같이 간단하게 설치하였습니다.
[System] [MEPIS] [MEPIS X-Windows Assistant]의 [NVIDIA] 탭에서 nvidia (new)를 체크 후 [Apply] 버튼을 누르니 nvidia-glx는 설치되고 다시 부팅하라고 합니다.
다시 부팅하니 제대로 설치되었습니다.
  • 사용하는 시스템의 문제로 xorg.conf에 다음을 추가하였습니다.
    Section "Monitor"에서
    ModeLine "1920x1200" 154.0 1920 1968 2000 2100 1200 1203 1209 1222 -hsync +vsync
    Gamma 0.8
    Section "Device"에서
    Option "ModeValidation" "NoDFPNativeResolutionCheck"
Mythtv
  • mysql-server를 설치하였습니다.
    # apt-get install mysql-server
    mysql-server의 root 비밀번호를 다음과 같이 설정하였습니다.
    $ mysqladmin -u root password 비밀번호
  • mythtv
    [Synaptic Package Manger]의 저장소에 간단히 체크하여 multimedia 저장소 추가하였습니다.
    deb http://www.debian-multimedia.org/ stable main

    [새로 고침]를 눌러 저장소를 update하고 debian-multimedia-keyring를 설치한 후 다시 [새로 고침]를 눌러 update하였습니다.

    mythtv의 source package 패키지를 설치하면 (# apt-get build-dep mythtv), nvidia-glx를 지우게 됩니다. 따라서 3D 기능을 사용하려면 Nvidia proprietary driver를 설치해야 합니다.
    또한 소스 패키지를 설치 후 mythtv를 설치하면 MEPIS와 충돌이 일어나는 것 같습니다 (MEPIS 설치시 설정된 xorg.conf 설정 문제인 듯).
    그래서 소스 패키지를 설치하지 않고 mythtv 패키지를 설치하였으며, 추가로 mytharchive 패키지를 설치하였습니다.
    # apt-get install mythtv mytharchive
    설치 중에 이미 설정한 mysql-server의 root 비밀번호를 입력하였습니다.

    이제 mythtv 유저의 비밀번호 설정과 그룹 설정:
    초기 설정되어 있는 mythtv의 group 설정에 문제가 있어 기존 사용자의 group 설정과 똑같이 한 후에 추가로 mysql group을 추가하였습니다.
    [System] [More applications] [User Manager (KUser)]에서 mythtv 유저를 더블 클릭하여 먼저 [Set Password]를 mythtv 유저의 비밀번호를 정하고,
    [groups]에서 아래와 같이 체크하였습니다.
    audio cdrom dialout dip floppy fuse games lp lpadmin mysql mythtv netdev plugdev powerdev scanner sudo tape users uucp video voice
    (초기 mythtv 그룹설정은 audio cdrom dialout mythtv video이며,
    여기에 dip floppy fuse games lp lpadmin mysql netdev plugdev powerdev scanner sudo tape users uucp voice를 추가하였습니다.)

    참고로 MEPIS설치시 설정한 초기 유저의 그룹설정은 audio cdrom dialout dip floppy fuse games lp lpadmin netdev plugdev powerdev scanner sudo tape users uucp video voice이며,
    초기 유저의 그룹설정에 mysql mythtv를 추가하였습니다.

    이제 X 윈도우를 빠져나온 후 mythtv 유저를 로그인하여
    $ mythtv-setup
    # /etc/init.d/mythtv-backend restart
    $ mythfilldatabase
    $ mythfrontend

    이제 MEPIS설치시 설정한 초기 유저로 다시 로그인하여 mythfrontend 실행하니 잘 되네요.

기타 패키지
  • MEPIS를 설치하면 java, skype, mplayer은 이미 설치되어 있습니다.

  • ffmpeg
    동영상을 PSP로 인코딩하니 기존에 설치된 mepis저장소의 ffmpeg (버전 0.cvs20070307-6mepis1)으로 되지 않아 debian-multimedia 저장소의 ffmpeg (버전 3:20070329-0.0)을 설치하였습니다. [Synaptic package Manger]에서 [꾸러미] [버전 강제]로 설치하니 ffmpeg가 업그레이드 되고, 추가로 libavformatcvs51, libswscalecvs가 설치됩니다.
    PSP 인코딩 (-f psp)이 잘 됩니다.

  • 기타 여러 패키지
    # apt-get install iceape-browser mldonkey-server tvtime audacity mencoder w32codecs libdvdcss2 evolution

후기

사용자

처음 설치시 설정한 유저가 uid가 1000이며, gid는 100으로 users 그룹에 속해있습니다. 컴퓨터에 debian etch를 설치하면 uid 1000, gid 1000이였는데...
debian과 같이 사용중이여서 혼란스러울까봐 새 그룹을 유저이름과 같이해서 추가하고 기본 그룹으로 하였습니다.
=> [KUser]를 실행하여 새 그룹을 유저이름과 같이해서 추가하고 [Set as Primary]를 눌러 기본 그룹으로 하였습니다.