初期セットアップ

初期セットアップ

個人的備忘録。

基礎中の基礎

以下はできるようにしておくこと。
  1. Linuxのディレクトリ構成を捉える
  2. コマンドラインの基礎
  3. cdコマンドでディレクトリを移動する
  4. pwdコマンドで自分が今居るディレクトリを確認する
  5. lsコマンドでディレクトリにあるファイルを確認する
  6. catコマンドでファイルの内容を表示する
  7. viエディタでファイル内容に変更を加える
  8. cpコマンドでファイルをコピーする
  9. rmコマンドでファイルを削除する
  10. mkdirコマンドで新たなディレクトリを作成する
  11. moreコマンドでファイル内容を閲覧する
  12. lessコマンドでファイル内容を閲覧する
  13. manコマンドで指定したコマンドの用法を調べる
  14. 基礎的な英語。。。


ネットワーク設定

CentOSでの設定となります。
まあ、概要はどのディストリビューションでも似たようなものなんじゃないかなぁ?

ネットワーク関連の設定

  • 変更対象ファイルのあるディレクトリに移動します
以下のコマンドを順番に実行
# cd /etc/sysconfig/network-scripts  => "cd" : ディレクトリ移動

# pwd                 => "pwd" : 現在のディレクトリを確認
/etc/sysconfig/network-scripts

# ls                  => "ls" : 現在のディレクトリの内容を一覧表示
ifcfg-eth0   ifdown-ipv6    ifup          ifup-plip    ifup-wireless
ifcfg-eth1   ifdown-isdn    ifup-aliases  ifup-plusb   init.ipv6-global
ifcfg-lo     ifdown-post    ifup-bnep     ifup-post    net.hotplug
ifdown       ifdown-ppp     ifup-eth      ifup-ppp     network-functions
ifdown-bnep  ifdown-routes  ifup-ippp     ifup-routes  network-functions-ipv6
ifdown-eth   ifdown-sit     ifup-ipv6     ifup-sit
ifdown-ippp  ifdown-tunnel  ifup-isdn     ifup-tunnel

※縦そろわねぇ・・・#aa(){}タグつかえねぇ・・・



以下のファイルがそれぞれ物理NIC(LANポート)の1個目と2個目の設定ファイル。
NICが一つしか無い場合は1個しかないかも。1個も無かったら作ってしまえ。
※作り方は後で説明するのでこのまま進みましょう。
ifcfg-eth0
ifcfg-eth1


  • 設定対象ファイルの確認
以下の設定ファイルを編集して、目的の内容に変更していきます。
ifcfg-eth0               => : eth0の設定ファイル
ifcfg-eth1               => : eth1の設定ファイル
ifcfg-eth*               => : eth*の設定ファイル
※作り方は後で説明するのでこのまま進みましょう。


  • ファイル内設定定義書式
"vi"コマンドで設定ファイルを編集していきます。
設定するファイルが無くても以下のコマンドでイケます。
# vi ifcfg-eth0             => : "vi"コマンドでeth0の設定を編集

中身はこんな感じ。
DEVICE=eth0
IPADDR=192.168.0.2
NETMASK=255.255.255.0
DNS1=192.168.0.1
DNS2=8.8.8.8
TYPE=Ethernet
GATEWAY=192.168.0.1
ONBOOT=yes
HWADDR=08:00:27:78:BD:7F
BOOTPROTO=none
DEFROUTE=yes
IPV6INIT=no

  • 詳細
オプション名 設定値 解説
DEVICE eth0, eth1, eth* 設定を紐づけるNICを指定
IPADDR 192.168.0.2 設定したいIPアドレスを指定。DHCPの場合は不要。
NETMASK 255.255.255.0 サブネットマスクを設定。DHCPの場合は不要。
DNS1 192.168.0.1 1個目のネームサーバーのIPアドレスを指定。通常はご自宅のルーターのIPアドレス。
DNS2 8.8.8.8 2個目のネームサーバーのIPアドレスを指定。ちなみに8.8.8.8と8.8.4.4はGoogleが提供しているDNSサーバーのIPアドレス。WEBページの表示が早くなるとか……Windowsマシンでも使えるのでお試しあれ。
TYPE Ethernet, xDSL, etc とりあえず"Ethernet"にしておけばOK。他にもあったけど使い方わからんので、勝手に調べて。
GATEWAY 192.168.0.1 デフォルトゲートウェイ。通常はご自宅のルーターのIPアドレス。この設定は通常一つのサーバーで一つしか持てないので、このオプションを記述するNICは必然的に一つになります。
ONBOOT no, yes マシン起動時に自動的にこの設定を有効にし、NICを使用可能にするかどうか。基本的にはyesでいい。
HWADDR 09:05:21:78:**:** MACアドレスを指定。NICの製造番号とか個体番号みたいなもの。最初から入ってなけりゃ"ifconfig"コマンドで調べる。"ifconfig"コマンド打つとぞろぞろ表示されるが、記述ルールは一緒なので探し出すべし。
BOOTPROTO none, static, dhcp 自分でIPアドレス指定する場合はnone,static、DHCPを利用する場合はdhcpで。
DEFROUTE no, yes 複数のNICがある場合、メインとなるNICにはこの設定を入れておくと幸せになれるらしい。メインとはなんぞやという話だが、ご家庭ではインターネットに接続するNIC……という認識でOK。とはいえ、デフォルトゲートウェイじゃアカンのか?とか、よくわからん設定項目。
IPV6INIT no, yes IPv6アドレス使うならyesにする

設定が終わったら設定内容を反映させるためにネットワークを再起動します。


ネームサーバー登録

  • DNS設定今昔
直前でやったじゃねえか……ごもっとも。
というのも、昔はDNS設定は"resolv.conf"というファイルに書き込んでいたんだそうです。
が、現在はこのファイルを見ると、"ifcfg-eth"ファイルに"DNS1=xxx.xxx.xxx.xxx"って具合に書いとけ、と注意書きがあります。
キャプチャー貼ろうかと思いましたが、もう消えてたのでご勘弁。
DNSは"resolv.conf"に……と覚えてた人は変わってるので注意。
なお、"ifcfg-eth"にDNSを記述しておけば"resolv.conf"は自動的に更新されるようです。
  • 設定反映後の"resolv.conf"ファイル
以下はネットワークを再起動した後に確認したところ。
[root@hostname /]# cd /etc       => "/etc"へ移動。
[root@hostname etc]# pwd        => 現在のディレクトリ確認
/etc
[root@hostname etc]# cat resolv.conf  => "cat"コマンドでファイルを閲覧
# Generated by NetworkManager
search co.jp
nameserver 192.168.0.1
nameserver 8.8.8.8


ネットワーク再起動

一通り設定が完了したら設定を反映させるためにネットワークを再起動します。
# service network restart

設定の確認

正しく設定が反映されたことを確認します。
# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 08:00:27:78:BD:7F
          inet addr:192.168.0.151  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: 2408:0:ffff:ad1:a00:27ff:fe78:bd7f/64 Scope:Global
          inet6 addr: fe80::a00:27ff:fe78:bd7f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2297 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1447 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:209901 (204.9 KiB)  TX bytes:203897 (199.1 KiB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:C9:7D:59
          inet addr:192.168.10.11  Bcast:192.168.10.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fec9:7d59/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:96 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:8892 (8.6 KiB)  TX bytes:468 (468.0 b)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:240 (240.0 b)  TX bytes:240 (240.0 b).


アップデート、インストール周辺

"yum"コマンドを把握する

yumコマンドはアップデートやインストールの利便性を向上させるコマンドです。
THE初心者の自分は、そのシンプルな仕組みを理解するのに苦労しました。
  1. "yum"コマンド打つ
  2. サーバー内に何のパッケージがあるか確認する
  3. "repo"ファイルを参照して問い合わせ先レポジトリを決定する
  4. レポジトリに問い合わせて必要なパッケージをダウンロードしてくる
  5. 集めたパッケージを依存関係に配慮して順番にインストールする

たぶんこんな感じ。


レポジトリとは

Windowsでいう所のMicrosoft Updateとか、Windows Updateで問い合わせにいくサーバーに相当する。
ソフトウェアやらOSのアップデート情報を保存&提供しているサーバー。
WindowsはMicrosoftだけがリポジトリを提供している(※1)が、Linuxはオープンソースのため、世界中の大学や研究機関が無償で同様のサービスを提供しているわけです。

※1 : 某国にはWindows OS用の非公式リポジトリがあるとかいう噂もあるけど……


インストールに使うコマンド4種類の違いについて

結論から言うと、CentOSユーザーはyum使いこなせればOK。
yumで自動的に拾ってきてくれないパッケージはrpmで補助的に。

  • yum
Red Hat系の便利パッケージ管理コマンド
依存関係を考慮してパッケージ(≒ソフトウェア)のインストールやらアンインストールやらしてくれる。
またリポジトリと呼ばれるアップデート情報管理サーバーから自動的に最新情報を取得してきて、あるパッケージのインストールやアンインストールに際し必要なアップデートやらパッケージを自動的にインストール、もしくはアンインストールしてくれる。

  • rpm
Red Hat系のパッケージインストールコマンド。
指定したパッケージを馬鹿正直にインストール、アンインストールするだけのコマンド。依存関係なんぞ知ったことかという漢らしいコマンド。

  • apt-get
Debian系のyumみたいなもん。できる事の種類がちょこっと違うけどね。

  • dpkg
Debian系のrpmみたいなもん。できる事の種類がちょこっと違うけどね。
最終更新:2013年09月22日 17:16