マイニチテック

コンピュータ関連書籍(サービス)を実際に読んで実践し、内容の要約・解説を実況していきます。

10日でサーバー立ててみる7

前回の内容

 ・一般ユーザーの作成・削除、パスワードの設定、ファイルのアクセス権限の設定などの管理について

 

範囲:CHAPTER02,LESSON08

 LESSON8ではファイルの種類の調べ方やシェルおよびシェルスクリプトの基礎について学習を行います。

 

 ”プログラムが配置されたディレクトリを確認する”という項目でtarコマンドが出てきましたが、なんじゃこりゃ?というわけで、IT Proの解説をちょっとまとめると…

 tarコマンドとは、複数のファイルを一つのファイルにまとめて管理するための書庫管理コマンドです。複数のファイルを一つのファイルにまとめる書庫化や、その書庫の展開、すでにある書庫へのファイルの追加や削除が行えます。書庫化されたファイルの拡張子は一般的に「.tar」となります。tarコマンドは圧縮を行わないため、通常gzip/bzip2などの圧縮形式と併用し、書庫化と圧縮を同時に行います。本来tarコマンドは磁気テープ装置の制御をするコマンドであったため、バックアップ用のファイルを作成することもできます。

 ということです。わかりやすいコマンドで例をあげてほしいものですね(笑)

 

 p96でパイプの使用例で出てくる[grep]というのはファイル内の文字列を検索するコマンドです。ここでは[ps -e]の実行結果からhttpd(UNIXサーバーに常駐するWebサーバプログラムのこと)のみを検索して表示しています。

10日でサーバー立ててみる6

前回の内容

 ・yumコマンドによるパッケージ管理の方法について

 

範囲:CHAPTER02,LESSON07

 LESSON7では一般ユーザーの作成・削除、パスワードの設定、ファイルのアクセス権限の設定などの管理を行います。

 

 メールスプールという単語が途中で出てきますが、これは電子メールの配送において、通信速度とコンピュータの処理速度との間のギャップを埋めるべくスプールを利用して処理効率を上げることを指すようです。スプールというのは入出力処理などの時間がかかる処理をする際に、全てのデータを一旦記憶装置へ書き込み、そこから処理することで、効率的に動かすことです。ちょっと説明がぐたぐたになっちゃいましたかね(笑)

 

 実習2で行うアクセス権限の確認や変更などは以前このブログでも取り上げたので、スムーズに進みました。

今回も備忘録的にchown/chmodコマンドの構文をメモっておきます。

 chown [ユーザー名.グループ名] [ファイル名 or ディレクトリ名]

 chmod [アクセス権限] [ファイル名]

※アクセス権限の表記の仕方は何種類か方法があります。

  

10日でサーバー立ててみる5

前回の内容

  ・プロセスの確認方法について

 

CHAPTER02の概要

 この章ではLinux管理の基礎知識について学習するようです。パッケージ管理やユーザー管理、またサーバーを管理するうえで欠かすことのできないシェルとシェルスクリプトの基礎知識、Linux起動のしくみについても解説があるようですね。

 

範囲:CHAPTER02,LESSON01

 LESSON1ではyumによるパッケージ管理について学びます。パッケージというのはLinux用のアプリケーションのプログラムやライブラリ、設定ファイルなどが1つにまとめられているもののことです。そしてyumコマンドというのを用いることにより、CentOSはOS自身やアプリケーションのインストール/アップデートを行います。

 

 本書を読み進めていくうちに感じるyumのありがたさ…。ありがとうyum。備忘録的に書いておくと、yumというのはレポジトリRPMパッケージの置かれているサーバー)への接続、パッケージの依存関係の調査及び足りないパッケージの収集、インストールをすべて行ってくれます。※RPMパッケージはCentOSの形式です。

書いておいて損はないと思うのでyumコマンドの書式を書いておきます。

  yum オプション コマンド パッケージ名

オプションは[-y]、コマンドは[install], [update], [remove]あたりをよく使うようですね。

 

10日でサーバー立ててみる4

前回の内容

  ・Linuxファイルシステムについて

  ・vi(vim)エディターでファイルを編集する方法について

 

範囲:CHAPTER01,LESSON05

 LESSON5ではプロセスの確認方法について学びます。プロセスとは、プログラムがメモリ上に展開されている状態を指す言葉で、Windowsではタスク、Macではアプリケーション、汎用機ではジョブと呼びますね。サーバーを運用する上で、サーバーの状態を確認することは必須です。プロセスを確認することでサーバーの状態が確認できるようになります。

 

 さて、今回の注意点としてはp60の”プログラムの強制終了とリロード”という項目ですね。ここではkillコマンドを用いてTERM/HUPシグナルをcupsdプロセスを送っています。本文ではTERMシグナルを先にcupsdシグナルへ送っているので、当たり前ですがcupsdプロセスは終了してしまいます。そうするとHUPシグナルへをcupsdプロセスへ送ることができません(cupsdのPIDが不明なため)。もちろんシステムを再起動すればcupsdプロセスは復活するのでシグナルを送れるのですが、めんどくさいと思います。そのため、HUPシグナルを先に送り、その後TERMシグナルを送るという順序で本書を進めたほうが良いと思います。

 

これでCHAPTER01は終了です!

次回からはCHAPTER02に突入したいと思います。

10日でサーバー立ててみる3

前回の内容

  ・CentOSのダウンロードとVirtualBox仮想マシンソフト)のインストール、仮想マシンの作成、仮想マシンCentOSをインストール

  ・terminalの基本コマンド、ファイルのパーミッションについて

 

範囲:CHAPTER01,LESSON03

 LESSON3ではLinuxファイルシステムについて学びます。Linuxファイルシステムは入出力装置(マウスやモニタ、プリンタなど)もファイルとして扱っています。Windowsに慣れたユーザーなんかだとびっくりしますよね(笑)

 

 今回多少戸惑った作業はp49の"端末から端末への通信"というところです。ここの一文に、「2つの端末をA端末、B端末とします。」とあります。はて2つの端末とはどういうこっちゃ?となってしまったわけですが、これはterminal(端末)を2つ立ち上げろ、という意味ですね。

2つ立ち上げ、最初に立ち上げた端末で

  echo 'hello in the world!' > /dev/pts/1

を実行すると後から立ち上げた端末にシングルクォーテーションで囲まれた部分のメッセージが表示されます。

hello in the world!がもう一方の端末に表示された時は初めてc言語Hello Worldを表示させたときの感動が蘇りましたね(笑)

 

範囲:CHAPTER01,LESSON04

 LESSON4ではvi(vim)エディターでファイルを編集する方法について学びます。viとはUNIX系のOSで長らくシステム管理や設定ファイルの編集などに使用されてきたエディタのことです。特徴としては2つのモード(コマンドモードと入力モード)があり、それらを切り替えながら作業をしていきます。僕はまだ慣れてないのであまりわかりませんが、慣れると編集効率が非常に上がるようで、多くのプログラマに愛されています。ちなみにほとんどの主要なOSに対応しているため、同じように操作ができるのも強みですね。

 

今回は実習も講義も難しい内容ではないので、特に注意点などはありません。早くviに慣れたいものです…

CentOS6.5(Virtual Box) を便利にする小技!

今回は「10日でおぼえる Linuxサーバー入門教室」関連としてVirtualBox上で動かしているCentOSを使いやすくする方法を紹介します。


-使用環境-

  -VirtualBox 4.3

  -CentOS 6.5


タイトルで”便利にする小技!”とか書いていますが、実際のところ一般に知られている方法なので小技でもないですね(汗)

では何をするのかというと、Guest Additionsをインストールします。そのくらい自分でもできるよ!と言われそうですけど、ちょいちょい注意点があるので一応手順を紹介していきますね。

 

と、その前にGuest Additionsをインストールするとどんな良い事が起きるのか…

  1. ホストOSとゲストOS(CentOS)との間でマウスカーソルをシームレスに移動させることができるようになる。
  2. CentOSをフルスクリーンで表示できるようになる。

 ホストキー(デフォルトではRight Ctrl Key)を押さずにホストOSへポインタを移動させられるのは地味に便利です(笑)

 

それでは手順の紹介に戻りましょう。

  1. VirtualBoxCentOSを起動し、メニュバー->[デバイス]->[Guest Additions のインストール]を選択します。
  2. デスクトップ上にVBOXADDITIONS_4.3.12_93733(※数字の部分は自分の仮想CDの数字に置き換えてください)が現れていることを確認。
  3. ターミナル(端末)でroot権限のユーザーにログインします。
  4. カーネルソースコードのインストールを行います。

      # yum -y install gcc

      # yum -y install kernel-devel

  5. Guest Additionsの中に入ります。

      # cd /media/VBOXADDITIONS_4.3.12_93733

  6. 最後にインストールを開始しましょう。

      # sh VBoxLinuxAdditions.run

      ※Building the main Guest Additions moduleで失敗する場合は再度カーネルを   インストールしてみてください。

 

CentOSを再起動してみてフルスクリーン表示できたら成功です。

10日でサーバー立ててみる2

前回の内容

  DHCPから固定IPアドレスへの変更

 

範囲:CHAPTER01,LESSON01

 LESSON1ではCentOSのダウンロードとVirtualBox仮想マシンソフト)のインストール、仮想マシンの作成、仮想マシンCentOSをインストールすることを行います。 仮想マシンCentOSをインストールする作業以外は基本的に分かりにくい作業とかはありませんでしたが、注意点があります。

 ※CentOSのisoイメージは約4GBと結構大きなデータとなっているため、通信環境によっては何時間かかかってしまうかもしれません。

 

 本の通りに仮想マシンCentOSをインストールするとホストOSでインターネットに繋げなくなると思われます。実際私はそうなってしまい焦りました(笑)

 その原因はp28の「ホスト名とネットワークの設定」という作業にあります。忠実に本の通りにやると、IPv4のセッティングで、ホストOSと同じIPアドレスを入力することになります。 VirtualBoxマネージャの設定でネットワークの割り当てをNATにしている場合はこれでも問題ないのでしょうが、今回はブリッジアダプタに設定しているため、ホストOSのIPアドレスとはことなるアドレスを入力しなければならないようです。そのため、IPアドレスの4ブロック目をホストOSとは異なるもので設定してください。

 

範囲:CHAPTER01,LESSON02

 LESSON2は基本コマンドを暗記すれば良いと思うので、特に注意点とかはありませんが、p44の「図13:ls -lによるファイル・ディレクトリの詳細表示」でアクセス権について触れられていないため、簡単に説明します。r,w,x,-という文字が並んでいますが、これはパーミッション(ユーザーのアクセス権のこと)を定義しています。

  • rは読み込み
  • wは書き込み
  • xは実行(開く)

 これを組み合わせてアクセス権を表しています。 次回はCHAPTER01,LESSON03以降を取り上げていきます。