雑記 - Linux関連その他 Diff
- Added parts are displayed like this.
- Deleted parts are displayed
like this.
!setterm
仮想コンソールで、画面表示状態を変更するのに使う。
無操作時に画面を消すには、
setterm -blank 1
とかすると 1 分後に消える。blank option の他にも powerdown とか powersave とか。
それから
setterm -inversesecreen on
とかすると気分が変わっていいかも :-)
!Proftpd
data port の指定は、/etc/proftpd.conf に
PassivePorts 4000 4029
のように書く。これで、port 4000〜4029 を使うようになる。
!iptables
[[Linuxでのアクセス制御]]
[[iptablesによるNAT]]
!mnews for Vine Linux 3.x
Vine 3.2 上で作成した mnews-1.22PL6です。
動作検証はしていませんので自己責任でどうぞ。
rpm -> {{attach_anchor('mnews-1.22PL6-1vl1.i386.rpm')}}
src.rpm -> {{attach_anchor('mnews-1.22PL6-1vl1.i386.src.rpm')}}
!GnuPG によるファイルの暗号化
これ、とても便利です。重要な情報を保管しておくには必須です。
http://www.mew.org/~kazu/proj/cipher/
!initrdについて
initrdを作るには、mkinitrd が必要。mkinitrd を make するには、dietlibc が必要。(Vineの場合)
(実は SuSE の mkinitrd は shell script なんですね。src.rpm をバラしてみて分かりました。)
なお initrd の中身を見るには、次の何れかの方法を。
!!initrd が例えば ext2 なファイルを gzip したものなら (Vine とか)
mv initrd-xxxx initrd-xxxx.gz
gzip -d initrd-xxxx.gz
mount -t ext2 -o loop initrd-xxxx /aho
これで /aho の中を見ればよい。
!!initrd が cpio archive を gzip したものなら (SuSE とか)
mkdir aho; cd aho
gzip -dc ../initrd-xxxx | cpio -i
とすると、initrd の中身が aho ディレクトリ内に展開される。
!mouse pointer のボタン入れ替え
通常 xmodmap を使う事で、mouse button の割当を変える事ができる。例えば、左利き用にボタンの左右を入れ替えるのであれば、
xmodmap -e "pointer = 3 2 1 4 5"
もとに戻すには、
xmodmap -e "pointer = 1 2 3 4 5"
もちろん、.Xmodmap に 上記設定を記載するのも良いだろう。
さて問題は複数のマウスがある場合。例えば note pc のトラックパッド等のボタンと外付けの USB マウスの二つ(以上)のPointing device がある場合だ。
このような場合に、xmodmap を使った場合、CorePointer device のみがボタン入れ替えの対象となるようだ。SecondCoreEvents の方は、xmodmap によるマウスボタンの入れ替えが反映しない模様。(AlwaysCore option を付けていると xmodmap が効かないという記述をどこかでみたような気もするが、私がテストした限りでは CorePointer であるかどうかが本質のように思える。)
!update-pciids
PCI devices の情報を取得する lspci コマンドの PCI ID リストを取得するコマンド。今になって存在を知った ^-^;;
!CD img の mount (何をいまさら^-^;)
mount -t iso9660 -o ro,loop=/dev/loop0 /aho/hoge.iso /hoge
!checkquota
quota を check するコマンドであるが、このコマンドを実行すると、最初に対象の disk device を read-only で remount し、check が終わる時に read-write で remount します。
このため、例えば、ユーザのホームディレクトリに対して quotacheck する場合、その最中は read-only なホームディレクトリになってしまうことに注意。
-m option を付けると、read-only にしないでやるみたい。
!Flash9 関連
kernel 2.4 は default が OSS。Flash Player 9 は ALSA driver を要求するので OSS ではだめ。
libflashsupport.so というライブラリを介することで、OSS でも音を鳴らすことができる。しかしながら、時折 firefox を巻き込んで落ちたり、音が映像よりも少し遅れるといった問題があり。お薦めできない。
OSS を指定した上で、debug するには
FLASH_FORCE_OSS=1 FLASH_AUDIODEBUG=1 /usr/local/firefox20012/firefox
XLIB_SKIP_ARGB_VISUALS=1
!procmail
/etc/postfix/main.cf の中で procmail を呼ぶようにしている場合に、/usr/bin/procmail の s bit が外れていると、一通目のメールを受け取れない。あらかじめメールボックス /var/spool/mail/hoge を手で作っておく必要あり。
!IP masquerade
IP masquerade するときに /etc/sysctl.conf を以下のように修正しなければならないこともある。(Vine4.2 がそうだった。)
net.ipv4.ip_forward = 1
もっとベタに、
echo 1 > /proc/sys/net/ipv4/ip_forward
とすれば良いかな。その上で、[[iptablesによるNAT]]を。
!MPlayer & mplayerplug-in
MPlayer はとても便利。make 時のメモ。
一度、./configure --prefix=/usr && make した後に、GUI な mplayer を忘れていたと ./configure --prefix=/usr --enable-gui && make とすると、make の最後の方で、
undefined reference to `vo_setwindow'
みたいなことを言われて make に失敗してしまう。一度 make distclean して、configure からやり直したら良い。
mplayerplug-in を make するには firefox (mozilla) の開発環境が必要。この mplayerplug-in も便利。
!stty, tput, resize
terminal size の表示
stty size
とか
tput cols
tput lines
80x45 にセットするには
stty cols 80 rows 45
現在の xterm window size にするには
resize
Linux の話というよりは X の話。
!UUID
vol_id device_name
!gtk+-2.1x での lpr 印刷について
Firefox3 になって印刷の仕組みが変わった。従来のものから gtk+-2.1x の backend print module を使うようになった。CUPS を使っている人には問題ないと思われますが、旧来の lpr な印刷システムを使っていると印刷ダイアログにプリンタリストが表示されません。
ちょっと使いにくいので lpr な printer の list を表示する patch を作成したのでそれについて→[[libprintbackend-lpr's patch for gtk+-2.1x]]
!bogofilter の db_cachesize
bogofilter の wordlist.db の上限サイズの指定は、/etc/bogofilter.cf あるいは ~/.bogofilter.cf にて行う。
!X のマウスカーソルを変えるには
XFree86 4.3 あたりで拡張された Xcursor 機能で、カーソルを変える事ができるらしい。
[[http://www.gnome-look.org/]] の X11 Mouse themes から好きなマウスカーソルテーマをダウンロード。例えば、コントラスト強めで大きめのマウスカーソルの contrastlarge をダウンロードしたとする。これを適当なディレクトリに展開する。他のユーザもいる machine ならば、/usr/X11R6/lib/X11/icons/ とか /usr/X11R7/share/icons 辺り(システムによってディレクトリは異なる。 handhelds, whiteglass, redglass といったディレクトリが格納されているディレクトリ。)に入れておくのがいいだろう。
で、ホームディレクトリ直下に .icons フォルダを作成し、その中に contrastlarge ディレクトリのリンクを default という名前で作成する。
mkdir ~/.icons
ln -s /usr/X11R6/lib/X11/icons/contrastlarge ~/.icons/default
この他、~/.Xdefaults に
Xcursor.theme: contrastlarge
Xcursor.size: 36
のように書く方法もあり。(ただしシステムによってはうまく働かないことがある)
!Adobe Reader
古いシステムで Adobe Reader 8 や 9 を使おうとすると、Adobe Reader のメニューがちらつく事がある。これは gtk+ の version を上げれば回避できる。
新しい gtk+ を別の directory に入れて、そちらを参照するようにすれば良い。
LD_LIBRARY_PATH=/opt/gtk+-2.14/lib /opt/Adobe/Reader/bin/acroread
!Pentel Airpen mini
先日購入した Airpen mini を Linux でも使ってみようと思った。とりあえず mouse としては普通に使えた。
Linux で使っている先人がいないかググってみたら、同じ Pegasus Technologies Ltd. NoteTaker デバイスを使った MVPen の解析をしている人がいた
http://d.hatena.ne.jp/dayflower/20080903/1220407032
このサイトを参考にすれば、いろいろ便利に使えるようになりそう。
!tar
Mac OS X のデフォルトの tar は bsdtar のようで、gnutar とは違うようだ。(OS X には両方入っている。)
このため、Mac OS X で固めた tgz を Linux で展開した時にディレクトリの time stamp が保持されないという不可思議なことが起こってしまう。tar を使ってOS X とデータの同期をする場合に気を付けるべきだろう。(zip なら大丈夫)
なお tar を使った時の symbolic link のタイムスタンプの話は[[別件|http://blog.gcd.org/archives/51068476.html]]。
!zenity
gtk+ (gnome) 環境で、dialog を出すためのもの。環境変数とか使えるので、ユーザに何か伝えるのに便利。
zenity --info --title "はろー" --text "こんにちは、${USER} さん"
!jhead
Exif 情報を調べたり、便利なコマンド
jhead hoge.jpg # exif 情報をみる
jhead -v hoge.jpg # exif 情報を全てみる
jhead -de hoge.jpg # exif 情報を圧縮
jhead -ft hoge.jpg # hoge.jpg の time stamp を exif 情報の時刻に設定する
jhead -autorot -ft # 自動回転し、exif 時刻に設定する
!zphoto
先に 20% くらいに resize しておき、jhead -autorot -ft で自動回転&exif時刻に設定した後に、zphoto に食わせるのが良さそう
ls | while read f
do
echo $f
convert -resize 20% $f ~/hoge/$f
jhead -autorot -ft ~/hoge/$f
done
zphoto -o output_dir --photo-width=1200 --title 'hogehoge xxxx/xx/xx' ~/hoge/$f
!Adobe Reader 9.x での日本語フォント(ゴシック)
9.x でゴシックが明朝で表示されてしまう。
/opt/Adobe/Reader9/Resource/CIDFont/ の中に、ゴシックフォントが無いため。(Adobe は一体どういうつもりなのか分からないが)Adobe Reader8 の中に同梱されているゴシックフォントを利用すれば良い。
[[Adobe Reader for Unix|http://www.adobe.com/support/downloads/product.jsp?product=10&platform=Unix]] ←ここに 8.x, 9.x が置いてある。
8.x と 9.x を両方入れて、
cd /opt/Adobe/Reader9/Resource/
ln -s /opt/Adobe/Reader8/Resource/CIDFont/KozGoProVI-Medium.otf .
とすれば良いだろう。
!Planex GW-USNano2 で無線アクセスポイント
[[アクセスポイント設定のメモ]]
!screen
シリアルコンソールに繋ぐには
screen /dev/ttyS0 115200
のように。切断は、Ctrl-A + K
!partprobe
fdisk でパーティション作成後、再起動することなく領域テーブルをシステムに認識させるもの。これも知らなかったなぁ。
!tree
名の通り、ディレクトリの tree 構造を表してくれるコマンド。
/sys/bus/pci/devices 以下の構造とかを調べていたときに、初めて存在を知った ^-^;;
![[Software RAID]]
mdadm とか AFD なディスクの扱いなどのメモ
![[openssl で通信チェック]]
443 ポートや 25 ポートの通信を確認する方法について
!CPU の脆弱性対応
ここ↓で確認できる
/sys/devices/system/cpu/vulnerabilities
仮想コンソールで、画面表示状態を変更するのに使う。
無操作時に画面を消すには、
setterm -blank 1
とかすると 1 分後に消える。blank option の他にも powerdown とか powersave とか。
それから
setterm -inversesecreen on
とかすると気分が変わっていいかも :-)
!Proftpd
data port の指定は、/etc/proftpd.conf に
PassivePorts 4000 4029
のように書く。これで、port 4000〜4029 を使うようになる。
!iptables
[[Linuxでのアクセス制御]]
[[iptablesによるNAT]]
!mnews for Vine Linux 3.x
Vine 3.2 上で作成した mnews-1.22PL6です。
動作検証はしていませんので自己責任でどうぞ。
rpm -> {{attach_anchor('mnews-1.22PL6-1vl1.i386.rpm')}}
src.rpm -> {{attach_anchor('mnews-1.22PL6-1vl1.i386.src.rpm')}}
!GnuPG によるファイルの暗号化
これ、とても便利です。重要な情報を保管しておくには必須です。
http://www.mew.org/~kazu/proj/cipher/
!initrdについて
initrdを作るには、mkinitrd が必要。mkinitrd を make するには、dietlibc が必要。(Vineの場合)
(実は SuSE の mkinitrd は shell script なんですね。src.rpm をバラしてみて分かりました。)
なお initrd の中身を見るには、次の何れかの方法を。
!!initrd が例えば ext2 なファイルを gzip したものなら (Vine とか)
mv initrd-xxxx initrd-xxxx.gz
gzip -d initrd-xxxx.gz
mount -t ext2 -o loop initrd-xxxx /aho
これで /aho の中を見ればよい。
!!initrd が cpio archive を gzip したものなら (SuSE とか)
mkdir aho; cd aho
gzip -dc ../initrd-xxxx | cpio -i
とすると、initrd の中身が aho ディレクトリ内に展開される。
!mouse pointer のボタン入れ替え
通常 xmodmap を使う事で、mouse button の割当を変える事ができる。例えば、左利き用にボタンの左右を入れ替えるのであれば、
xmodmap -e "pointer = 3 2 1 4 5"
もとに戻すには、
xmodmap -e "pointer = 1 2 3 4 5"
もちろん、.Xmodmap に 上記設定を記載するのも良いだろう。
さて問題は複数のマウスがある場合。例えば note pc のトラックパッド等のボタンと外付けの USB マウスの二つ(以上)のPointing device がある場合だ。
このような場合に、xmodmap を使った場合、CorePointer device のみがボタン入れ替えの対象となるようだ。SecondCoreEvents の方は、xmodmap によるマウスボタンの入れ替えが反映しない模様。(AlwaysCore option を付けていると xmodmap が効かないという記述をどこかでみたような気もするが、私がテストした限りでは CorePointer であるかどうかが本質のように思える。)
!update-pciids
PCI devices の情報を取得する lspci コマンドの PCI ID リストを取得するコマンド。今になって存在を知った ^-^;;
!CD img の mount (何をいまさら^-^;)
mount -t iso9660 -o ro,loop=/dev/loop0 /aho/hoge.iso /hoge
!checkquota
quota を check するコマンドであるが、このコマンドを実行すると、最初に対象の disk device を read-only で remount し、check が終わる時に read-write で remount します。
このため、例えば、ユーザのホームディレクトリに対して quotacheck する場合、その最中は read-only なホームディレクトリになってしまうことに注意。
-m option を付けると、read-only にしないでやるみたい。
!Flash9 関連
kernel 2.4 は default が OSS。Flash Player 9 は ALSA driver を要求するので OSS ではだめ。
libflashsupport.so というライブラリを介することで、OSS でも音を鳴らすことができる。しかしながら、時折 firefox を巻き込んで落ちたり、音が映像よりも少し遅れるといった問題があり。お薦めできない。
OSS を指定した上で、debug するには
FLASH_FORCE_OSS=1 FLASH_AUDIODEBUG=1 /usr/local/firefox20012/firefox
XLIB_SKIP_ARGB_VISUALS=1
!procmail
/etc/postfix/main.cf の中で procmail を呼ぶようにしている場合に、/usr/bin/procmail の s bit が外れていると、一通目のメールを受け取れない。あらかじめメールボックス /var/spool/mail/hoge を手で作っておく必要あり。
!IP masquerade
IP masquerade するときに /etc/sysctl.conf を以下のように修正しなければならないこともある。(Vine4.2 がそうだった。)
net.ipv4.ip_forward = 1
もっとベタに、
echo 1 > /proc/sys/net/ipv4/ip_forward
とすれば良いかな。その上で、[[iptablesによるNAT]]を。
!MPlayer & mplayerplug-in
MPlayer はとても便利。make 時のメモ。
一度、./configure --prefix=/usr && make した後に、GUI な mplayer を忘れていたと ./configure --prefix=/usr --enable-gui && make とすると、make の最後の方で、
undefined reference to `vo_setwindow'
みたいなことを言われて make に失敗してしまう。一度 make distclean して、configure からやり直したら良い。
mplayerplug-in を make するには firefox (mozilla) の開発環境が必要。この mplayerplug-in も便利。
!stty, tput, resize
terminal size の表示
stty size
とか
tput cols
tput lines
80x45 にセットするには
stty cols 80 rows 45
現在の xterm window size にするには
resize
Linux の話というよりは X の話。
!UUID
vol_id device_name
!gtk+-2.1x での lpr 印刷について
Firefox3 になって印刷の仕組みが変わった。従来のものから gtk+-2.1x の backend print module を使うようになった。CUPS を使っている人には問題ないと思われますが、旧来の lpr な印刷システムを使っていると印刷ダイアログにプリンタリストが表示されません。
ちょっと使いにくいので lpr な printer の list を表示する patch を作成したのでそれについて→[[libprintbackend-lpr's patch for gtk+-2.1x]]
!bogofilter の db_cachesize
bogofilter の wordlist.db の上限サイズの指定は、/etc/bogofilter.cf あるいは ~/.bogofilter.cf にて行う。
!X のマウスカーソルを変えるには
XFree86 4.3 あたりで拡張された Xcursor 機能で、カーソルを変える事ができるらしい。
[[http://www.gnome-look.org/]] の X11 Mouse themes から好きなマウスカーソルテーマをダウンロード。例えば、コントラスト強めで大きめのマウスカーソルの contrastlarge をダウンロードしたとする。これを適当なディレクトリに展開する。他のユーザもいる machine ならば、/usr/X11R6/lib/X11/icons/ とか /usr/X11R7/share/icons 辺り(システムによってディレクトリは異なる。 handhelds, whiteglass, redglass といったディレクトリが格納されているディレクトリ。)に入れておくのがいいだろう。
で、ホームディレクトリ直下に .icons フォルダを作成し、その中に contrastlarge ディレクトリのリンクを default という名前で作成する。
mkdir ~/.icons
ln -s /usr/X11R6/lib/X11/icons/contrastlarge ~/.icons/default
この他、~/.Xdefaults に
Xcursor.theme: contrastlarge
Xcursor.size: 36
のように書く方法もあり。(ただしシステムによってはうまく働かないことがある)
!Adobe Reader
古いシステムで Adobe Reader 8 や 9 を使おうとすると、Adobe Reader のメニューがちらつく事がある。これは gtk+ の version を上げれば回避できる。
新しい gtk+ を別の directory に入れて、そちらを参照するようにすれば良い。
LD_LIBRARY_PATH=/opt/gtk+-2.14/lib /opt/Adobe/Reader/bin/acroread
!Pentel Airpen mini
先日購入した Airpen mini を Linux でも使ってみようと思った。とりあえず mouse としては普通に使えた。
Linux で使っている先人がいないかググってみたら、同じ Pegasus Technologies Ltd. NoteTaker デバイスを使った MVPen の解析をしている人がいた
http://d.hatena.ne.jp/dayflower/20080903/1220407032
このサイトを参考にすれば、いろいろ便利に使えるようになりそう。
!tar
Mac OS X のデフォルトの tar は bsdtar のようで、gnutar とは違うようだ。(OS X には両方入っている。)
このため、Mac OS X で固めた tgz を Linux で展開した時にディレクトリの time stamp が保持されないという不可思議なことが起こってしまう。tar を使ってOS X とデータの同期をする場合に気を付けるべきだろう。(zip なら大丈夫)
なお tar を使った時の symbolic link のタイムスタンプの話は[[別件|http://blog.gcd.org/archives/51068476.html]]。
!zenity
gtk+ (gnome) 環境で、dialog を出すためのもの。環境変数とか使えるので、ユーザに何か伝えるのに便利。
zenity --info --title "はろー" --text "こんにちは、${USER} さん"
!jhead
Exif 情報を調べたり、便利なコマンド
jhead hoge.jpg # exif 情報をみる
jhead -v hoge.jpg # exif 情報を全てみる
jhead -de hoge.jpg # exif 情報を圧縮
jhead -ft hoge.jpg # hoge.jpg の time stamp を exif 情報の時刻に設定する
jhead -autorot -ft # 自動回転し、exif 時刻に設定する
!zphoto
先に 20% くらいに resize しておき、jhead -autorot -ft で自動回転&exif時刻に設定した後に、zphoto に食わせるのが良さそう
ls | while read f
do
echo $f
convert -resize 20% $f ~/hoge/$f
jhead -autorot -ft ~/hoge/$f
done
zphoto -o output_dir --photo-width=1200 --title 'hogehoge xxxx/xx/xx' ~/hoge/$f
!Adobe Reader 9.x での日本語フォント(ゴシック)
9.x でゴシックが明朝で表示されてしまう。
/opt/Adobe/Reader9/Resource/CIDFont/ の中に、ゴシックフォントが無いため。(Adobe は一体どういうつもりなのか分からないが)Adobe Reader8 の中に同梱されているゴシックフォントを利用すれば良い。
[[Adobe Reader for Unix|http://www.adobe.com/support/downloads/product.jsp?product=10&platform=Unix]] ←ここに 8.x, 9.x が置いてある。
8.x と 9.x を両方入れて、
cd /opt/Adobe/Reader9/Resource/
ln -s /opt/Adobe/Reader8/Resource/CIDFont/KozGoProVI-Medium.otf .
とすれば良いだろう。
!Planex GW-USNano2 で無線アクセスポイント
[[アクセスポイント設定のメモ]]
!screen
シリアルコンソールに繋ぐには
screen /dev/ttyS0 115200
のように。切断は、Ctrl-A + K
!partprobe
fdisk でパーティション作成後、再起動することなく領域テーブルをシステムに認識させるもの。これも知らなかったなぁ。
!tree
名の通り、ディレクトリの tree 構造を表してくれるコマンド。
/sys/bus/pci/devices 以下の構造とかを調べていたときに、初めて存在を知った ^-^;;
![[Software RAID]]
mdadm とか AFD なディスクの扱いなどのメモ
![[openssl で通信チェック]]
443 ポートや 25 ポートの通信を確認する方法について
!CPU の脆弱性対応
ここ↓で確認できる
/sys/devices/system/cpu/vulnerabilities