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]를 눌러 기본 그룹으로 하였습니다.

2007년 12월 25일 화요일

Skolelinux 스쿨 리눅스

우연한게 스쿨리눅스를 알게되어 설치해보았습니다.
데비안의 netinstall CD나 우분투의 minimal CD같이 작은 용량의 설치 시디는 없고, 시디 한장을 통채로 받아 설치를 합니다.

Skolelinux 3.0r1 (Terra)은 데비안 etch를 바탕으로 만들어져 있으며 설치는 데비안과 큰 차이가 없습니다.
단지 설치 중 MainServer, Workstation, Thin-Client Server, Standalone에서 선택해서 설치를 합니다.
MainServer, Workstation, Thin-Client Server는 중복선택이 가능한데 스쿨리눅스 자체가 한개의 서버와 여러개의 클라이언트가 쉽게 연결되도록 만들어진 것이여서 실제로 네트워크를 구성하려는 것이 아니면 Standalone을 선택해서 설치하면 되더군요.

Standalone을 선택해 설치하면 KDE에 여러 교육용에 걸맞는 소프트웨어가 설치되지만, 단지 KDE 데비안에 아래의 소스리스트가 추가되어 있는 상태입니다.
deb http://ftp.skolelinux.org/skolelinux/ etch local
deb-src http://ftp.skolelinux.org/skolelinux/ etch local

MainServer 와 Workstation을 같이 선택해서 설치하니 IP 설정등이 정해져 있어 여러대의 클라이언트와 연결이 쉽게 되어있고, 사용자 추가등이 서버에서 이루어지는 방식이여서 실제로 네트워크를 구성해볼 요량이 아니고 일반 사용자에게 맞지 않더군요.

참고로 skole는 영어의 school에 해당하는 노르웨이 말로 라틴어 schola에서 생긴말이라고 합니다.


skolelinux 설치기

처음에 설치한 후 (언어는 한국어, 국가는 대한민국, 로케일은 ko_KR.UTF-8, 키보드는 미국), Iceweasel Web Browser로 인터넷에 들어가니 한글과 영어 글꼴이 제멋대로 입니다.

[KDE Control Center] [Appearance & Themes] [Fonts]에서 [Force fonts DPI]를 96 DPI에 체크하니 영어 글꼴은 제대로 보이나 한글 글꼴은 들쑥날쑥하며, 입력시(처음 한글키는 Ctrl+Space)에 더 합니다.
  • # apt-cache policy ttf-baekmuk ttf-unfonts
    한글 글꼴이 설치되어 있지 않아 설치하였습니다.
    # apt-get install ttf-baekmuk ttf-unfonts
    한글 폰트 ttf-baekmuk, ttf-unfonts를 설치하니 이제야 제대로 보입니다.
  • [KDE Control Center] [Appearance & Themes] [Fonts]에서 [Use anti-aliasing for fonts] 체크하니 보다 더 자연스럽게 보입니다.
  • K메뉴가 영어여서 한글로 보이게 kde-i18n-ko를 설치하였습니다.
    # apt-get install kde-i18n-ko
    다시 로그아웃하고 로그인하니 한글메뉴가 보입니다.
  • 기본 한글키가 Ctrl+Space여서 아래와 같이 바꾸었습니다.
    [Settings] [Regional & Accessibility] [Keyboard Layout]에서 U.S.English대신에 Korea, Republic of kr으로 설정하고, U.S.English는 지웠습니다.

    패널에 있는 키보드 아이콘에서 SCIM에서 한글키를 활성화하였습니다.

    Gnome에서는 아래와 같이 xorg.conf만 변경하면 됐는데 KDE에선 xorg.conf에서 바꾸어도 X 윈도우에서 무시됩니다.
    # nano -w /etc/X11/xorg.conf
    다음과 같이 kr106과 kr을 변경합니다.
    Section "InputDevice"
    Identifier "Generic Keyboard"
    Driver "kbd"
    Option "CoreKeyboard"
    Option "XkbRules" "xorg"
    Option "XkbModel" "pc104"
    Option "XkbLayout" "us"
    EndSection
    여기서 Option "XkbModel" "kr106"와 Option "XkbLayout" "kr"로
기타 다른 설치와 설정은 Debian Etch와 같습니다.

시간설정
  • 스쿨리눅스를 설치한 후 콘솔에서 date 명령을 하니 시간이 UTC로 보입니다. 물론 /etc/timezone이 Asia/Korea로 맞게 되어 있는데도 UTC로 보입니다.

  • 시간설정을 맞게 하기 위해
    # tzconfig
    다음과 같이 화면에 나오는 메시지에 맞게 설정하였습니다.
    Do you want to change that? [n]: 에서 y
    Please enter the number of the geographic area in which you live:
    5) Asia 이므로 Number: 5
    Please enter the name of one of these cities or zones
    도시 선택에 Seoul이 보입니다.
    Name: [] Seoul 하였습니다.

    참고)
    tzconfig는 단지 파일 복사만합니다. 선택한 timzone에 해당하는 (/usr/share/zoneinfo/Seoul)을 /etc/localtime으로 복사하고 timezone의 이름(Seoul/Asia)을 /etc/timezone에 기록합니다.
    따라서 스쿨리눅스를 설치하면 /etc/timezone은 맞게 설치되어도 /etc/localtime이 UTC로 설정되어, /usr/share/zoneinfo/Seoul을 /etc/localtime로 복사만 하면 될 듯.
  • 이제 콘솔에서 date명령을 하면 KST로 시간대는 맞으나 시간이 틀리게 나옵니다.
    /etc/default/rcS에 UTC=yes로 컴퓨터의 시간을 UTC로 인식하여 다시 KST로 환산후 보여주네요.

    # nano -w /etc/defaut/rcS
    /etc/default/rcS에서 UTC=yes을 UTC=no로 바꾸어 컴퓨터가 부팅하거나 종료될 때 컴퓨터의 시간을 지역시간(서울)로 인식하게 하였습니다.

    추가로 ntp (또는 간단히 ntpdate)를 설치하여 인터넷으로 ntp 서버에 접속하여 시간을 맞게 하였습니다.

    참고)
    ntp는 자주 인터넷으로 시간을 맞추므로 인터넷 연결이 안되어 있는 노특북은 ntpdate로...
문제는 네트워크인데
  • 특정 고정 IP로 사용하려고 해도 나중에 192.168.0.50으로 계속 설정되는 군요...
Stellarium

한글폰트문제는 먼저 ~/.config.ini에서 [base_font_name]을 DejaVuSans.ttf에서 UnBatang.ttf (또는 좋아하는 폰트)로 바꾸고, /usr/share/fonts/truetype/unfonts/UnBatang.ttf을 /usr/share/stellarium/data/
에 저장합니다. 또한 /usr/share/stellarium/data/fontmap.dat에서 Default font를 DejaVuSans.ttf에서 UnBatang.ttf (또는 좋아하는 폰트)로 바꾸면 됩니다.


2007년 12월 22일 토요일

데비안 sources.list 설정

backports

sources.list 설정


# nano -w /etc/apt/sources.list
다음 저장소를 추가합니다.
deb http://www.backports.org/debian etch-backports main contrib non-free

# apt-get update
# apt-get install debian-backports-keyring
# apt-get update

패키지 설치

모든 backports 패키지는 기본값이 비활성화 (설치안함)입니다.
설치하려면
  1. apt-get -t etch-backports install 패키지이름

  2. 특정 패키지 예를들어 mutt 패키지를 설치하려면, /etc/apt/preferences에 다음과 같이 Pin-Priority를 999로 설정합니다.

    Package: mutt
    Pin: release a=etch-backports
    Pin-Priority: 999

    설치는
    # apt-get install mutt as usual.

데비안 가상 PC : qemu kqemu kvm

가상 PC 소프트웨어는 vmware만 잘 되는지 알았는데, debian etch에도 있군요. 물론 lenny에도 있고요.

QEMU

qemu 설치
무척 간단히 설치됩니다. 단지
# apt-get install qemu

qemu 사용
  • 다음과 같이...
    $ qemu -cdrom /tmp/windows.iso -boot d
    $ qemu -cdrom /dev/hdd -boot d
    여기서 -cdrom 을 사용하여 사용할 시디이미지 또는 실제 시디드라이브를 지정하고, -boot 옵션으로 부팅할 드라이브 이름을 정합니다. 여기서는 d 드라이브로 부팅합니다. c 로 하면 하드 디스크로 부팅합니다. 플로피 디스크는 a이고...

  • 설치할 하드디드크 파일을 만듭니다.
    # qemu-img create windows.raw 6G
    -f qcow를 추가하면 QEMU image format을 만들 수 있습니다. 기본값은 raw입니다.
kqemu
kqemu 보다는 kvm이 더 성능향상이 있습니다. 물론 CPU가 지원을 해야하지만...
kqemu는 non-free에 있으므로 sources.list에 추가합니다.
  • 설치
    stock kernel을 사용하는 중이면 단지 커널에 맞는 kqemu 모듈을 설치합니다.
    # apt-get install kqemu-modules-$(uname -r)

    또는 다음과 같이 module-assistant로 kqemu 모듈을 만들어 설치합니다.
    먼저 module-assistant가 설치되어 있지 않으면 설치합니다.
    # apt-get install module-assistant
    kqemu-source를 설치합니다.
    # apt-get install kqemu-source
    (참고로 데비안 lenny에서 # m-a auto-install kqemu 하면 kqemu-common가 필요해서 설치된다는 메시지가 보입니다. 물론 설치는 제대로 됩니다.)

    모듈 설치
    # m-a prepare
    # m-a auto-install kqemu

  • 메모리에 모듈올리기
    # modprobe kqemu major=0

  • 부팅시마다 모듈이 올려지게
    # echo kqemu >> /etc/modules

KVM

qemu에 kvm을 설치하면 하드웨어적인 성능향상이 있습니다.
etch에서는 backports를 이용합니다. 먼저 backports를 설정하였습니다.

설치
  • 먼저 module-assistant가 설치되어 있지 않으면 같이 설치합니다.
    # apt-get install module-assistant kvm kvm-source
    설치에 bridge-utils도 필요한데 같이 설치됩니다.

  • 모듈 설치
    # m-a a-i kvm
    # modinfo kvm-intel kvm-amd
    설치된 모듈이 보입니다. 이제 메모리에 올립니다.(AMD CPU여서 kvm-amd)
    # modprobe kvm-amd
    # lsmod | grep kvm-amd
    올려진 모듈이 보이네요.
kvm 사용
  • 실행중 /dev/kvm의 권한설정에 에러가 보이면 사용자가 읽고 쓸 수 있게 바꾸어 줍니다.
    # adduser 유저이름 kvm
  • 부팅시 마다 모듈이 올려지게 /etc/modules에 기록합니다.
    # echo kvm-amd >> /etc/modules
마지막으로

데비안 etch에서
.
윈도우 설치시 다음과 같이
$ kvm -cdrom /media/mythtv/qemu/windows.iso -hda /media/mythtv/qemu/windows.raw -no-fd-bootchk -usb -m 256 -no-acpi -localtime -soundhw sb16 -net none -boot d

윈도우 설치후
$ kvm -cdrom /media/mythtv/qemu/windows.iso -hda /media/mythtv/qemu/windows.raw -no-fd-bootchk -usb -m 256 -no-acpi -localtime -soundhw sb16 -boot c
-----------------------------------------------------------------------------------------------------------------