※検索してこのページへ訪れた人へ。このブログ書いてる人は、Ubuntuは素人なので、あまり書いてある内容を信用しないでください。
最近Ubuntuのサーバをセットアップしています。何分初めてのOSなので手探り状態、このメモは自分のための備忘録みたいなもんです。
サーバとして使っていますが、わが家も役割ごとに使えるPCが余っているわけではないので、ウブンツがメイン仕様のデスクトップマシンとして使えるのか、の実験も兼ねています。
- 目次
- やれたこと
- やれるかどうか、これからなこと
- Brotherのプリンタ使用
- VirtualBox
- ゲームのエミュレーター的なこと
- iTunes
- imgburn的なこと
- DVDdecrypter的なこと
- Handbrake的なこと
サーバ版をインストール。64bitのカーネルが入ったようである。
kk@saber:~$ more /etc/*release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=11.04 DISTRIB_CODENAME=natty DISTRIB_DESCRIPTION="Ubuntu 11.04" kk@saber:~$ uname -a Linux saber 2.6.38-8-server #42-Ubuntu SMP Mon Apr 11 03:49:04 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
ファイル名の文字コードをUTF8に直す* ファイル名の文字コードをUTF8に直す。
convmv -r -f sjis -t utf8 * --notest
FTP系
man vsftpd.conf より
cmds_allowed This options specifies a comma separated list of allowed FTP commands (post login. USER, PASS and QUIT and others are always allowed pre-login). Other commands are rejected. This is a powerful method of really locking down an FTP server. Example: cmds_allowed=PASV,RETR,QUIT Default: (none) cmds_denied This options specifies a comma separated list of denied FTP commands (post login. USER, PASS, QUIT and others are always allowed pre-login). If a command appears on both this and cmds_allowed then the denial takes precedence. (Added in v2.1.0). Default: (none)
と書いてあるけど、なんかうまくいかんかった。やりたかったことはクライアントからdeleteやmdeteleを使えないようにしようとしたんだけど・・・。Windowsのftpデーモンソフトならどれも簡単にできることがlinuxだと結構大変なのね・・・。
ただ、vsftpd、ログがEUCではかれるみたい。これは致命的。せっかくutf8でファイルアップロードしてもらっても、それが化けてて???になっとる。vsftpd却下!
↓
つづきましてproftpd を試しました。
utf8の問題は解決。ログもちゃんとutf8ではかれる。
動作も良好。
confファイルもちょこっとの変更で使える。
- /etc/ftpusers にftpさせたくないユーザを書く
- /etc/proftpd/proftpd.conf で DefaultRoot ~ のコメントアウトをはずす(ユーザが上にcdできなくする)
- /etc/proftpd/proftpd.conf で SetEnv TZ :/etc/localtime のコメントアウトをはずす(そうしないとlogの時間がGMTになってしまう) 2011/06/18追記
が、ffftpでファイル一覧が取得できない。
パッチがあるようだ。(1.3.3d用) → http://cgi.s1.xrea.com/var/net/about_proftpd.html
パッチのあてかた → http://www.hayasoft.com/haya/linux/proftpd_nlst_patch.html
# tar zxf proftpd-1.2.10.tar.gz # patch -p0 < proftpd-1.2.10-nlst-ffftp.patch # cd proftpd-1.2.10 # ./configure ・・・・
ただ、トーシロのぼくにはやり方がよくわからん。たぶんproftpdの公式からソースもってきて、やるみたいだけど、それだとservice コマンドとかで管理できないんだよね、きっと。うーん、よくわからないからffftp側で対応しますか・・。
ffftpでも対策
↓
☆before
◆proftpのログから、最近アップしてもらったものだけを抽出(2011/06/12追記)
# grep "i r" /var/log/proftpd/xferlog |awk '{ print $2 " " $3 " " $4 " " $5 " " $9 }' //出力結果 Jun 09 04:52:30 2011 /data/knftp/Video/Movie/洋画/the_movie.mp4
"i r" を "o r" に変えればダウンロードしたものを抽出。
↑
結果の/dataという文字列を個人的に消したいので上のコマンドも「 | vi - 」にわたしてやって
:%s/\/data//g
にしてやる。ここでまた\が半角で打てないのでわざわざ「えんまーく」で辞書登録した\を使うことに。こんなの絶対おかしいよ。
で、2011のあとのスペースがタブの方が見やすそうなので、さらに
:%s/2011 /2011たぶ/g
っと。上の「たぶ」ってのは実際にはtabキーを押したって意味ですからね。そうすると以下のよう出力になって見栄えがいい。
Jun 09 04:52:30 2011 /knftp/Video/Movie/洋画/the_movie.mp4
うん、これでいいよ。
↑
この台詞をいって、思わず目から涙が・・・。実際のところはこれをさらに自動化したいんだが・・・・、まーこんど暇なときググろう。
LAN内に複数の機器がある場合は、モデム(ルータ)の設定を変更して外部からのftpアクセスが届くようにしてあげないといけない。
例: Aterm BH812Vの場合、「詳細設定」→「ポートマッピング設定」→「NATエントリ」にエントリを入れる。
Ubuntuのバージョン確認
# more /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=11.04 DISTRIB_CODENAME=natty DISTRIB_DESCRIPTION="Ubuntu 11.04"
IME 、親指シフト関係
IMEの辞書登録ソフトが入っていない
(サーバでインストール後に言語追加で日本語入れたから?)
ファイルコピー とバックアップ
rsync もはや定番。リモートへのバックアップも可能。逆も。
# rsync -arv Sorce Dest
dump / restore (dumpでスライスor filesystem まるごとコピーして、リストアで吐き出し先を指定できる。テープとかにも)
デフォルトでは入ってなかったので、インストール。
↓は /dev/sdb3 の全データを /Dest ディレクトリ配下に全コピー。ファイル・ディレクトリーの個別コピーではないため、速い。/Destは、ソースである/dev/sdb3以外のスライスである必要がある。Windowsでいうイメージコピーに少し近いかな。今試してみる限り、ext4でもext3の時と同様にできるみたい。
コピー中は、うちのパソコンの環境だと結構全体的な動作がもっさりになった。load average: 2.93 くらい。
$ sudo su # apt-get install dump ← dumpをインストールするとrestoreもついてくる # cd /Dest ←/Dest配下にコピーしたいので あらかじめ移動しておく # dump 0f - /dev/sdb3 | restore -rf - ←/dev/sdb3の全内容を(0f)を カレントディレクトリに(-)、全部リストアする(restore -rf - ) くらいの意味でしょうか。すいません適当です。 DUMP: Date of this level 0 dump: Fri May 27 16:15:27 2011 DUMP: Dumping /dev/sdb3 (/bkup) to standard output DUMP: Label: /bkup DUMP: Writing 10 Kilobyte records DUMP: mapping (Pass I) [regular files] DUMP: mapping (Pass II) [directories] DUMP: estimated 473607464 blocks. DUMP: Volume 1 started with block 1 at: Fri May 27 16:15:27 2011 DUMP: dumping (Pass III) [directories] DUMP: dumping (Pass IV) [regular files] DUMP: 5.22% done at 82380 kB/s, finished in 1:30 DUMP: 10.79% done at 85156 kB/s, finished in 1:22 DUMP: 16.06% done at 84522 kB/s, finished in 1:18 DUMP: 21.28% done at 83979 kB/s, finished in 1:13 DUMP: 25.51% done at 80542 kB/s, finished in 1:13 DUMP: 30.39% done at 79965 kB/s, finished in 1:08 DUMP: 35.55% done at 80172 kB/s, finished in 1:03 DUMP: 40.94% done at 80795 kB/s, finished in 0:57 DUMP: 46.33% done at 81274 kB/s, finished in 0:52 DUMP: 51.57% done at 81417 kB/s, finished in 0:46 DUMP: 56.81% done at 81531 kB/s, finished in 0:41 DUMP: 61.95% done at 81498 kB/s, finished in 0:36 DUMP: 67.02% done at 81381 kB/s, finished in 0:31 DUMP: 72.14% done at 81346 kB/s, finished in 0:27 DUMP: 77.11% done at 81158 kB/s, finished in 0:22 DUMP: 82.06% done at 80971 kB/s, finished in 0:17 DUMP: 86.75% done at 80559 kB/s, finished in 0:12 DUMP: 91.64% done at 80375 kB/s, finished in 0:08 DUMP: 96.57% done at 80239 kB/s, finished in 0:03 DUMP: Volume 1 completed at: Fri May 27 17:54:08 2011 DUMP: Volume 1 473598820 blocks (462498.85MB) DUMP: Volume 1 took 1:38:41 DUMP: Volume 1 transfer rate: 79986 kB/s DUMP: 473598820 blocks (462498.85MB) DUMP: finished in 5921 seconds, throughput 79986 kBytes/sec DUMP: Date of this level 0 dump: Fri May 27 16:15:27 2011 DUMP: Date this dump completed: Fri May 27 17:54:08 2011 DUMP: Average transfer rate: 79986 kB/s DUMP: DUMP IS DONE ↑ 450GBが約1時間40分くらいでコピーできました。
アクセス制御
UNIXのアクセス制御やパーミッションの考え方は難しいな。rwx だけってのは違和感がある。ウィンドウズみたいに書き込みはできるけど、削除はできない、とか指定したいんだけど・・・。
sambaでみせてるディレクトリは(ユーザ:AAA グループ:AAA)である。
とあるディレクトリ(ユーザ:BBB グループ:BBB)をsambaで使いたい。
でも とあるディレクトリはとあるアプリで使うものだから、パーミッションやオーナーはかえたくない。
ためしにとあるディレクトリのグループをsambaグループのAAAにしてみた(BBB→AAA)
でも、やはりサンバからは見えてこない。
しかたなくsetfaclにたよることにした。こういうの一度設定しちゃうと、あとで存在わすれれててハマりポイントになるんだよねー。でもいたしかたなし。
☆デフォルトでインストールされていなかったので追加 $ sudo su # apt-get install acl ☆/bkup をacl 対応にする # umount /bkup # vi /etc/fstab # grep bkup /etc/fstab #LABEL=/bkup /bkup ext4 defaults 0 0 LABEL=/bkup /bkup ext4 acl 0 0 # mount /bkup ☆acl変更前 # getfacl /bkup getfacl: 絶対パス名から先頭の '/' を削除 # file: bkup # owner: BBB # group: BBB user::rwx group::--- mask::r-- other::--- ☆sambaで使うユーザ(samba)で追加してやる # setfacl -Rm u:samba:rx /bkup ☆acl変更後 # getfacl /bkup getfacl: 絶対パス名から先頭の '/' を削除 # file: bkup # owner: BBB # group: BBB user::rwx user:samba:r-x group::--- mask::r-x other::---
これで無事、Windowsのsambaユーザーから /bkupディレクトリが見れるようになった。rだけだとフォルダが開けないので、rとxを指定するのがポイント。
Ubuntuはまったくのトーシロだけど、Redhatはちこっと触ったことがあるので、意外とナレッジを使いまわせることがわかってよかった。ただネットワーク関連のコンフィグファイルの置き場所とか、まだ慣れないなー・・・。いや、最近のCentOSでもIME Anthyデフォルトで親指シフトできるんで、つかいなれたCentくんでもよかったんだけど、やっぱりスタイリッシュじゃない。FB風にいえば「クールじゃない」ので、ubuntuにしたしだいです。
スクリーンショットとる
アプリケーション→スクリーンショットの取得
or
検索窓で「screen」と打つと候補ででてくる。
Dice
- 公式HP
- いい手順がのってるページ
DiceはEUCで動くみたいなのでターミナルの文字コードをEUCにしておく。 http://homepage3.nifty.com/sarad/diced01914.tar.gz からファイルをゲットしておく。 # cd /usr/local/bin # tar xzf dice.tar.gz # cd DiCE # /usr/local/bin /DiCE/diced =-=-=- DiCE DynamicDNS Client -=-=-= Version 0.19 for Japanese Copyright(c) 2001 sarad :setup IPアドレスの検出方法を指定してください (0) 自動検出 (1) ローカルのネットワークアダプタから検出 (2) 外部のスクリプトから検出 <現在:2> (N)変更しない (P)戻る >0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 5/28 15:08 にieServer-schedの実行に失敗しました
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
情報 ***
IPアドレスはサーバー側で自動検出します。 IPアドレスの指定は出来ません。 (入力しても無視されます) ================================================= ドメイン名を入力してください <現在:xxxxxxxxxx.dip.jp> "?"でドメイン一覧を表示します (N)変更しない (P)戻る >dip.jp ================================================= ホスト名を入力してください <現在:> (N)変更しない (P)戻る >xxxx ================================================= ログインユーザ名を入力してください <現在:kitakiyo> (N)変更しない (P)戻る >N ================================================= ログインパスワードを入力してください (N)変更しない (P)戻る >xxxxxxxxx ================================================= 登録するIPアドレスを入力してください <現在:自動> 空白にすると現在のIPアドレスを自動検出します (N)変更しない (P)戻る > ================================================= このイベントに題名を付けてください <現在:ieServer-sched> (N)変更しない (P)戻る >N ================================================= このイベントを実行するスケジュールを設定します-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 5/28 15:10 にieServer-schedが実行されました
ssh のポート番号変更
# vi /etc/ssh/sshd_config # grep Port !$ grep Port /etc/ssh/sshd_config Port 2222 # /etc/init.d/ssh restart Rather than invoking init scripts through /etc/init.d, use the service(8) utility, e.g. service ssh restart # ssh localhost -p 22 ssh: connect to host localhost port 22: Connection refused # ssh localhost -p 2222 root@localhost's password:ついでにiPhoneアプリ TouchTerm SSH (450円)をダウンロードしたら外出先からもサーバいじれて幸せになれた。事前にルータでport2222がUbuntu向くようにしとかないといけない。 ちなみに、sshできるユーザを指定したい場合は、sshd_configに AllowUsers 許可するユーザ 許可するユーザ のように、スペースで区切っていけばいい。許可されていないユーザがsshしてもパスワード認証のところまではいくが、正しいパスワードをいれてもはじかれるって仕組み。
Vi で改行コードを消す
scriptなどでログをとって、あとでviで見返したりすると^Mみたいな改行コードが入っていて邪魔い。そんなときは 置換で消す。:%s/^M//gポイントは^Mは手動でうってもダメってこと。Ctrl+Vでビジュアル矩形選択→Ctrl+Mというコンボでやらないといけない。参考: http://www.atmarkit.co.jp/flinux/rensai/linuxtips/164linendm.html
Docky
画面左のメニューもかっこいいけど、Dockyというマック風のランチャーを入れてみました。マウスオーバーで拡大したり、横にぐりぐり動いたりしてかっこいい!便利なキーボードショートカット(Unity用)
- Ctrl+Alt+T 端末を起動する。
- Super+A アプリケーションの検索ウィンドウを開く。
- Super+F ファイルの検索ウィンドウを開く。
- Super+D すべてのウィンドウを最小化する。もう一度押すと元に戻る。
- Super+S ワークスペースの一覧を表示する。
- Ctrl+Alt+L 画面をロックする。
gvim
cron
まずデフォルトのエディタがnanoになっていたので、使い方わからないのでvimにする。下の例はrootで実行。# more .selected_editor # Generated by /usr/bin/select-editor SELECTED_EDITOR="/usr/bin/vim"すでにcronの設定をしていないか確認。
# crontab -l no crontab for root無いっすってでました。ので新規に編集します。
# crontab -e no crontab for root - using an empty one crontab: installing new crontab root@saber:~# crontab -l # m h dom mon dow command 3 3 * * * /root/rsync.sh毎朝03:03にrysync.sh というシェルを実行します。 crontab -lで設定が入っていることを確認します。
# crontab -l # m h dom mon dow command 3 3 * * * /root/rsync.shここで入って入れば、とくに再起動したりとかは不要です。設定した時間になれば勝手にうごきます。