LANDISK HACKING DIARY | ||
Since2005/8/17 | ||
TOPへ戻る | ||
INDEX | ||||||||||||
1. ユーザの追加/削除 | ||||||||||||
|
パスワード変更のpasswd だけはFedora Core と同じである。
deluser でホームディレクトリごと消すには、--remove-home オプションをつける。
|
|||||||||||
2. 環境変数・シェル変数の定義/削除 | ||||||||||||
いつも設定の仕方や見方を忘れてしまうなんちゃってユーザなのでメモっておくことにした。まず、つい忘れがちなのが環境変数とシェル変数は違うんだよね、ってこと。シェル変数とは、動作中のシェル内でのみ有効な変数に対して、環境変数はシェルとシェル上で実行されるアプリケーションでも有効になります。 ■環境変数を表示する
■環境変数を設定する
■シェル変数を設定する
■シェル変数を確認する
■シェル変数を削除する
|
||||||||||||
3. コンソールの高解像度表示 | ||||||||||||
ブート時にカーネルパラメータを編集して、vga=775 などとやれば高解像度のコンソールが表示されます。毎回やるのは面倒なので/boot/grub/grub.conf を探したが見つからない!?調べてみたところ、debian の場合は、/boot/grub/menu.lst を編集するようだ。以下のような行があるのでvga=775(1280X1024)と付け加えておく。因みに、1024x864 はvga=773。
menu.lst を作成する場合は、update-grub で自動的に作成される
|
||||||||||||
4. dlocate | ||||||||||||
インストール済みのパッケージファイルやコマンドがどこにあるかを検索してくれるコマンド。
パッケージをインストールしてすぐにデータベースに反映させたい場合は以下のようにする。locate と updatedbの関係みたいなもんか。dlocate の先頭のd はdebian!?
|
||||||||||||
5. pager | ||||||||||||
more や less コマンドのようにテキスト・ファイルの内容をページ単位で閲覧することができる。
|
||||||||||||
6. updatedb.conf で除外ディレィトリの指定 | ||||||||||||
updatedb で、データーベースの更新対象から外したいディレクトリがある場合は、updatedb.conf で以下のように設定する。
|
||||||||||||
7. debconf って? | ||||||||||||
debian を触り始めて10日目、ようやくdebconf の役割がわかってきました。apt-get でなにかをインストールするたびに、質問を聞かれて「手動でやるからほっといてくれよ」ってずっと思っていたのですが、まさにこのうざい質問をしてくる役割を果たしているのが、debconf というわけです。パッケージの設定を行なってくれるのです。
上記のコマンドを実行すると、質問がある場合は質問してきます。後からこの設定を変更するには、dpkg-reconfigure を使います。けれども、dpkg-reconfigure だけでは全ての設定を行えないときがある。これは、debconf にプライオリティレベルというのがあり、そのレベルによっては設定できないものあるからです。このレベルは、debconf をインストール時にどのレベルにするかを設定するかを聞かれるはずです。もし、後からこのレベルを変更したい場合には、dpkg-reconfigure debconf とします。なお、このプライオリティレベルには、critical、high、medium、low の4種類があります。
一時的に、プライオリティレベルを low に下げたい場合は、以下のようにします。
|
||||||||||||
8. 予約ブロックの変更 | ||||||||||||
debian インストール時に各パーティションにどの程度の予約ブロックを割り当てるかを指定する項目があった。この予約ブロックはデフォルトでは5%になっているが、大容量のHDDになるにつれ、あまりに大きすぎる容量を削られてしまうことになる(500GBのHDDならば25GBも!)。これがもったいないと感じる場合、予約ブロックを変更すればよい。但し、予約ブロックの容量はディスク管理領域として使用されているため、アクセスのパフォーマンスが低下する可能性もあるということだ。予約ブロックの変更は以下の通りである。
|
||||||||||||
9. 仮想コンソールの数を減らす | ||||||||||||
仮想コンソールの数を減らして、メモリ使用量を抑える。2行目以降をコメントアウトする。デフォルトでは6つの仮想コンソールが使えるようになっている。
|
||||||||||||
10. パソコンの電源を自動切断する | ||||||||||||
Red Hat や Fedora Core では、shutdown -h now とやればパソコンの電源もきっちり切ってくれましたが、debian の場合は、最後は手動で電源スイッチを押さなければなりません。正確には、debian に apmd がインストールされていない場合は、自動で電源を切ってくれません。これは、debian に限らず、他のデイストロでも同じです。なので、apmd をインストールすれば全て解決します。
|
||||||||||||
11. rm -rf /tmp/.* の意味 | ||||||||||||
たまたま、2ch で読んでいたのですが、rm -rf /tmp/.* って恐ろしいコマンドだということに気がつきました。一見すれば、/tmp 以下の ドットファイルを全て消すという命令に見えますが、「.*」は「..」にもマッチしてしまうため、結果的に「/tmp/.」と「/tmp/..」という意味になります。「/tmp/.*」は、/ (ルートファイルシステム)も指すため、システムごと消去するコマンドになります。恐ろしい…。但し、最近のディストリビューションではこのコマンド自体が受け付けないようになっているみたいなので、古いマシンを扱う時には要注意ですね。
で、ドットファイルを全て消すには、以下のようにドットで始まるファイル名を指定すればよいでしょう(あ、あくまで自己責任で…笑)
通常は、以下のように表示されるので間違って削除されることはない。
|
||||||||||||
12. ~/.bash_history の保存履歴数 | ||||||||||||
debian を使っていて.bash_history の保存履歴数が妙に少なく感じたので見てみたところ、500 に設定されていました。Fedora Core はデフォルト1000です。
HISTSIZEを変更するには以下のようにする。
|
||||||||||||
13. bash の設定ファイル | ||||||||||||
bash の設定ファイルにはいくつかあるが、それには読み込まれる順番がある。.bashrcは、プロセスとしてbashを起動したときに読み込まれるので、いったんログインした後でも「bash」と打てば再度読み込まれる。 ・ /etc/profile ・ ~/.bash_profile ・ ~/.bash_login ・ ~/.profile ・ ~/.bashrc ・ ~/.bash_logout |
||||||||||||
14. syslogで「--MARK--」を出力しないようにする | ||||||||||||
RH や FC に慣れた方は、Syslog を見る際に、tail /var/log/message とする癖がついているだろう。だが、debian に切り替えて同様のコマンドを打った場合、「--MARK--」ばっかりがずらりと表示され、なんだこりゃ、と思った方も多いはず。詳しいことは自分で調べてもらいたいのだが、これはSyslog を集中管理する際に役に立つのだそう。だが、そのような環境にはない筆者の自宅では、この「--MARK--」メッセージは逆にログを見難くしているだけである。そこで、この「--MARK--」を吐かないようにするには、起動オプションで -m 0を指定する。デフォルトでは、-m 20 となっており、20分おきにタイムスタンプを記録するようになっている。なお、Fedora 標準のsyslog はデフォルトで -m 0 オプションをつけて起動している。
|
||||||||||||
15. woody, sarge, etch, sid とは? | ||||||||||||
開発コードネームのことです。debian を始めて一番戸惑うのはここでしょう。woody, sarge, etch, sid など、いろいろな名前がでてきます。これらの意味をきちんと理解しておくとdebian への理解もより一層早く深まるでしょう。コードネームはメジャーリリースがあるたびに繰り下がっていき、 testing が次期 stable となります。現在(2005/9/3時点)、etch は testing ですが、メジャーリリースがあれば、stable に繰り下がります。けれども、sid は永遠に sid (unstable) のままとなります。 現在の debian リリースを見るにはこちらへ。現在の安定版は、2005年6月6日にリリースされた sarge(バージョン 3.1r0 )になる。
|
||||||||||||
16. vi へのコピペ | ||||||||||||
vi に設定ファイルをそのままコピー&ペーストで貼り付けようとするとTABひとつ分ずれて貼り付けられてしまうことがある。Fedora Core ではそんなことはなかったのだが、debian だとそうなってしまう。これを解決するには、vimrc の設定を変更すれば良い。
|
||||||||||||
17. ls 時の ディレクトリ表示 | ||||||||||||
ls した際に、「 usr/ 」のようにディレクトリとわかるように表示するには、.inputrc もしくは、/etc/inputrc に以下の記述を加えればいい。.bashrc でも構わない。
|
||||||||||||
18. 日本語マニュアルを使う | ||||||||||||
これでOK!(かな?) jless とか必要かも。
|
||||||||||||
19. 一般ユーザにログの閲覧許可を与える | ||||||||||||
syslog は、/var/log に格納され、adm というグループによって所有されている。なので、一般ユーザも adm グループに加えてあげればわざわざ sudo taiil /var・・・などとやらなくてもログを閲覧できる。
|
||||||||||||
20. DNSキャッシュのクリア | ||||||||||||
内向けBINDでサブドメインを追加したり、削除したりしてるうちにどうしても残ってしまうDNSキャッシュ。存在しないホスト名がログに現れたり精神衛生上あまりよくないし、トラブルの元にもなりかねないので削除することに。Windows マシンもMS-DOSからクリアできる。 ◎Windows
◎Linux(Bind 9)
|
||||||||||||
21. bash: fork: Resource temporarily unavailable | ||||||||||||
以下のようなエラーメッセージがでてなかなかログインすることができなかったり、コマンド操作も思うように実行できなかったりすることがある。これはシステムのメモリ消費量が少なくなっていることが原因か、あるいは、管理者によって使用できる接続数、メモリ量、CPU負荷、時間に制限を設けられている可能性があります。上記のメッセージがでたら管理者に相談してみよう。こんなのLANDISK使ってないと遭遇しないようなエラーなんだろうなぁ~(笑)。 |
||||||||||||
22. /etc/default/* | ||||||||||||
デーモンの起動オプションを設定するために、Red Hat系なんかだと、/etc/sysconfig/ 以下にそれぞれのデーモンに分けてファイルが置かれている。debian には /etc/sysconfig はない。debian にはそんなものは存在しないのだ、と決め付けていた。だが、debian を始めてもう20日以上経ち、ようやくわかったのだ。/etc/default 以下に置かれているファイルが/etc/sysconfig に相当するディレクトリなんだと。なんで、ntpdate を設定したときに気づかなかったんだろう。 |
||||||||||||
23. last message repeated 2 times | ||||||||||||
syslog を見ると last message repeated 2 times というようなログがたくさん残っています。無視していましたが、あまりに多いので気になって調べてみると、「直前の行のログを2回出力した」という意味を表すらしい。これは、同じ行を何行も続けて吐きつづけるとログが見難くなるし、容量も無駄に大きくなる。その配慮から、同じログの出力は 「何回出力しましたよ~」というメッセージで伝えている。 |
||||||||||||
24. IDE CD-ROMマウント方法 | ||||||||||||
まさか、CD-ROMのマウント方法を書いている自分がいるとは思わなかった。いくらFedora と違うからって1時間も調べるハメになろうとは。普通は以下のコマンドでいけるはずなんですよ。ところがそんなデバイスはないと怒られまくる。
/etc/fstab を見ると以下のようになっている。ん~特に問題ないんだよな。じゃぁ、どこが問題なのか。いろいろ原因のありそうなところを調べてみる。全然だめ。
最後に、/dev/scd0 をマウントしてみた。成功 (゚∀゚)!疲れた。よく見ると、syslog に scd0 と書かれているんだよね
そして、/dev/cdrom にリンクさせておく。よしよし。
|
||||||||||||
25. Listenしている udp を調べる | ||||||||||||
Listen している UDPを調べるには、netstat に -u オプションをつける。筆者はいつも、netstat は 「netstat -an」で1セットだと思っていつもコマンドを打っていたが、よく考えたらこのオプションで表示されるのはTCP ポートのみ。syslog の514 は?DNSの 53 は?NTPの 123 は? と今まで疑問に思わなかった筆者は鈍いのだろう。
|
||||||||||||
26. updatedb を1日1回実行する | ||||||||||||
updatedb が1日1回実行するようになっていなかったので以下のスクリプトを追加する。reniceコマンドは実行中のプロセスの優先度を変更する。マイナスの値を指定できるのは root ユーザのみで -20(優先度高)~+19(優先度低)の値を指定できる。一般ユーザは、0~19までの値しか指定することができない。(参考:優先順位を上げてプログラムを実行する)
|
||||||||||||
27. tail のデフォルトの出力行数を変更する | ||||||||||||
tail コマンドはデフォルトでは10行しか画面に出力されませんが、一回のコマンド操作で10行以上のログを吐くデーモンも珍しくはありません。全てのログを見たい場合は、tail にいちいち -n のオプションをつけるのは面倒なので、デフォルトの行数を変更したい。その場合は、.bashrc かなんかに以下のラインを加えておく。
|
||||||||||||
28. ext2 をext3 ファイルシステムへ変換する | ||||||||||||
ext2 を ext3 に変換するには、tune2fs コマンドを使用する。まず、現在のファイルシステムタイプを確認する。
ext2 からext3へ変換する。-j オプションはジャーナリングの意味。
ext3 から ext2 へ戻すには、以下のようにする。fsck を実行する際には自己責任で。
|
||||||||||||
29. カーネルパニック時に自動再起動 | ||||||||||||
カーネルパニックが起きた場合、システムはコンソールにその旨を表示したまま、稼動を停止します。Windowsでいうブルースクリーン画面のようなものです。めったになるものではありませんが、誤った設定をしたりすればカーネルパニックを起こします。この場合、本来ならば管理者がそのマシンの前に来て、強制再起動させなければなりませんが、これを指定秒数後に再起動させます。/proc/sys/kernel/panic を編集します。デフォルトでは、「0」がセットされており、これはパニック時に再起動しないことを意味している。10 と指定した場合は、10秒後に再起動をかけます。
⇒The Linux BootPrompt-HowTo |
||||||||||||
30. rm コマンドでゴミ箱に移動するようにする | ||||||||||||
操作ミスとは怖いものである。rm -rf / とやった瞬間に今までの努力が水の泡となるのだから。筆者は普段から、root で、-rf オプションをつけてしまう癖があるので一歩間違えると大惨事になる。それでも、操作ミスといったものはほとんどなくやリ過ごしてきたのだが、つい最近、連続して、/etc と /home を消してしまいかなり青ざめた。/etc と /home を消したかったわけじゃない。etc/ と home/ を消したかったのだ。スラッシュを置く位置を前に置くのと後ろに置くのとでは雲泥の差だ。幸い/etc のバックアップはとってあったのですぐに復旧することができたが、/home はメールぐらいしかバックアップをとっていなかったので初めらから作り直すことになった。こういうった操作ミスを防ぐには、普段は rm コマンドを使わずにカスタムシェルスクリプトでファイルを削除し、最後に rm で消すようにするとか、あるいは、rm コマンドでゴミ箱に移動するようにするようにするという工夫が必要になるだろう。ここでは後者の方法を試してみることにした。 筆者が初めて作ったと言ってもいいぐらいのスクリプトなので構文ミスがあるかもしれない(笑)。いや、識者からすればふざけるなぐらいのスクリプトだが勘弁してほしい。まぁ、実現はできているからヨシとしよう。簡単に説明してみます。まず、筆者は長年の癖で rm に -rf オプションはセットと考えてしまっているところがあって、いまさら、rm .bashrc などで完全削除するのは違和感がありまくりなので、-rf オプションをつけたときに限って、ホームディレクトリにある .Trash ディレクトリにファイルを移動(保存)するようにしてある。さらには、.Trash/ 以下に今日の日付となるディレクトリを作成し、その中に移動するというものだ。こうすることで、特定のファイルが何月何日に削除されたものかをすぐに判別できるようになる。-rf オプションをつけない場合は、.Trash ディレクトリには移動させずにそのまま削除する。
そして、.bashrc に以下のようにエイリアスを作成しておきます。
cron に登録し、毎日2時に削除するようにする。-mtime +3 で3日以上経過している(修正されていない)ファイルを削除するという意味。最後の、-exec rm で検索された結果、ファイルを削除する。因みに、-3 とやれば3日以内のファイルが削除される。
なお、削除したファイルが残っているだけでも気持ち悪いという神経質な方は、ログアウト時に自動的に削除するように、.bash_logout にでも rm -rf ~/.Trash/* と書いておけばよいでしょう。 |
||||||||||||
31. パスワードを打ち間違えた場合は? | ||||||||||||
bash でいつも Ctrl + U を多用していたのでなんでこんなこと知らなかったんだろう。Ctrl + U とは、カーソルのある位置から前にある文字を全て消去するコマンドです。これがどうやらパスワードの場合も通用するようで、途中で打ち間違えても、Ctrl +C をしたり、途中で ENTER を押したりする必要はないのです。Ctrl + U で打ち間違えたパスワードも一発消去です! |
||||||||||||
32. alias でない真のコマンドで実行する | ||||||||||||
皆さんはきっと ls コマンドは alias ls='ls -lF'などとしてエイリアスを設定していると思いますが、時には、ls -lF が実行したいのではなく、真のコマンドであるオプションなしの ls を実行したいときも少なくありません。そのような場合、先頭に command コマンドを入力した後で、ls を実行すれば通常の ls コマンドが実行されます。
|
||||||||||||
33. wget を port モードで使う | ||||||||||||
ルータによっては、PASSIVE FTPに対応していない場合もあります(筆者のルータがまさにそうです)。その場合は、/etc/wgetrc を編集して、PORT モードでダウンロードするようにしましょう。
|
||||||||||||
34. ログイン時の Last Login:~ を非表示にする | ||||||||||||
ログイン時に表示される、前回にログインした日時を非表示にするにはホームディレクトリに .hushlogin という空ファイルを作成しておくだけでよい。
|
||||||||||||
35. ipv6 をオフにする | ||||||||||||
ipv6 が機能しないようにするには、以下のように編集する。/etc/modprobe.d/aliases を開いて、デフォルトでは、alias net-pf-10 ipv6 となっているところを off に書き換える。
|
||||||||||||
36. テキストファイルの文字コードを調べる | ||||||||||||
テキストファイルの文字コードを調べるには、kcc というパッケージをインストールする。
|
||||||||||||
TOPへ戻る | ||
Copyright © KORO All Rights Reserved. |