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 環境を作り上げたツワモノがいた。
ただこのサイト、近いうち消えそうな予感がするので、ここにメモしておく。
1.VMware 社のホームページ から VMware Player をダウンロードしてインストール。
2.QEMU というフリーのエミュレータをダウンロードしてインストール。
3.QEMU で次のコマンドを実行。
qemu-image create -f vmdk filename.vmdk 2G
-f vmdk | vmdk はイメージファイルの形式。 |
filename | 作るイメージファイルの名前。 |
2G | HDイメージの容量。ここではとりあえず2GByteのイメージを作っている。 |
4.VMware Player の仮想 PC の設定ファイル xxxxx.vmxを作る。
名前は何でも良いらしい。仮に vpc.vmx として、 テキストエディタで次のように書く。
#### ここから #### config.version = "8" ide0:0.present = "true" # 仮想PCのイメージの名前を書く ide0:0.fileName = "vpc.vmdk" ide1:0.present = "true" # CD-ROMを利用 ide1:0.fileName = "auto detect" ide1:0.deviceType = "atapi-cdrom" # ISOイメージを利用しない場合はこっちをコメントアウト # isoイメージのパス(一応絶対パスを書いておく) # ide1:0.fileName = "/path/to/linux.iso" # ide1:0.deviceType = "cdrom-image" ethernet0.present = "true" ethernet0.connectionType = "nat" guestOS = "otherlinux" # 仮想PCに割り当てるメモリのサイズ memsize = "64" #### ここまで ####
5.VMware Player を起動して、4 でつくった vpc.vmx を読み込む。
いろいろ警告とか出るけど無視して続けて良いとのこと。
これで終わりらしいです。
基本は、イメージファイル(*.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 権限 |
指定したパス配下で、名称に指定したファイル、ディレクトリを探す。
$ 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 -q (パッケージ名)
インストールされてない場合は何もしない。
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 は本家で。
公開されている有名どころは、こんな感じ。
実は(見てわかると思いますが)上記メモのほとんどが Fedora を前提にした内容です。 Linux のディストリビューションが数ある中で、なぜ私は Fedora を選んだかというと、それは私が Linux を使う理由に等しく「仕事で使うから」です。
趣味な面もありますが、仕事で使う上での調査目的で自宅に導入しているので、趣味よりも、仕事上の調べ物をする意味の方が大きいのです。
で、なぜそれが Fedora になるかというと、仕事ということは商用になるということで、その場合フリーな環境というのはあまり選択されないのです。大抵は Red Hat Enterprise Linux (有償)が使われます。で、Fedora は、その Red Hat と同じコアを使っているので、Fedora の技術は、大抵 Red Hat にそのまま使えるということ。
なので、完全な個人用とか趣味で使う分には、他のディストリビューションを好みで選べば良いと思うよ。