Windows ユーザな私のための Linux の基本的なことをメモ。
とりあえずリンク集。
大体、今流通してる Linux はこんなもんだろう。(2007/01/16 現在)
Linux も使いたいが、Windows 環境も残す場合、マルチブートにするのが良い。
現状 Windows を使用しているのであれば、HDD をもう一台買ってきて スレーブ接続してそこにインストールするのが一番早い。
ここは、私が Fedora 12 をインストールしたときの手順をメモ。
これで Fedora を起動すると、ユーザ設定などいくつかの初期設定が続く。
その後 GNOME の画面が表示されれば、インストール成功。
Linux を仮想 PC 上で動かす方法、というもの。実用的ではないが、実験としては十分。
仮想 PC の有名どころはここらへん。
ところで、 VMware Workstation は $189 くらいするのだけど、 VMware Player というソフトは無償で利用できる。 ただ、Player には環境構築の機能がないので、 すでに構築済みの VM 環境を動作させるのみとなる。 が、別ソフト(フリー)で環境を作り、VMware Player を使って仮想 PC 環境を作り上げたツワモノがいた。
ただこのサイト、近いうち消えそうな予感がするので、ここにメモしておく。
基本は、イメージファイル(*.iso というファイル)を入手して、それをディスクとして読み込ませると、インストールが始まる。
iso というのはディスクイメージなので、CD や DVD に焼いてそれを読み込むのが基本だけど、Virtual PC などでやる場合は、HDD のディレクトリを仮想ディスクにしてしまえば、そのまま読み込んでインストールできる(はず)。
一番素直だけど、一番コストのかかる方法。
インストールは上記の通り。リモートで使う方法は下記参照。
Virtual PC の画面をクリックすると、マウス (ポインタデバイス) の操作が Virtual PC に移動する。そうすると、親画面が操作できない!
ここは慌てず 右 Alt キーを押す。
これで、マウス操作が親画面 (Host 側に)に戻る。
Fedora 12 など最近の Linux はセキュリティ性を考慮した設定になっていて、普通の Telnet では接続できないようになっている(デフォルトで)。
そのまま接続するには、SSHに対応したターミナルを使えば良い。
例えば以下のようなソフトが有名。(いずれもフリーです)
Tera Term が最初から日本語対応していて使い易いかと。
Linux(UNIX)のコマンドは DOS コマンドと似ているが、微妙に異なる。ちなみに、UNIX コマンドの方がちょっと高機能。
たくさんあるが、よく使うコマンドは以下の通り。
コマンド | 説明 | 備考 |
ls (ディレクトリ名) | ファイルとディレクトリの一覧表示。 ディレクトリ指定なしでカレントディレクトリを表示。 -l 詳細表示 -F 種別表示 -a 隠しまで表示 | |
pwd | カレントディレクトリを表示。 | |
cp (コピー元) (コピー先) | ファイルのコピー。 | |
rm (ファイル名 or ディレクトリ名) | ファイル、ディレクトリの削除。 | |
mv (移動元) (移動先) | ファイルの移動。ファイル名変更もこれで。 | |
mkdir (ディレクトリ名) | ディレクトリの作成。 | |
chmod (権限) (ファイル名 or ディレクトリ名) | ファイルやディレクトリの読み書き、及び実行権限設定。 | |
mount (デバイス名) (パス) | CD/DVD や FD などのデバイスをディレクトリのように扱えるようにする。 | |
umount (パス) | パスにマウントしたデバイスを解除する。 | |
sh (スクリプト名) | スクリプトを実行する。DOSでいうバッチみたいなものだが、もっと高機能。 Linux の場合は bash で実行されることが多い。 | |
su (ユーザ名) | ユーザを切り替える。 ユーザ名指定なしで root に切り替え。 | |
yum (パッケージ名) | パッケージのインストール。 パッケージ名を "update" とすると、システム自体の更新。 | 要 root 権限 |
shutdown -h (シャットダウンまでの秒数) | システムのシャットダウン。 秒数に "now" 指定で今すぐシャットダウン。 | 要 root 権限 |
reboot | システムの再起動。 | 要 root 権限 |
実行中のプロセスを一時停止する場合は Ctrl + z。
停止したプロセスを再開するには
$ fg
で。
指定したパス配下で、名称に指定したファイル、ディレクトリを探す。
$ find (パス) -name (名称)
探すファイルの種別を -type オプションで絞ることもできる。
$ find (パス) -name (名称) -type (タイプ)
主なタイプは以下。
タイプ | 意味 |
f | 普通のファイル |
d | ディレクトリ |
l | シンボリックリンク |
Linux でのテキスト編集は vi が標準的。
$ vi (ファイルパス)
で開いて編集する。
Windows のメモ帳などと違って、基本はコマンドで操作する。 いろいろコマンドがあるが、最低限、以下のコマンドを覚えておくと良い。
コマンド | 操作 |
:q | セーブしないで終了 |
:wq | セーブして終了 |
:w | セーブのみ |
i | 挿入モードで編集 このモードにしてしまえば、とりあえずメモ帳っぽく使える。 編集モードを抜けるには ESC。 |
x | 1文字削除 |
dd | 1行切り取り(カット) |
yy | 1行コピー |
p | 貼付け(ペースト) |
u | 元に戻す(アンドゥ) |
あと、カーソル移動もコマンドだが、最近の Linux に入ってる vi は矢印キーでも移動できるようになっている。一応、矢印で移動できない場合は下記で。
↑k | ||
←h | l→ | |
↓j |
l が右とか、どうなのよ。
コンソールの表示をテキストファイルに保存するには、こう。
$ (コマンド) >(出力ファイル) 2>&1
例えば、make の出力をファイルに出したいなーというときは
$ make >make.txt 2>&1
ただ、これだとコンソールに何も表示されなくなるので、ファイルに書きつつコンソールでも見たい場合は tee というやつを使うと良いらしい。
$ make 2>&1 | tee make.txt
# rpm -qa
特定のプログラムがあるかどうかを探す場合は、パイプに続けて grep する。
# rpm -qa | grep パッケージ名
yum を使う。yum は、最近のディストリビューションにはほぼ入っている(はず)。
# yum install (パッケージ名)
既にインストールされている場合はアップデートになるっぽい。
ちなみに、アップデートは
# yum update (パッケージ名)
パッケージ名を指定しないで
# yum update
とすると、OS 自体のアップデートになる。アップデートの数によっては時間がかかるので、やる場合はそれなりの覚悟を決める。
アンインストールは、
# yum remove (パッケージ名)
インストールされてない場合は何もしない。
yum は Yellowdog Updater Modified の略らしい。かつて Yellow Dog Linux 用のアップデータとして使われていたものだそうだ。
Windows のタスクマネージャのようなものもコマンドで調べられる。
# ps -ax
または、
# ps aux
grep をつける場合は後者でないとエラーになるぽ。
# ps aux | gerp "httpd"
新しい Fedora では、デフォルトで GNOME に root でログインできない。
それをできるようにするには、gdm を以下のように編集。
gdm を開く。
# vi /etc/pam.d/gdm
「user != root」とある行を削除。
#↓ここをコメントアウト #auth required pam_succeed_if.so user != root quiet ...以下略
続けて gdm-password を開く。
# vi /etc/pam.d/gdm-password
同様に「user != root」とある行を削除。
#↓ここをコメントアウト #auth required pam_succeed_if.so user != root quiet
gdm の custom.conf がある場合はそこも修正。
# vi /etc/gdm/custom.conf
[security] DisallowTCP=false #↓ここを true にする AllowRemoteRoot=true ...以下略
これで再起動。
ログイン時のユーザ一覧には現れないが、「その他」を選択し、ユーザ名に「root」と入力してパスワードを入れればログインできる(はず)。
chkconfig (サービス名) on/off という書式で。
例えば、squid というサービスを自動起動を有効にするには
# chkconfig squid on
自動起動を無効にするには
# chkconfig squid off
Windows と Linux とのファイル交換を、Windows のネットワークで行えるようにする。
$ su -
# yum -y install system-config-samba
# mkdir /var/samba/share
# chmod 666 /var/samba/share
# /etc/rc.d/init.d/smb start
# chkconfig smb on
これで、Windows から、上記サーバの IP を指定して開いてみる。
あと、nmb サービスを起動すれば、ホスト名で名前解決してくれる。
# /etc/rc.d/init.d/nmb start # chkconfig nmb on
上記は、/etc/samba/smb.conf を開いて手動設定することもできるよ。
Windows とのファイルの交換に FTP を使う手もある。というか、こちらが一般的か。
設定手順はこんな感じで。
$ su
# rpm -qa | grep vsftpdインストールされていればパッケージ名が表示される。
# yum install vsftpd
# /etc/rc.d/init.d/vsftpd start
# chkconfig vsftpd on
これで、FTP クライアントから Linux のユーザとパスワードで接続すると、そのユーザのホームディレクトリ(/home/ユーザ名)が開く。既存ユーザのホームを荒らしたくないということであれば、FTP 用にユーザをつくれば OK。
ただ、上記の設定では通常の FTP では接続できない。SSHに対応したFTPクライアントで接続すること。例えば WinSCP とか。
ちなみに、Windows 側の文字コードは Shift_JIS だが、Linux 側は EUC だったり、UTF-8 だったりするので、FTP クライアントで文字コードを適切に設定してやらないと、日本語が文字化けするので注意。
GNU は本家で。
公開されている有名どころは、こんな感じ。