Linux Tips
UbuntuでWindow Makerを使う
シェルスクリプトでのpause処理
sudoコマンドを使う
Ubuntuでeth0通信エラー対応
多機能ファイル転送ソフトgFTPを使う
GUI上で実行できるgvimを使う
Xfce4を使う
GNOMEデスクトップ環境をインストールする
SLAXをUSBメモリから起動する
開発ツールをインストールする
chkconfigでサービスを管理する
ntsysvでサービスを管理する
CentOSネットワーク管理ツール
Setup Agentをコマンドラインから実行する
Linuxのバージョンを表示する
CentOS 3.9でWiresharkを使う
CentOS 3.9 GPG keysエラー対応
CentOS 5.4でKSnapshotを使う
エミュレータQEMUのインストール
yumでのシステムアップデート
mkbootdiskで起動ディスクを作る
nano-editorのインストール
サービス管理プログラム
Wiresharkのインストール
PATHの確認と設定
複数IPアドレスの割り付け
共有ライブラリ検索ディレクトリの登録
bad interpreterエラー対応
GUIとCUIの切替方法
シェルスクリプト
Ubuntuで日本語manをインストールする
Ubuntu 11.04 NattyにWindow Makerをインストールします。
/ - Window Maker
http://windowmaker.org/
Window Makerのインストール
Window Makerパッケージをインストールします。
$ sudo apt-get install wmaker wmaker-data
メニュー表示をUbuntuと同じようにします。
$ sudo apt-get install menu menu-l10n
ログイン画面の設定
Gnomeでログイン画面の設定を行います。
・システム → システム管理 → ログイン画面 をクリックします。
・ログイン画面の設定の設定 画面で ロック解除ボタン をクリックします。
・パスワードを入力します。
・ログイン選択画面を表示するにチェックを入れます。
・「Ubuntuをデフォルトセッションにする」はそのままにしておきます。
・閉じるボタンをクリックします。
ログイン画面からのログイン
ログイン時にWindow Makerを選択します。
・ユーザ名を入力します。
・パスワード入力画面で、パスワードを入力します。
・さらに、セッション選択で Window maker を選択します。
・最後に、ログインボタンをクリックします。
シェルスクリプトで実行を一時停止させたい場合の記述例です。
echo -n "Pause OK?" && read OK
Pause OK?と表示して実行を停止します。何らかの文字をキーインすれと実行を再開します。
sudoコマンドを使用できるようにします。
sudoコマンドを使用できるようにするには、visudoコマンドで/etc/sudoersファイルにユーザ名を登録します。visudoはviと同じ操作で編集できます。
# visudo
/etc/sudoersファイルの最後にsudoコマンド設定行を追加します。
<設定例>
<ユーザ名>にすべてのroot権限を与えます。
<ユーザ名> ALL=(ALL) ALL
sudoコマンド実行時のパスワード要求を抑制します。
<ユーザ名> ALL=NOPASSWD: ALL
Ubuntu 9.10で、
/etc/init.d/networking restart
の実行時に、「eth0: ERROR while getting interface flags: No such device」と表示されるエラーが発生することがあります。
eth0のMACアドレスが変更されたときに発生するようです。
<対策>
$ sudo nano /etc/udev/rules.d/70-persistent-net.rules
で、SUBSYSTEM==”net”から始まる行をすべてコメントアウトします。
/etc/udev/rules.d/70-persistent-net.rules を編集後、再起動します。
多機能ファイル転送ソフトgFTPをCentOS 5.6にインストールして使用します。
gFTPのインストール
gFTPをインストールします。
# yum install gftp
gFTPの起動
GNOME端末からgFTPを起動します。
# gftp
GNOMEデスクトップからgFTPを起動します。
[アプリケーション] → [インターネット] → [gFTP] をクリックします。
GUI上で実行できるgvimをCentOSで使えるようにします。gvimではメニューやツールバーのアイコンでviの機能を使用できます。また、viコマンドをキーボードから入力することもできます。
インストール
gvimをインストールします。
# yum install vim-X11
起動
GNOMEのメニューから起動します。
[アプリケーション]メニュー → [アクセサリ] → [Vi iMproved] をクリックします。
GNOME端末からも起動できます。
# gvim
軽量なデスクトップ環境 Xfce4 をCentOS 5.6にインストールします。
Xfce4のインストール
# yum -y groupinstall "X Window System"
# yum groupinstall XFCE-4.4
Xfce4の起動
Xfce4でX Window Systemを起動します。
▼ランレベル3の場合
# startxfce4
▼ランレベル5の場合
ログイン画面で[セッション]をクリックして、[セッションの選択]ダイアログボックスで[XFce4]を選択します。
Xfce
http://www.xfce.org/
CentOS 5.6にGNOMEデスクトップ環境をインストールします。
デスクトップ環境のインストール
yum のグループインストールでデスクトップ環境に必要なものをまとめてインストールします。
# yum -y groupinstall "X Window System"
# yum -y groupinstall "GNOME Desktop Environment"
デスクトップの起動
デスクトップ環境を起動します。
# startx
デスクトップ起動設定
OS起動時にデスクトップも起動させるようにrunlevelを変更します。
/etc/inittabを修正してrunlevelを変更します。
# nano /etc/inittab
id:3:initdefault:
を
id:5:initdefault:
に変更します。
SLAXをUSBメモリにインストールし、USBメモリから起動できるようにします。
SLAXのダウンロード
SLAXをダウンロードします。
ダウンロードサイト
http://hatochan.dyndns.org/slax-ja/index.php?slax-ja%2Fdownload slax-ja-6.1.2-2.iso [ch0]
SLAX用USBメモリの作成
isoファイルのマウント
ダウンロードした slax-ja-6.1.2-2.iso ファイルをVirtualCloneDriveにマウントします。
slaxとbootの2つのフォルダがあります。
フォルダのコピー
slaxフォルダとbootフォルダをFAT32でフォーマットしたUSBメモリにコピーします。
bootinst.batの実行
USBメモリbootフォルダ内の bootinst.bat をダブルクリックして起動できるようにします。
(Windows 7の場合、Administratorでログインして操作する必要があります。)
SLAXの実行
SLAX用USBメモリをセットし、PCを再起動します。
ソースコードをコンパイルしてビルドするために必要な開発ツールインストールします。
yumでインストールする
yumで[Development Tools]グループをインストールすると、必要な開発ツールをまとめてインストールできます。
# yum groupinstall -y "Development Tools"
apt-getでインストールする
開発用ツール(ライブラリ、コンパイラ、ヘッダファイル) をインストールします。
# apt-get install build-essential
# apt-get install linux-headers-`uname -r`
`uname -r`はカーネルバージョンを表示します。
GUI環境でインストールする
FedoraやCentOSのGUI環境で開発ツールをインストールします。
・「アプリケーション」→「Add/Remove Software」をクリックします。
・「パッケージマネージャ」で「開発」→「開発ツール」を選択します。
・「適用」ボタンをクリックし、メッセージに従ってインストール作業を行います。
システム起動時にサービスが実行されるかどうかの確認を行います。
# chkconfig --list
サービス開始の設定ができます。
サービスを開始します。
# chkconfig [サービス] on
サービスを開始させません。
# chkconfig [サービス] off
サービス管理ツールntsysvでサービスの開始、停止を設定できます。
ntsysvを使用するとテキストベースの設定画面で操作が行えます。
# ntsysv
サービス一覧が表示されます。
サービス名の左にチェックボックスがあります。
チェックされているサービスは[開始]設定です。
チェックされていないサービスは[停止]設定です。
[スペース]でチェックを入れたり、外したりして設定します。
CentOSにはテキストベースで操作できるネットワーク管理ツールが用意されています。このツールを使用し、IPアドレスの設定やファイアウォールの設定を行うことができます。
IPアドレスの設定
# system-config-network-tui
[Edit Devices] で、DHCP 使用の有無、固定IPアドレスの設定ができます。
[Edit DNS configuration]で、DNSの設定ができます。
[Save&Quit] で、変更内容を保存します。
ネットワークを再起動します。
# service network restart
ファイアウォールの設定
# system-config-securitylevel-tui
[Customize] → [Allow incoming] で、"SSH"、"Telnet"、"FTP"、"WWW(HTTP)"、"Samba"、"Mail(SMTP)"、"Secure WWW(HTTPS)"、"NFS4" が選択可能です。
開放したいポートに対応するプロトコルを選択します。
プロトコルとして表示されていないポートを開放する場合は、[Other ports] にポート番号とプロトコル(tcp または udp)を設定します。"PortNumber:Protocol" の書式で設定します。
(設定例)
TCPポート 5060の場合:
5060:tcp
TCPポート 5000とUDPポート 5001の場合:
5000:tcp 5001:udp
(スペースで区切って指定)
設定完了後、[OK] を押すで初期画面に戻ります。
初期画面で [OK] を押すと設定内容が保存され、新しい設定が直ちに適用されます。
CentOSインストール時に実行される初期設定ウィザード Setup Agent は、コマンドラインから実行することができます。
●Authentication
# /usr/sbin/authconfig-tui
●Firewall Configuration
# /usr/bin/system-config-securitylevel-tui
●Network Configuration
# /usr/sbin/system-config-network-tui
(注)
初回起動時に実行される Setup Agent は、インストーラでパッケージを選択するときに、起動しないように設定することもできます。
インストールパッケージ→「ベースシステム」→「ベース」→「オプションパッケージ」で「firstboot-tui」のチェックを外します。
Linuxのバージョンを表示します。
●RedHat系(CentOS)
# cat /etc/redhat-release
CentOS release 5.5 (Final)
●Debian系(Ubuntu)
# cat /etc/debian_version
●Fedora Core
# cat /etc/redhat-release
●Vine Linux
# cat /etc/vine-release
CentOS 3.9にyumコマンドを利用してWiresharkをインストールします。
インストール
Wiresharkをインストールします。
# yum install wireshark-gnome
起動
Wiresharkを起動します。
「メイン・メニュー」→「インターネット」→「他のインターネットアプリケーション」→「Wireshark Network Analyzer」をクリックします。
yumでRPM更新時に以下のようなエラーが発生しました。
Error: You may also check that you have the correct GPG keys installed ...
GPGキーをインストールすることで解決します。
<GPGキーインストールコマンド>
# rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-3
CentOS 5.4でKDE用の画面キャプチャソフトKSnapshotを使用します。
インストール
CentOS 5.4 にKSnapshotのインストールします。
# yum install kdegraphics
KDE日本語環境をインストールします。
# yum install kde-i18n-Japanese
パネルへの登録
パネルにKSnapshotを登録します。
・ パネルを右クリックします。
・ 「パネルへ追加」→「カスタム・アプリケーションのランチャ」を選択します。
・ 「追加」ボタンをクリックし「ランチャの作成ウィンドウ」を表示させます。
・ 次のように設定し、「OK」ボタンをクリックします。
タイプ: アプリケーション
名前: KSnapshot
コマンド: /usr/bin/ksnapshot
QEMUをインストールします。
Debian Ubuntuへのインストール
$ sudo apt-get install qemu
CentOS Fedoraへのインストール
# yum -y install qemu
システムを最新にアップデートします。
自動アップデートサービスを停止させます。
自動アップデートがバックグラウンドで動作していると、アップデートコマンドを実行できないためです。
# /etc/init.d/yum-updatesd stop
アップデートします。
# yum -y update
mkbootdiskコマンドを使用して起動ディスクを作成します。
インストール
# apt-get update
# apt-get install mkbootdisk
起動ディスク作成手順
フロッピーディスクをフォーマットします。
# fdformat /dev/fd0
unameコマンドでカーネルバージョンを調べます。
# uname -r
2.4.27-0vl7
mkbootdiskコマンドで起動ディスクを作成します。
# mkbootdisk --device /dev/fd0 2.4.27-0vl7
nano-editorをダウンロードします。
http://www.nano-editor.org/
コンパイルとインストール
# tar -zxvf nano-x.x.x.tar.gz
# cd nano-x.x.x/
# ./configure
# make
# make install
設定の表示
# chkconfig --list [<service>]
<service>を省略するとすべての設定を表示します。
サービスの追加
# chkconfig --add <service>
<service>で指定されるサービス制御スクリプト内のcheckconfigエントリに従って、rc0.d/からrc6.dの中にシンボリックリンクを作成します。
chkconfigエントリ
# chkconfig: <runlevel> <start priority> <stop priority>
<runlevel> サービスをディフォルトで有効とするランレベルを指定します。
<start priority> <stop priority> 起動時と停止時の優先順位を指定します。
descriptionエントリ
description: を含む行はサービスの概要を記述します。
(chkconfigでは使用されませんが、ntsysvで使用されます。)
サービスの削除
# chkconfig --del <service>
<service>で指定されるサービス制御スクリプト内のcheckconfigエントリに従って、rc0.d/からrc6.dの中にシンボリックリンクを削除します。
FedoraやCentOSには、リポジトリにWiresharkのパッケージが用意されています。
それらのディストリビューションではyumコマンドでインストールできます。
# yum install wireshark-gnome
PATHとは
PATHとはコマンドを実行するプログラムのある場所と考えることができます。
簡単にコマンドを実行できるようにするためには、PATHを通しておくと便利です。
PATHを確認する
# echo $PATH
PATHは「:」で区切られて表示されます。
PATHの優先度
echo $PATHで表示されたPATHで、左の方が優先されます。
PATHを設定する
PATHを設定するには、環境変数$PATHを書き換えます。
/usr/local/command/binへPATHを通す例です。
# PATH=$PATH:/usr/local/command/bin
# export PATH
複数のPATHを加えるためには 「:」 で区切って指定します。
export PATHで、環境変数$PATHを設定します。
(注)
# export PATH=$PATH:/usr/local/command/bin のように、1行にまとめることができます。
起動時に自動で設定する
ホームディレクトリ配下にある .bash_profileを編集します。
あるいは、/etc/profile を編集します。
上記ファイルに、PATH=$PATH:~ と export PATH を追加記述します。
ログイン時に自動で環境変数$PATHが設定されるようになります。
一枚のNICに複数のIPアドレスを割り付けることができます。
仮想インターフェースの仕組みを使用します。
eth0設定ファイルをコピーする
# cd /etc/sysconfig/network-scripts
eth0の設定ファイルを名前を変えてコピーします。
# cp ifcfg-eth0 ifcfg-eth0:1
コピーしたファイルを編集する
# vi ./ifcfg-eth0:1
DEVICE=eth0:1
ONBOOT=yes
IPADDR=***.***.***.***
NETMASK=***.***.***.***
NETWORK=***.***.***.***
GATEWAY=***.***.***.***
BOOTPROTO=none
USERCTL=no
仮想インタフェースを立ち上げる
# ifup eth0:1
確認する
# ifconfig eth0:1
/etc/ld.so.confには共有ライブラリを検索するディレクトリを記述します。
# vi /etc/ld.so.conf
ファイルを変更した後は、ldconfigコマンドを使用して/etc/ld.so.cacheに情報を反映させる必要があります。
# ldconfig
(注)
ただし、/libと/usr/libに関してはデフォルトで含まれているため、/etc/ld.so.confファイルに記述する必要はありません。
スクリプト実行時に、bad interpreterエラーになるときの対処方法です。
改行コードがLFになっていないので、nkfコマンドで改行コードを修正します。
nkf -Lu input-file > output-file
/etc/inittabを編集することでGUIとCUIの切り替えをおこなうことができます。
#vi /etc/inittab
id:5;initdefault: <= GUI
id:3;initdefault: <= CUI
CUIにしたいときは3を設定します。また、GUIにしたいときは5を設定します。
CUIの場合でも、ログインしてから「startx」でGUIにすることができます。
シェルスクリプトを普通のプログラムと同じ方法で実行することができます。
<先頭へのスクリプト実行定義行の追加>
「#!」以後に書かれたプログラムで、このスクリプトを実行することを定義します。
#!/bin/sh
<ファイルへの実行属性付与>
chmodコマンドを使って、 ファイルに実行属性を付けます。
$ chmod u+x <シェルスクリプトファイル名>
<実行>
$ ./<シェルスクリプトファイル名>
日本語manをインストールします。
$ sudo apt-get install manpages-ja