Linux Tips
Gentoo Linux Tipsはこちらを参照のこと
Debian(etch)にJDK,JREをインストール
Java5.0からは,sun-javaという名前になっているので注意apt-cache search sun-java でパッケージが見つかると思います apt-get install sun-java5-jre sun-java5-jdk
ついでに日本語の設定について.
Linuxで日本語を使うのは結構面倒ですが,結局のところ,以下2点をやればなんとかなりました.
・日本語フォント"kochi"のインストール
・/usr/local/jdk1.5.0_02/jre/lib/fontconfig.propertiesの設定
fontconfig.RedHat.8.0.properties.srcをコピーして,kochiのpathを正しく書き換えてあげる
apacheのバーチャルホストの設定
httpd.confなどに,2つ目のVirtualHostタグを追加すればOKServerName www.hoge1.com #メインのドメイン名 NameVirtualHost * <VirtualHost *> #メインのドメイン名に関する記述 #基本的にこちらはそのままでOK(先に書いたほうがデフォルトになる) ServerAdmin webmaster@hoge1.com #通知先メールアドレス DocumentRoot /home/httpd/html #デフォルトのパスが無難 ServerName www.hoge1.com #メインのドメイン名 </VirtualHost> <VirtualHost *> #2つ目のドメイン名に関する記述 #2つめのVirtualHostタグを追加 ServerAdmin webmaster@hoge2.com #通知先メールアドレス DocumentRoot /home/2nd/html #任意のパス ServerName www.hoge2.com #ドメイン名 #あとはスクリプト実行やエラーログの場所など必要に応じて追加 </VirtualHost>
サブネットマスクの書き方
サブネットマスクの書き方には2種類あります.- 255.255.255.0 (クラスC)
- 192.168.0.0/24 (クラスC)
| CIDR | サブネットの書き方 | IPアドレス個数 |
|---|---|---|
| /32 | 255.255.255.255 | 1 |
| /31 | 255.255.255.254 | 2 |
| /30 | 255.255.255.252 | 4 |
| /29 | 255.255.255.248 | 8 |
| /28 | 255.255.255.240 | 16 |
| /27 | 255.255.255.224 | 32 |
| /26 | 255.255.255.192 | 64 |
| /25 | 255.255.255.128 | 128 |
| /24 | 255.255.255.0 | 256 |
| /23 | 255.255.254.0 | 512 |
| /22 | 255.255.252.0 | 1024 |
| /21 | 255.255.248.0 | 2048 |
| /20 | 255.255.240.0 | 4096 |
| /19 | 255.255.224.0 | 8192 |
| /18 | 255.255.192.0 | 16384 |
| /17 | 255.255.128.0 | 32768 |
| /16 | 255.255.0.0 | 65536 |
| /15 | 255.254.0.0 | 131072 |
| /14 | 255.252.0.0 | 262144 |
| /13 | 255.248.0.0 | 524288 |
| /12 | 255.240.0.0 | 1048576 |
| /11 | 255.224.0.0 | 2097152 |
| /10 | 255.192.0.0 | (以下省略) |
| /9 | 255.128.0.0 | |
| /8 | 255.0.0.0 | |
| /7 | 254.0.0.0 | |
| /6 | 252.0.0.0 | |
| /5 | 248.0.0.0 | |
| /4 | 240.0.0.0 | |
| /3 | 224.0.0.0 | |
| /2 | 192.0.0.0 | |
| /1 | 128.0.0.0 |
特定IPアドレスのマシンのネットワークカードのMACアドレスを調べる
例えば,IP:192.168.0.2 が割り当てられているマシンのネットワークカードのMACアドレスを調べるには,以下のようにします.ping 192.168.0.2 #一度通信を行う arp -a 192.168.0.2 #MACアドレスを取得
XOOPSインストールTips
データベースのチェックで画面が真っ白になって止まる
・php-mysqlがインストールされてるかチェック・/etc/php.iniで
extension=mysql
があるかチェック.
コメントアウトになってたり,書いてなければ追加.
編集後apacheを再起動.
参考: http://www.somacon.com/blog/page9.php
携帯メールに転送(postfix)
.forwardに設定を書きます~/Maildir/ hogehoge@c.vodafone.ne.jp # 自分の携帯メールアドレス
携帯メールに転送(qmail)
.qmailに設定を書きます./Maildir/ &hogehoge@c.vodafone.ne.jp # 自分の携帯メールアドレス
ハードディスクの空き容量を調べる
df コマンドを使います.du コマンドを使うと,ディレクトリ毎の容量が分かります.
rootのパスワードを忘れたときに変更する
Linux起動時にboot:linux single
で起動し、
passwd
コマンドで新しいパスワードを入力すればよい
シェルスクリプトを使用する
まず、sysbackup.shというファイルを作り、tar cf /dev/nst0 /bin
tar cf /dev/nst0 /boot
tar cf /dev/nst0 /etc
tar cf /dev/nst0 /home
と記述します
そして、
$ sh sysbackup.sh とやればファイルの内容を実行できます。
ファイルの最初に次のように書くと実行プログラムを設定できます。
#!/bin/sh
さらに、次のように、ファイルに実行属性を付けると
$ chmod u+x sysbackup.sh
次のように実行できるようになります。
$ ./sysbackup.sh
標準エラー出力をリダイレクトする
「2>」がエラー出力のリダイレクトのやりかたです。 $ ./sysbackup.sh > log.txt 2> err.txt また、つぎのようにすると、すべての出力がlog.txtに記録されます。$ ./sysbackup.sh > log.txt 2>&1
あるディレクトリ以下では,指定したグループでファイルを作成させる
$ chmod g+s test ←ファイルにセット・グループIDを付加する $ ll -rwxrwsr-x 1 hoge hoge-grp 154 Nov 01 00:00 test
Helix Universal Serverの操作
起動させる
# cd /usr/local/helix # Bin/rmserver rmserver.cfg &
終了する
# cd /usr/local/helix # kill `cat Log/rmserver.pid`
ソースRPM(SRPM)をビルドする
rpm --rebuild packagename.src.rpmですが,最近のrpmコマンド(rpm4以降)では,--rebuildオプションが廃止されたため
unknown optionエラーがでて使えません.
以下のコマンドを使います.
rpmbuild --rebuild packagename.src.rpmそして,
rpm -ivh packagename.rpm
ユーザの追加
useraddコマンドを使います.-mを使うと,/etc/skel以下のファイルをコピーします.
# /usr/sbin/useradd -d /home/username -g groupname -m -s /bin/bash username
RPMのパッケージのバージョンを調べるには
$ rpm -qa | grep XFree
sshの鍵作成について
puttygenで作成した鍵(ssh2:rsa)は,なぜかそのままでは使えない.作成した公開鍵を以下のように,多少変更して,
/home/username/.ssh/authorized_keys
にコピーすればOK.
ssh-rsa AAAA....... comment※改行も取り除きましょう.
fml Tips
MLの新規作成
###fmlユーザで作業
$ sudo -s
# su - fml
$ /usr/local/fml/makefml newml test-ml
$ exit
### root権限で作業
$ sudo -s
# ln -s /var/spool/ml/etc/qmail/alias/.qmail-test-ml* /var/qmail/alias/
# emacs /var/qmail/users/assign
("+test-ml:fml:518(fmlのUID):518(fmlのGID):/var/spool/ml/etc/qmail/alias:-:test-ml:"を追加)
(/var/qmail/users/assignファイルの最後に"."がないとダメ)
# /var/qmail/bin/qmail-newu
メンバーの追加は次のファイルへ
members:投稿可能なメンバーのアドレスのリストactives:配信するメンバーのアドレスのリスト
# fml権限で作業 $ emacs /var/spool/ml/test-ml/members $ emacs /var/spool/ml/test-ml/actives
設定を変更する
###fmlユーザで作業$ sudo -s # su - fml
$ /usr/local/fml/makefml config test-ml あとは,対話形式にしたがって変更していく.
例えば,投稿権限を誰でもOKにする場合は,
1→1→2→0→0→0
MLの削除
# fmlユーザで作業 $ cd /var/spool/ml/ $ rm -rf test-ml # rootで作業 # rm /var/qmail/alias/.qmail-test-ml* # rm /var/spool/ml/etc/qmail/alias/.qmail-test-ml* # emacs /var/qmail/users/assign 削除したMLの部分を削除 # /var/qmail/bin/qmail-newu
RPMのソースからのビルド方法
.src.rpmの形で提供されるパッケージをRPMにビルドする方法.・SRPMのインストール # rpm -ihv perl-DBD-DB2-0.76-8.src.rpm ・RPMのビルド # cd /usr/src/redhat/SPECS/ # rpmbuild -bb perl-DBD-DB2.spec ・RPMのインストール # rpm -ihv perl-DBD-DB2-0.76-8.i386.rpm ※依存関係のエラーが出るときは「--nodeps」オプションを付けてみる 参考: http://www.atmarkit.co.jp/flinux/rensai/db2_03/db2_03a.html
ユーザを大量に作成(追加・登録)する
・newusers コマンドを使用すると,ユーザリストファイルからユーザをバッチ的に登録することができます.コマンド
# newusers user_listuser_listファイルの例
# username:password:uid:gid:name:home dir:shell akasata:Hogehoge:511:511:akasata:/home/akasata:/bin/bash ikisiti:mogeMoge:512:512:ikisiti:/home/ikisiti:/bin/bashしかし,これだけだと,これらの作成したユーザは,ログインが出来ないので以下をする必要があるらしい?
仮ユーザを作って,削除するだけで,なぜかログインできるようになる(謎)
パスワードファイルを更新するのかな?
# useradd test # userdel -r test
もう1つ問題がある.
useraddを使ったときのように,/etc/skel/ 以下のテンプレートファイルがコピーされないので,
手動でコピーしてやる必要がある.
さらに問題なのが,
cp -r /etc/skel/* とやっても,
.bashrcなどのドットが先頭にあるファイルがコピーされない.
そこで,perlなどで,次のコマンドをメンバー分繰り返すスクリプトを生成するとよい.
# hoge001〜hoge100までのユーザに,/etc/skel以下をコピーするスクリプトを生成するスクリプト
$bodyCount = 100; # 人数
$skel = '/etc/skel'; # テンプレートがおいてあるディレクトリ
$file "$skel/.bashrc $skel/.bash_history $skel/public_html"; # コピーするファイル
print "#!/bin/sh\n";
# 人数分くりかえす
for ($i = 1; $i <= $bodyCount; $i++) {
$newUser = "hoge" . sprintf('%03d', $i);
print "cp -r $file /home/$newUser\n";
print "chown -R $newUser /home/$newUser*\n";
print "chgrp -R hoge /home/$newUser*\n";
}
ユーザ作成時に自動的にコピーするファイルのテンプレートを指定する方法
/etc/skel 以下においておくと,useraddでユーザ追加時に自動的に ~/ にコピーされる※ただし,newusersなどのコマンドではコピーされないので手動でコピーする必要アリ
emacsの設定
Ctrl-h をバックスペースに変更する(必須)
;;;C-h を BS に変更。 (global-set-key "\C-h" 'delete-backward-char)
quotaの使い方
ユーザやグループ毎にディスクの使用量制限をかける・rpmをDLしてきてインストール
# rpm -ivh quota-???.rpm
・/etc/fstab の変更
defaultsのあとに,usrquotaをつける
/dev/hda3 /home/hoge ext3 defaults,usrquota 1 1・正しくfstabが変更出来ているか確認
# mount -o remount /home/hoge
# mount
(rw,usrquota)などとなっていればOK.
・記録するためのファイルを生成する
# quotacheck -avug.
・クォータの設定する
# edquota username
viが起動するので,それで書き換える.
前半のsoftとhardをKB単位で指定する.
・ソフトリミットを超えてからの有効期限
# edquota -t
・他のユーザ人にも同じ設定を適用する
# edquota -p username newUsername
テープのドライブを使う
tarコマンドで出来ます.・テープに書き込む
$ tar -cvf /dev/st0 filename ・テープの中身を確認
$ tar -tvf /dev/st0 ・テープから他のディスクに取り出す(コピーする)
$ tar -xpvf /dev/st0 dirName
#テープはランダムアクセスじゃないので,
mountできないかも?
viの使い方
http://claris.hp.infoseek.co.jp/vi/vi_3.html http://www.ne.jp/asahi/hishidama/home/tech/unix/vi.html
・「Shift+Z×2」セーブして終了
・「:q!」セーブしないで終了
・「jkl;」が上下左右の移動(カーソルキーでもできる)
Linuxでのパーティションの分け方
パーティションの構成(分割方法)と,ディスク容量の目安です.ディスク容量によって適当に分けてください
/boot 128MB カーネルなどの起動に必要なシステムを入れる / 2Gぐらい? システムの設定やアプリケーション swap メモリの倍 スワップ領域 /home たくさん ユーザディレクトリ /var 2Gあればいいかな? ログやその他 (/usr) (/tmp)
apacheで.htaccessを使えるようにする
指定したディレクトリのところで,以下を追加Options FollowSymLinks AllowOverride All
dhcpd(dhcpサーバ)の設定
/etc/dhcpd.conf (最初はないので自分で作成する)
option subnet-mask 255.255.255.0; # サブネットマスク
option broadcast-address 192.168.0.255; # ブロードキャストアドレス
option domain-name-servers 192.168.0.1; # DNSサーバのIPアドレス
option domain-name "hoge-local.net"; # ドメイン名
option routers 192.168.0.1; # ルータのIPアドレス
subnet 192.168.0.0 netmask 255.255.255.0 { # サブネットの範囲
range 192.168.0.128 192.168.0.192; # DHCPで割り当てるIPアドレスの範囲
}
# MACアドレスで固定IPを割り振る
host hogename {
hardware ethernet xx:xx:xx:xx:xx:xx;
fixed-address 192.168.0.3;
}
ランレベルの変更
・デフォルトランレベル/etc/inittab を編集
id:3:initdefault:
※3にするとX Windowが起動しなくテキストモードで起動する
・一時的にランレベルを変更する
telinit 5
Fedora Coreで,コンソールの日本語が文字化けする
export LANG=ja_JP.eucJPとすればOK.再起動してもよいようにするには,以下を参照.
・デフォルトの文字コードが utf-8 なので EUC-JPにしてやります.
/etc/sysconfig/i18n の以下の2行を変更.
LANG="ja_JP.eucJP" SUPPORTED="ja_JP.eucJP:ja_JP:ja"・すると man が文字化けるので,
export MANPAGER=lvを ~/.bash_profile などに追加したらよいです.
参考: http://kazuaki.homelinux.com/pukiwiki/index.php?Fedora%20%A5%E1%A5%E2
ASUS P4P800のギガビットイーサのネットワークコントローラを認識させる
・ASUSのページから,3com 3c940のLinux用ドライバ(046_Linux.zip)をダウンロード(3Com Gigabit LOM (3C940) Driver V1.00.00.0046 for Linux)
※ASUSのページで,P4P800:ドライバーで検索
・ZIPファイルを解凍し,あとはreadmeに従ってインストール
・tar -zxvf 3c2000.tar.gz
・cd 3c2000
・make load
ifconfig eth0 up
mailman(メーリングリストマネージャの設定)
インストール
・ユーザmailmanの作成 # useradd mailman ・mailmanインストールディレクトリ(rpmでインストールならば,これはやらなくていいかも) # mkdir /var/mailman # chgrp mailman /var/mailman # chmod a+rx,g+ws . /var/mailman ・httpd.confの編集(追加) ScriptAlias /mailman/ /var/mailman/cgi-bin/ Alias /pipermail/ /var/mailman/archives/public/ ・rpmをダウンロードしてインストール # rpm -ivh /usr/src/redhat/i386/mailman-2.1.1-8.i386.rpm ・パッチをあてる # patch < Mailman/mailman-2.1.1+patch.20030214 ※パッチを当てないと,件名のprefixにつく連番が使えなかったり, いろいろなエラーが出ます. ・所有者の変更 # chown mailman.mailman /var/mailman/data/aliases* ・パーミッションの変更 # chmod g+w /var/mailman/data/aliases.db ・crontabの設定 # su - mailman $ cd /var/mailman/cron $ crontab crontab.in ・Apacheの再起動 # /etc/init.d/httpd restart
設定ファイル(mm_cfg.py)の修正
DEFAULT_URL_HOST = 'hogehoge.jp' DEFAULT_EMAIL_HOST = 'hogehoge.jp' DEFAULT_SERVER_LANGUAGE = 'ja' # 件名の先頭にML名と連番を付ける DEFAULT_SUBJECT_PREFIX = "[%(_internal_name)s:%%04d] " MTA = 'Postfix' # SMTPサーバはPostfixを使用する
以下は,必須ではないが,やっておくと便利な設定
# BCCを許可 DEFAULT_REQUIRE_EXPLICIT_DESTINATION = No # ユーザ追加ポリシー 3:申し込み+承認が必要 DEFAULT_SUBSCRIBE_POLICY = 3 # reply-to をこのMLに DEFAULT_REPLY_GOES_TO_LIST = 1 # フッタは不要 DEFAULT_MSG_FOOTER = "" # to に含められる最大数 DEFAULT_MAX_NUM_RECIPIENTS = 20 # max message size(KB) DEFAULT_MAX_MESSAGE_SIZE = 2048 # 投稿が保留されたときに,送信元の人に通知するか DEFAULT_RESPOND_TO_POST_REQUESTS = No # 退会した人に通知するか DEFAULT_SEND_GOODBYE_MSG = No # 入会した人に通知するか DEFAULT_SEND_WELCOME_MSG = No # ML書庫を公開にするか 0:公開, 1:会員限定 DEFAULT_ARCHIVE_PRIVATE = 1
- Postfixの設定ファイル(/etc/postfix/main.cf)の書き換え alias_maps = hash:/etc/postfix/aliases, hash:/usr/local/mailman/data/aliases
- aliasの更新? /var/mailman/bin/genaliases
- Postfixの再起動 /etc/init.d/postfix restart
- パスワード設定 /var/mailman/bin/mmsitepass
コマンドメモ
・メーリングリストを削除する方法 #Webから削除ができないのでメモしておきます /var/mailman/bin/rmlist -a リスト名 ・メーリングリストのメンバー一覧を表示 /var/mailman/bin/list_members -f ML名 ・エラーでshuntにたまったメールを処理する shuntしてしまうメール(qfiles/shunt/* と lists/ML名/digest.mbx)をリネームor削除してから /var/mailman/bin/unshunt
参考サイト:
<Postfix関連> ・http://acorn.zive.net/~oyaji/mail2/postfix.htm <mailman関連> ・http://ito-web.dip.jp/server_conf/mailman2_1_1+postfix.html Mailman-2.1.1のインストールPostfix編 ・http://mm.tkikuchi.net/ Mailman, Japanese Home Page ・http://www.fkimura.com/mailman0.html Mailman を動かすためのメモ<その後の設定>
・BCCで送ると承認が必要になるのを直す.
プライバシーオプションの受信者フィルターに
投稿にはリスト名があて先(to, cc) に含まれて
いなければならないでしょうか?
というのがあります。「いいえ」にしてみてください。
http://mm.tkikuchi.net/pipermail/mmjp-users/2003-September/000480.html
メール関連
・APOP使うなら/usr/sbin/popauth -user username
LANの認識:# modprobe 8139too
NIC:SMC1211TX(8139too)NIC:3c940(sk98lin,tg3,bcm5700,3c2000)
CtrlとCapsを入れ替える
VineかRedhatなら,keyboardcfgそれ以外なら,
/etc/sysconfig/keyboard
で
KEYTABLE=jp106_Ctrl_CAPS
に変更する
#ただし,無い場合は
/usr/lib/kbd/keytables/jp106.map.gz を
/usr/lib/kbd/keytables/jp106_ctrl_caps.map.gz にコピーし,
keycode 29 = Control
keycode 58 = Caps_Lock
を逆にする. そして, /etc/sysconfig/keyboard を以下のように書き換 える.
KEYTABLE="/usr/lib/kbd/keytables/jp106_ctrl_caps.map"
RedHat 5.2 では上記のファイルは /usr/lib/kbd/keymaps/i386/qwerty/以下
変更後 loadkeys usxを行う.
※Xの場合は,XF86Setup の Keyboard section でも行える.
スクロールマウスを使う
XF86Config の編集# cp /etc/X11/XF86Config /etc/X11/XF86Config.working
# emacs /etc/X11/XF86Config
Section "InputDevice"
# Identifier and driver
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "IMPS/2" #ここと
Option "ZAxisMapping" "4 5" #ここを変更
emacsのCtrl-hでバックスペース
;;; C-h を BS に変更。(global-set-key "\C-h" 'delete-backward-char)
自動実行に関して
参考- http://www.net-newbie.com/linux/user/envfiles.html
- http://www.kiyoproject.com/docs/linux/memo.txt
- http://vodka.ed.shizuoka.ac.jp/~okazaki/linux/initSCRIPT.html
サービスのランレベル変更:/sbin/chkconfig --level 35 service_name on
サービスを調べる:/sbin/chkconfig --list
/etc/inittab # 起動時に一番最初に実行される
/etc/rc.d/??? # 起動時に実行(※ファイル名の数字が優先度)
/etc/rc.d/rc.local 起動時の最後のほうに実行される
/etc/profile # bash起動時に起動(システム共通)
/etc/.bashrc # シェルを起動するたびに起動される(aliasなどを記述)
/etc/.xinitrc # Xアプリケーションの自動起動スクリプト
/etc/crontab # 定期的に実行される
/etc/cron.daily # 毎日実行される(※crontabに書いてあれば)
X Window起動時にプログラムを自動起動させる
xinitrcを.xinitrcという名前でホームディレクトリにコピーします。$ cp /usr/X11R6/lib/X11/xinit/xinitrc ~/.xinitrc そして、コピーしたファイルを開いて、最後の行に、
次のように起動したいプログラム名を記述します。
exec kterm
ktermの起動時のサイズを変更
~/.Xdefaults に、以下を追加KTerm*VT100*geometry: 90x45
ユーザをグループに追加する
/usr/sbin/groupadd groupnameコマンドでグループを作成します。/usr/bin/gpasswd -a loginname groupnameコマンド
# あるいは usermod -g gropuname username
webminのインストール
webminはWebブラウザで各種セッティングができてとても便利です.・ http://www.webmin.com/ から rpm をダウンロード ・cd /usr/src/redhat/RPMS/noarch
・rpm -ivh webmin-1.110-1.noarch.rpm
・インストールが終わったら,localhost:10000 にアクセスすればOK
・Webminで,Webminのアクセス制限を設定しておきましょう(セキュリティのため).
#IPアドレス指定で,localhostだけからしかアクセスできないようにする.
#インターネットを通してできるようにする場合は,SSLの設定にしておきましょう.
webminにログインできない(パスワードが違うと言われる)
Vine Linux 2.6r3で,Webminを入れた直後に,ログインができない問題.次のようにすればOK.
# /usr/libexec/webmin/changepass.pl /etc/webmin root パスワード
aptのインストール
aptをいれると,apt-getでインストールやアップデートができるので便利です.・ http://apt.freshrpms.net/ から rpm をダウンロード ・cd /usr/src/redhat/RPMS/i386
・rpm -ivh apt-0.5.15cnc3-0.1.fr.i386.rpm
・設定書き換え
/etc/apt/sources.list → 使用しているディストリビューションを指定(コメントアウトをはずす)
/etc/apt/apt.conf → そのままでもいいかも
・早速アップデート
apt-get update // パッケージ情報を更新する apt-get check // 依存関係を調べる apt-get install w3m // w3mをインストールする apt-get upgrade // パッケージを更新する apt-get dist-upgrade // ディストリビューションの更新参考サイト:
http://www.nurs.or.jp/~sugi/redhat-apt.htm
その他
・suできるユーザを限定するためにwheelユーザを登録する
作成日: 2008年07月22日22時28日33秒
![[トップページ]](../lib/img//top.gif)
![[一覧]](../lib/img//list.gif)
![[検索]](../lib/img//search.gif)
![[ヘルプ]](../lib/img//help.gif)
![[ログイン]](../lib/img//login.gif)