この章では,ノートPC上で UNIX を使って行く上で必ず必要となるパスワードの変更,時計の合わせ方,バックアップの方法について説明します.
X ウィンドウシステム(UNIX 上で動作するウインドウシステム MIT (マサチューセッツ工科大学)で開発された)や KDE によって GUI (Graphical User Interface) による操作が簡便になってきており,YaSTのようなGUIによるシステムの設定プログラムも普及してきました.が,依然としてUNIX の操作の基本はコマンドライン入力によるものです.X ウィンドウシステム上でコマンドの入力を行うためには,端末エミュレータ(ターミナルプログラム)を起動しておく必要があります.端末エミュレータはいくつかインストールされていますが,日本語が扱えるものとしては,「kterm」と「konsole」が有名です(kterm を使いたい場合は,他のソフトウェア等と同じ要領で,YaSTでインストールすることができます). 画面下部左の端末のアイコンをクリックすると,ターミナルプログラム(konsole) が起動します.
![]()
konsole のアイコンと konsole のウィンドウ
画面の左端に cs04000@linux:~> という文字列が表示されます.これは,「このあとにコマンドを入力してもよい」ことを表すプロンプトです.プロンプトの文字列は自由に設定することができますが,初期状態では ユーザ名@計算機名:カレントディレクトリ名 > となってます.この例のプロンプトでは「linux という計算機の利用者 cs04000 が ディレクトリ "~"(ホームディレクトリ,/home/cs04000/) にいる」ことを表しています.
なお,以下の説明では簡単のため,プロンプトを $ として説明します(文献によっては % で表しているものもあります).
皆さんのパスワードは皆さん自身で決めましたが,いつでも passwd コマンドを用いて変更することができます.端末エミュレータ上で,
$ passwd![]()
とすると(太字が利用者が入力する部分です),
Changing password for XXXXXX Old password:と聞かれます(XXXXXXのところは,あなたのアカウント名になっているはずです).なお,パスワードの変更に関わるこれ以降の入力文字は,機密保持のため画面に表示されません. ここで,これまで使っていたパスワードを入力し
キーを打ちます.次に
New password:と聞かれますから,新しいパスワードを入力して
キーを打ちます.さらに確認のため
Re-enter new password:と聞かれますので,もう一度同じものを入力し,
キーを打ちます.変更が成功すれば,
Password changed.という表示がされます.しかし,もし 2 度の入力が異なっていたり,パスワード文字列が短すぎたり,パスワードとして必要な条件が満たされていない場合には,その旨メッセージが表示され,パスワードは変更されません.原因をよく確かめてから再トライします.なお,UNIX/Linuxのバージョンや環境設定によって,若干表示される文字列が違うときがありますが,おおむね,上のようになります.
パスワードは,銀行のキャッシュカードの暗証番号と同じように,他人に知られると困ったことになるものです.容易に想像できるようなもの(自分の名前,誕生日,アイドルの名前等)をパスワードとして設定するのは自殺行為です.よく考えてパスワードを設定すると共に,定期的に変更するようにしましょう.
■課題 パスワードの変更
konsole を起動し,自分のパスワードを変更してみなさい.
ノートPCの本体内蔵時計は,起動や終了を繰り返すごとに,少しずつ狂ってきます.また,長い間電源を入れていなかったりすると,時計が止まってしまったり,昔に戻ってしまったりすることもあります.そのままの状態でノートPCからレポートを提出した場合,本人は提出期限に間に合ったつもりでも受け手側には提出期限が過ぎているように見える場合があります.このようなことが発生しないように,気が付いたら定期的に時計を合わせておく習慣をつけて下さい.時計の調整は,画面最下部パネルのデジタル時計を右クリックして,「日付と時刻の調整」から行えます.調整の際には,rootのパスワードが必要です.出てきたウィンドウの「変更」のボタンを押すと,現在時刻や日付を変更できます(それ以外のところは,特に変更する必要はありません).
(備考:以前は,/sbin/hwclock コマンド等で時刻を内蔵時計に設定していましたが,最近はYaST等のシステム管理ツールから変更することが多くなりました.コマンドから手動で変更すると不具合の起こる場合もありますので,今回は紹介のみにとどめます.またNTPというプロトコルを利用することで正確な時刻に自動的に合わせることもできます.興味のある人はインターネット等で設定方法を調べいつか十分な知識がついたら試してみましょう.)
■課題
時計を合わせなさい.
UNIX オペレーティング・システム自体のバックアップを個人で取る必要はありません.OS 自体が壊れた場合でもインストーラから復旧可能です.皆さん個人がすべきことは,授業や演習で各自が作成した個人のプログラムやデータ類のバックアップです.UNIX には,一旦消去したデータを復活する方法はありません.以下の手順で行なったバックアップから復旧することが唯一の手段ですので,このバックアップは個人の責任において,定期的に行なって下さい.
Linux上のファイルには,非常に長いファイル名のものがあったり,所有者や実行権限などといった,Windows上のファイルでは通常あまり扱わないような属性がついています.これらの情報(メタ情報)を保存した状態で,ファイルやディレクトリを1つのファイルに(圧縮して)まとめる(これを,アーカイブする,と,ここでは呼ぶことにします)ことができます.ファイルのアーカイブには,tar コマンドを使うことが多いです.tar コマンドでファイルをアーカイブするには,次のようにします.例えば,カレントディレクトリにある「my-files」というディレクトリの内容をまるごと1つのファイル my-files.tar.gz にアーカイブするには,次のようなコマンドになります.
prompt$ tar czvf my-files.tar.gz my-files/![]()
一般的には,「tar czvf "アーカイブファイル名" "アーカイブする対象のファイル/ディレクトリ名"」という書き方になります.上の,「my-files.tar.gz」や「my-files/」の部分は,適宜,必要にあわせて変えてください.
アーカイブしたファイルを展開するには,「tar xzvf "アーカイブファイル名"」 とすると,カレントディレクトリにファイルやディレクトリが展開されます(インストール時に,一度このコマンドを使いましたよね?).
インストールガイドの最後に載せておいたプログラムを使うと, Windows上からLinux上のファイルやディレクトリが参照できます.この機能を使ってファイルをWindows上にコピーしてから,CD-R等に焼いておくといいです(もちろん,Linux上から直接ファイルをCD-Rに焼くこともできますが,詳しい説明は省略します.興味のある人はインターネット等で調べてみて下さい).
皆さんのノートPCの Linux の環境では 「/windows/C/」 ('C'は大文字です)以下に Windows 領域のファイルシステムが読み込みOnlyでマウントされています.すなわち,Linux のファイルシステム上で Windows で使っていたファイルシステムそのものの読み込みが可能です.皆さんが使っているノートPCでは Windows ではディレクトリ 「C:\home」 に皆さんの個人データをおくように設定してありました.このディレクトリは 「/windows/C/home」 としてアクセス可能です.
prompt$ ls /windows/C/home![]()
上記のようにすると Windows 上でつくったファイルのリストを見ることができます.
Windows上のデータをLinuxにコピーするには,以下のように cp コマンドを使います.以下の例では,Windows上のc:\home\foo.txt を linuxのホームディレクトリ上にコピーします.
prompt$ cp /windows/C/home/foo.txt ~/![]()
ここで重要なことがあるのですが,Windowsとlinuxでは,文字を表現するコード(=文字コード)が少し違っています.emacsやmeadowは,異なる文字コードを自動で識別して正しく表示してくれますが,コンパイラ(gcc)やその他のプログラムはそれほど賢くはありません.文字コードの変換は,emacs から行うこともできますし,nkf やkqcといったプログラムを使うこともできます(kqcを使いたかったら追加インストールして下さい).emacs(あるいは Meadow)からの場合は,ファイルをemacsで開いて,C-x RET f(コントロールキーを押しながらXキー,コントロールキーをはなして
続いて fキー) とした後に,変換したい漢字コード(Linux上で使うファイルなら euc-jp-unix,Windows上で使うファイルなら shift_jis-dos)を指定してやると,変換してくれます.変換した結果は,C-x C-sでファイルに保存したときに反映されます.