東の森

centos6,mac忘備録備忘録

CentOS6 ネットワーク設定とか

時間取られたのでまとめる。

  • /etc/sysconfig/network-scripts/ifcfg-eth0
  • /etc/sysconfig/network
  • /etc/resolv.conf
  • /etc/hosts

/etc/sysconfig/network-scripts/ifcfg-eth0

ネットワークインターフェイスIPアドレス)の設定ファイル

DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.11.255
HDADDR=DC:0E:A1:F1:35:81
IPADDR=192.168.11.100
NETMASK=255.255.255.0
NETWORK=192.168.11.0
ONBOOT=yes
GATEWAY=192.168.11.1 (下記networkファイルとどちらか片方の記載が推奨されるようだ)
TYPE=Ethernet
DNS1=192.168.11.1
DNS2=127.0.0.1(DNS1,2はnaeworkmanagerが有効な場合、ここを見てresolv.confが作成される)

/etc/sysconfig/network

インターフェースに依存しない部分の設定ファイル

NETWORKING=yes
HOSTNAME=simeon
GATEWAY=192.168.11.1 (ifcfg-eth0とどっちか片方の記載)

/etc/resolv.conf

DNSサーバー設定ファイル

# Generated by NetworkManager (networkmanagerが有効ならネットワークサービス起動時にその都度自動生成(される||されてしまう))
nameserver 192.168.11.1
nameserver 127.0.0.1

/etc/hosts

IPアドレスとホスト名の対応

コマンドとか

  • system-config-firewall-tui

テキストユーザインタフェースにてファイヤウォール関連ファイルの編集が行える

  • nslookup
  • dig
  • ifconfig
  • route -n

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.11.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
0.0.0.0 192.168.11.1 0.0.0.0 UG 0 0 0 eth0
ネットワークの経路が表示される。デフォルトゲートウェイが表示されていないと外に出られない。

CentOS 省電力モードoff

CentOSを入れていじっている。
一定時間操作なしで省電力モードになる。復帰させる際に、ディスプレイの縁が乳白色になって、中央は真っ黒で全く戻ってこない時がある。インストールしたばかりなので電源長押しからの落とし上げで対応していたが、なんとかしようと思った。

省電力モードを行っているサービスはacpidというやつらしい。これを止める。
以下実行にはroot権限が必要。
現在のサービスを止める

/etc/rc.d/init.d/acpid stop

サーバ起動時に自動起動されるの止める

chkconfig acpid off

とのことで、実施した。
ものの省電力モードが避けられず。
chkconfig --listでみてもacpidは全てのランレベルでoffになっているので、acpidの設定自体は成功していると思われる。どういうことだろう。

  1. この事象は省電力モードではない
  2. 省電力モードだがサービスが違う

その後、検索を続ける。おそらく、正確には「省電力モード」というより、「パワーセーブモード」というようだ。パワーセーブモードを止めるにはsettermコマンドを使うらしい。

現行のパワーセーブ機能をオフ

setterm -powersave off -blank 0

起動時のパワーセーブ機能をオフにするために/etc/rc.localに以下を記述

/usr/bin/setterm -powersave off -blank 0


実現できました!
書くところは~/.bashrcでもいいのかもしれない。rc.localにはすべての初期スクリプトが終わったら実行されるって書いてあるし、ユーザに制御が渡る前にということならどっちでもいいのかも。意味合いが分からないのでどちらが適切かは僕には判断できない。
あと「acpid」と「settermでやっていること」の関係が分からず。

参考
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1453009724
http://www.question-defense.com/2009/07/17/centos-linux-stop-monitor-from-going-to-sleep-using-turn-off-powersave

homebrew updateしていなかったでござるの巻

2ヶ月くらい前に入れたhomebrewを急に思い出す。そしてbrew doctorした。

$ brew doctor
Warning: Experimental support for using Xcode without the "Command Line Tools".
You have only installed Xcode. If stuff is not building, try installing the
"Command Line Tools for Xcode" package.
Warning: Your Homebrew is outdated
You haven't updated for at least 24 hours, this is a long time in brewland!
Error: Homebrew doesn't know what compiler versions ship with your version of
Xcode. Please file an issue with the output of `brew --config`:
  https://github.com/mxcl/homebrew/issues

Thanks!
Warning: Your compilers are different from the standard versions for your Xcode.
If you have Xcode 4.3 or newer, you should install the Command Line Tools for
Xcode from within Xcode's Download preferences.
Otherwise, you should reinstall Xcode.

xcodeに問題があるのかと思って見てみたら最新の4.5.1だったけど、/Developerの下の方でxcode3がいた。これが原因かなと思ったんだけど、書いてあるとおりhomebrewアップデートしていなかったからだし、コマンドラインツール入ってなかったからだった。どおりでbrew --configしてもxcodeが4.5.1だったはずだよ。この2点を解決しても

$ brew doctor
Warning: You have leftover files from an older version of Xcode.
You should delete them using:
  /Developer/Library/uninstall-developer-folder

がでた。警告だからたぶん何もしなくていいのだろうけど、とりあえずdoctorに言われたとおりに古いバージョンを消す。sudoが必要。

$ sudo /Developer/Library/uninstall-developer-folder

正常に戻りました。

$ brew doctor
Your system is raring to brew.

CentOS ネットワーク設定121009

インストール時にネットワークの設定が「CentOS徹底入門」のキャプチャと違っていたなーという記憶はあった。どうも調べていくと/etc/sysconfig/network-scripts/ifcfg-eth0というファイル(有線LAN用デバイスの設定ファイルで、デバイスがあるだけeth1と順次続く)がない。原因としてはLANチップが認識できなかった可能性があるということ。

そのコンピュータがどんなLANデバイス積んでるのか。Ethernetの含まれる行を見る。

# lspci
02:00.0 Ethernet controller: Atheros Communications Inc. AR8152 v2.0 Fast Ethernet (rev c1)

CentOS6.2 と ar8152 でググるひっかかるCentOSのフォーラムにもあった。フォーラムの方をメインで参照。英語が平易な物つかっててわけわからない状態じゃないことに感謝。カーネルがこれ用のドライバを持っていないから認識できないらしいので持ってくる。

どのドライバを持ってくるか

# lspci
02:00.0 Ethernet controller: Atheros Communications Inc. AR8152 v2.0 Fast Ethernet (rev c1)
# lspci -n | grep 02:00.0
02:00.0 1969:2062 (rev c1)

1969:2062がデバイスIDらしいので、ELRepoのデバイスIDのページから探す。「kmod-atl1e」が必要なドライバなのでダウンロードページからダウンロードする。なぜこの階層なのかは分からないが、ダウンロードページのasiaリンクからそれっぽいものを探して行ったらたどり着いた。ダウンロードしてUSBに移しLinuxへ挿す。
たしかここでプロンプトがもどってこなかった。試しにlsコマンド打ったら戻ってきた。良かったのかはわからん。assuming deviceとかwrite througthとか出てたけどエラーではないようなので無視。
USBメモリを差すと自動マウント?される場合もあるようでdfで確認できるらしいがわからん。
そして。dmsegで最後の方にwrite througthに囲まれてsdb:sdb1というデバイス名があり、これがdev/sdb1にマウントされてます(?)って意味のようだ。このディレクトリで使える気がしないでもないのだけど、先達に従う。

まず適当な場所を作成する。

# mkdir /mnt/usbmem

作った/mnt/usbmemにマウントする。

# mount -t vfat /dev/sdb1 /mnt/usbmem

このディレクトリ配下に中身が展開されている(アンマウントはumount /mnt/usbmem 中身が消える)。そこまで移動して

rpmでインストール

# rpm -ivh kmod-atl1e-1.0.1.14-1.el6.elrepo.i686.rpm

insmodとmodprobeは後者が関連ファイルもロードするみたいで、とりあえずそのほうがいいんじゃねと後者選択。

カーネルに含めてもらう

# cd /lib/modules/2.6.32-71.el6.i686/extra/atl1e
# modprobe atl1e

./atl1e/atl1e.koってのがあるんだけど、modprobe atle1eでこれ使ってるの?
この段階でLANケーブル挿すとリンクランプ点灯した。カーネルがLANデバイス認識したようだ。ifconfigにもeth0が載ってくるようになった!だからあってるはず…

ifcfg-eth0を作成する。

#vim ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.10.255
IPADDR=192.168.10.3
NETMASK=255.255.255.0
NETWORK=192.168.10.0
ONBOOT=yes

ネットワークの再起動

# service network restart
Shutting down interface eth0:                              [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:                                [  OK  ]

[OK]でたし、pingもルータまで通る。しかし

# nslookup google.com
;; connection timed out; no servers could be reached

となるので外には出れてない模様。未解決…
あとこのままだと再起動でまたeth0失ってしまうかもしれない…



121012追記
外に出られないというのか、名前が解決できてないというのか。ネット出来るmacのほうでgoogleIPアドレス調べてそれでping打ってみることにした。

$ dig www.google.com

出てきたIPアドレスの一つをCentOSのほうでpingで疎通する。通った。外に出られないという表現は正しくなくて、名前が解決出来ないという表現が正しそうだ。なので、DNSサーバーの指定関連で何か間違ってるんだとおもう。


121013追記
/etc/resolv.confを見直すと、"nameserver"の項目が"namesaver"になっていた。直したら名前解決できた。クソみたいな原因だった…