今までWindows機でやっていたポッドキャストの更新を自動化してみた。
1.podgetの準備
# aptitude install podget
$ podget
初回実行時に、~/.podgetディレクトリが作成され、
podgetrc (設定ファイル)
serverlist (ダウンロードするポッドキャストのRSSリスト)
が作成される。
保存ディレクトリの準備
ここでは、CFディスクに保存するので、誰でも書き込みができるようにする。
# mkdir /mnt/hde1/podcast
# chown nobody:nogroup /mnt/hde1/podcast
# chmod 777 /mnt/hde1/podcast
~/podget/podgetrcを編集し、保存ディレクトリを/mnt/hde1/podcastに変更する。
~/podget/serverlistを編集し、購読するポッドキャストのRSSを追加する。
(例)
http://esl.podOmatic.com/rss2.xml
http://www.voanews.com/podcast/podcastxml_local.cfm?id=111
http://www3.nhk.or.jp/rj/podcast/rss/indonesian.xml
2.gnupodのインストール
パッケージからでは、なぜかうまくインストールされなかったので、ソースをとってきてインストール
$ wget http://blinkenlights.ch/gnupod-dist/stable/gnupod-0.99.8.tgz
必用となるライブラリを事前にインストール
# aptitude install libfile-ncopy-perl
# aptitude install libmp3-info-perl
# aptitude install libunicode-string-perl
# aptitude install libxml-parser-perl
# aptitude install libxml-simple-perl
$ tar -xzvf gnupod-0.99.8.tgz
$ cd gnupod-0.99.8
$ ./configure
# make install
3.ipodの接続確認
自分の場合は、sdbで認識されるので、vfatでフォーマットされているipodのデータ領域はsdb2になる。
$ pmount sdb2
$ df
/media/sdb2にマウントされることを確認
$ gnupod_INIT.pl -m /media/sdb2
で、gnupodでマウントできることを確認
4.スクリプトの準備
スクリプト名を~/scripts/podcast.shとして、以下のように作成
#!/bin/sh
pmount sdb2
find /mnt/hde1/podcast -type f -name '*.mp3' -exec gnupod_addsong.pl -m /media/sdb2 {} \;
mktunes.pl -m /mnt/sdb2
pumount sdb2
ipodをマウントして、ダウンロードされたポッドキャストをコピーして、アンマウントという手順
# chmod 700 /home/hoge/scripts/podcast.sh
で実行権を与える
$ /home/hoge/scripts/podcast.sh
でうまく動くか確認してみる。
5.crontabの記載
$ crontab -e
0 5 * * * /usr/bin/podget -s (毎日5:00にpodgetをサイレントで稼働)
30 4 * 1 * /usr/bin/podget -C --cleanup_days 30 (毎月1日4:30に30日以上たった古いファイルを削除)
30 5 * * * /home/hoge/scripts/podcast.sh (毎日5:30にipodに転送)
これで、夜帰ってきて、ipodをつないでおきさえすれば、毎朝ポッドキャストが更新されている。
朝の忙しい時に、Windowsコンピュータを起動して、ポッドキャストを更新して、ipodに転送というような、めんどうなことをしなくてすむのだ。
(参考としたサイト)
http://sourceforge.jp/magazine/07/04/04/0133254
http://podget.sourceforge.net/docs.php
http://www.gnu.org/software/gnupod/
http://www.momonga-linux.org/archive/Momonga-users.ja/msg00107.html
http://www.tjansson.dk/?p=808
情報過多の時代、古いPCを蘇らせて、よりシンプルに使っていくために、Linuxを勉強してます
2010年5月3日月曜日
2010年4月25日日曜日
sambaによるUSBメモリの共有フォルダ化
FATのままだと、chownコマンドによる所有者の変更ができないので、ext3でフォーマットすることで解決した。
# fdisk /dev/sdb
# mkfs.ext3 /dev/sdb
# mount -t ext3 /dev/sdb /mnt/sdb1
# mkdir /mnt/sdb1/mp3
# chown nobody:nogroup /mnt/sdb1/mp3
# chmod 777 /mnt/sdb1/mp3
# vim /etc/samba/smb.conf
で共有ディレクトリ情報を追加
$ sudo /etc/init.d/samba restart
これで、WindowsPCに保存されているmp3ファイルを移動させて、mocで再生できる。
# fdisk /dev/sdb
# mkfs.ext3 /dev/sdb
# mount -t ext3 /dev/sdb /mnt/sdb1
# mkdir /mnt/sdb1/mp3
# chown nobody:nogroup /mnt/sdb1/mp3
# chmod 777 /mnt/sdb1/mp3
# vim /etc/samba/smb.conf
で共有ディレクトリ情報を追加
$ sudo /etc/init.d/samba restart
これで、WindowsPCに保存されているmp3ファイルを移動させて、mocで再生できる。
2010年4月14日水曜日
exim4を使ったメール送信
exim4のスマートホストを使ってgmailにリレーしてメール送信させるための設定
# aptitude install exim4
# dpkg-reconfigure exim4-config
以下の記述を追加
gmail-smtp.l.google.com:yourAccountName@gmail.com:y0uRpaSsw0RD
*.google.com:yourAccountName@gmail.com:y0uRpaSsw0RD
smtp.gmail.com:yourAccountName@gmail.com:y0uRpaSsw0RD
# update-exim4.conf
メールコマンドで送信テスト
gmailで、専用のアドレスを作成してしまった。成功!
参照サイト:
http://wiki.debian.org/GmailAndExim4
# aptitude install exim4
# dpkg-reconfigure exim4-config
- Choose mail sent by SMARTHOST; received via SMTP or fetchmail
- Type System Mail Name: e.g. company.com
- Type IP Adresses to listen on for incoming SMTP connections: 127.0.0.1
- Leave Other destinations for which mail is accepted blank
- Leave Machines to relay mail for: blank
- Type Machine handling outgoing mail for this host (smarthost): smtp.gmail.com::587
- Choose NO, don't hide local mail name in outgoing mail.
- Chose NO, don't keep number of DNS-queries minimal (Dial-on-Demand).
- Choose YES, split configuration into small files
以下の記述を追加
gmail-smtp.l.google.com:yourAccountName@gmail.com:y0uRpaSsw0RD
*.google.com:yourAccountName@gmail.com:y0uRpaSsw0RD
smtp.gmail.com:yourAccountName@gmail.com:y0uRpaSsw0RD
# update-exim4.conf
メールコマンドで送信テスト
gmailで、専用のアドレスを作成してしまった。成功!
参照サイト:
http://wiki.debian.org/GmailAndExim4
2010年4月13日火曜日
バックアップの自動化
rsyncとcrondを使用してバックアップを自動化する。
ディレクトリを作成
# cd
# mkdir scripts
# cd scripts
スクリプトの作成
# vim backup.sh
#!/bin/sh
#
###backup scripts###
rsync -av --progress --delete /home/samba/ /media/sda1/
-a アーカイブモード。ディレクトリ内に含まれる全てのファイル、/ディレクトリを、シンボリックリンク、パーミッション属性、グループ属性、所有者属性、タイムスタンプを保持したまま同期。
-v 冗長モード。バックアップ時にバックアップしているファイル名を表示する。
--progress 同期の情報を表示する。
--delete 同期元にないファイルが同期先に存在した場合,そのファイルを削除する。
実行権限の設定
# cd
# chmod 700 scripts/backup.sh
動作の確認
# /root/scripts/backup.sh
crontabの編集
# vim /etc/crontab
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
30 3 * * * root /root/scripts/backup.sh
↑毎日3:30に実行
現在の設定の削除
# crontab -r
# crontab -l
再起動
# /etc/rc.d/init.d/crond restart
ディレクトリを作成
# cd
# mkdir scripts
# cd scripts
スクリプトの作成
# vim backup.sh
#!/bin/sh
#
###backup scripts###
rsync -av --progress --delete /home/samba/ /media/sda1/
-a アーカイブモード。ディレクトリ内に含まれる全てのファイル、/ディレクトリを、シンボリックリンク、パーミッション属性、グループ属性、所有者属性、タイムスタンプを保持したまま同期。
-v 冗長モード。バックアップ時にバックアップしているファイル名を表示する。
--progress 同期の情報を表示する。
--delete 同期元にないファイルが同期先に存在した場合,そのファイルを削除する。
実行権限の設定
# cd
# chmod 700 scripts/backup.sh
動作の確認
# /root/scripts/backup.sh
crontabの編集
# vim /etc/crontab
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
30 3 * * * root /root/scripts/backup.sh
↑毎日3:30に実行
現在の設定の削除
# crontab -r
# crontab -l
再起動
# /etc/rc.d/init.d/crond restart
2010年4月8日木曜日
LinuxからSamba共有フォルダのマウント
これで、書き込みも可能になりました。
$ sudo vim /etc/fstab
末尾に以下を追加
//マウント相手のIPアドレス/マウントしたいフォルダ名 /mnt/samba/ smbfs username=sambaユーザ名,password=sambaパスワード,gid=相手先ユーザーのグループID,uid=相手先ユーザーのユーザーID,codepage=cp932,iocharset=utf8,rw,defaults 0 0
※実際は一行で続けて書く
※username と password は,マウント先が,Windowsの場合は「Windowsのログインユーザ」,マウント先がLinuxの時は「Sambaのユーザ」のもの。
※接続先がLinuxで,UTF8の場合は,「codepage=cp932,iocharset=utf8,」不要。
※接続先がWindowsの場合は,「uid,gid,」不要。
(例)
//192.168.0.5/share /mnt/samba/ smbfs username=hoge,password=hoge,uid=hoge,gid=hoge,codepage=cp932,iocharset=utf8,rw,defaults 0 0
$ sudo vim /etc/fstab
末尾に以下を追加
//マウント相手のIPアドレス/マウントしたいフォルダ名 /mnt/samba/ smbfs username=sambaユーザ名,password=sambaパスワード,gid=相手先ユーザーのグループID,uid=相手先ユーザーのユーザーID,codepage=cp932,iocharset=utf8,rw,defaults 0 0
※実際は一行で続けて書く
※username と password は,マウント先が,Windowsの場合は「Windowsのログインユーザ」,マウント先がLinuxの時は「Sambaのユーザ」のもの。
※接続先がLinuxで,UTF8の場合は,「codepage=cp932,iocharset=utf8,」不要。
※接続先がWindowsの場合は,「uid,gid,」不要。
(例)
//192.168.0.5/share /mnt/samba/ smbfs username=hoge,password=hoge,uid=hoge,gid=hoge,codepage=cp932,iocharset=utf8,rw,defaults 0 0
2010年4月7日水曜日
EQUIUM S5060をDebian lennyでファイルサーバにする
以前安く買った、TOSHIBA EQUIUM S5060が空いていたので、Debian lennyをインストールして、ファイルサーバ兼mp3 playerを構築した。いつもの通り、最小インストールからの設定。
1. RAMディスクの設定
CFにインストールしているので、次の設定を行う。
アクセスタイムを記録しない
/etc/fstabでマウントオプションにnoatimeをつけておく
errors=remount-ro>>errors=remount-ro,noatime
ラムディスクを使う.
tmpフォルダをRAMディスクに取ります.
/etc/fstabに
tmpfs /tmp tmpfs defaults,noatime,size=128m 0 0
tmpfs /var/tmp tmpfs defaults,noatime 0 0
の2行を付け加える。
2. apt-line設定
/etc/apt/sources.listにcontrib non-freeを追加
deb http://ftp.jp.debian.org/debian lenny main contrib non-free
deb http://security.debian.org lenny/updates main contrib non-free
# aptitude update
3. コンソール解像度の変更
/boot/grub/menu.lstで
#defoptions=quiet vga=773 を追加(vga=791は駄目だった)
# update-grub
# reboot
4. ロケールの追加
# dpkg-reconfigure locales
EUC-JP UTF-8を選択
5. alsaの設定
# aptitude install alsa-base
# alsaconf
6. sudoの設定
# aptitude install sudo
# visudo
user ALL=(ALL) ALL
を加える。
7. アプリケーションのインストール
$ sudo aptitude install moc mp3プレーヤ
$ sudo aptitude install pmount
8. 温度管理
$ sudo aptitude install lm-sensors
$ sudo sensors-detect
インストール後、端末から
$ sensors
これでCPU温度やファンの回転数などが表示される。
$ sudo pwmconfig
で、ファン回転数の設定を行う。設定保存後の微調整は、
/etc/fancontrol を直接修正。
次のサイトに詳細の説明がある。
http://shirata.ddo.jp/papa/blog/2007/08/lm-snsors.html
http://www.aconus.com/~oyaji/pc/cpufan_control.htm
http://netlog.jpn.org/r271-635/2008/02/s5040_fedora_8.html
9. USB スピーカー
$ cat /proc/asound/modules
0 snd_intel8x0
1 snd_usb_audio
/etc/modprobe.d/sound を修正して、サウンドデバイスの認識順序を変える
options snd_intel8x0 index=1
options snd_usb_audio index=0
これで、リブートすれば順序が入れ替わり、音が出るようになる。
10. sambaのインストール、設定
# aptitude install samba
共有ディレクトリの作成
# mkdir /home/samba
# chown nobody:nogroup /home/samba
# chmod 777 /home/samba
設定ファイルに以下を追加
# vim /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
dos charset = CP932
unix charset = UTF-8
display charset = UTF-8
# map to guest = Bad User ゲストアクセス
[share]共有するディレクトリ名
path = /var/samba共有ディレクトリのパス
writeable = yes書き込み許可
force create mode = 0666ファイル作成時のファイルのパーミッション
force directory mode = 0777ディレクトリ作成時のディレクトリのパーミッション
guest ok = yesゲストユーザーを許可
guest only = yesゲストユーザーのみ接続可
Samba の再起動と動作確認
$ sudo /etc/init.d/samba restart
Windows端末からのアクセスは成功。二重に無線LANを組んでいるせいか、linuxからアクセスができていない。要研究。
1. RAMディスクの設定
CFにインストールしているので、次の設定を行う。
アクセスタイムを記録しない
/etc/fstabでマウントオプションにnoatimeをつけておく
errors=remount-ro>>errors=remount-ro,noatime
ラムディスクを使う.
tmpフォルダをRAMディスクに取ります.
/etc/fstabに
tmpfs /tmp tmpfs defaults,noatime,size=128m 0 0
tmpfs /var/tmp tmpfs defaults,noatime 0 0
の2行を付け加える。
2. apt-line設定
/etc/apt/sources.listにcontrib non-freeを追加
deb http://ftp.jp.debian.org/debian lenny main contrib non-free
deb http://security.debian.org lenny/updates main contrib non-free
# aptitude update
3. コンソール解像度の変更
/boot/grub/menu.lstで
#defoptions=quiet vga=773 を追加(vga=791は駄目だった)
# update-grub
# reboot
4. ロケールの追加
# dpkg-reconfigure locales
EUC-JP UTF-8を選択
5. alsaの設定
# aptitude install alsa-base
# alsaconf
6. sudoの設定
# aptitude install sudo
# visudo
user ALL=(ALL) ALL
を加える。
7. アプリケーションのインストール
$ sudo aptitude install moc mp3プレーヤ
$ sudo aptitude install pmount
8. 温度管理
$ sudo aptitude install lm-sensors
$ sudo sensors-detect
インストール後、端末から
$ sensors
これでCPU温度やファンの回転数などが表示される。
$ sudo pwmconfig
で、ファン回転数の設定を行う。設定保存後の微調整は、
/etc/fancontrol を直接修正。
次のサイトに詳細の説明がある。
http://shirata.ddo.jp/papa/blog/2007/08/lm-snsors.html
http://www.aconus.com/~oyaji/pc/cpufan_control.htm
http://netlog.jpn.org/r271-635/2008/02/s5040_fedora_8.html
9. USB スピーカー
$ cat /proc/asound/modules
0 snd_intel8x0
1 snd_usb_audio
/etc/modprobe.d/sound を修正して、サウンドデバイスの認識順序を変える
options snd_intel8x0 index=1
options snd_usb_audio index=0
これで、リブートすれば順序が入れ替わり、音が出るようになる。
10. sambaのインストール、設定
# aptitude install samba
共有ディレクトリの作成
# mkdir /home/samba
# chown nobody:nogroup /home/samba
# chmod 777 /home/samba
設定ファイルに以下を追加
# vim /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
dos charset = CP932
unix charset = UTF-8
display charset = UTF-8
# map to guest = Bad User ゲストアクセス
[share]共有するディレクトリ名
path = /var/samba共有ディレクトリのパス
writeable = yes書き込み許可
force create mode = 0666ファイル作成時のファイルのパーミッション
force directory mode = 0777ディレクトリ作成時のディレクトリのパーミッション
guest ok = yesゲストユーザーを許可
guest only = yesゲストユーザーのみ接続可
Samba の再起動と動作確認
$ sudo /etc/init.d/samba restart
Windows端末からのアクセスは成功。二重に無線LANを組んでいるせいか、linuxからアクセスができていない。要研究。
登録:
投稿 (Atom)