CentOS

2014/11/06更新

対応バージョン: 6.4

yumコマンド実行時に以下のメッセージが出てコマンドが失敗する。

# yum update
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again

デバッグモードで実行すると以下のようにSSLの接続でエラーになっている。

# URLGRABBER_DEBUG=1 yum check-update 2> /tmp/debug.log
# cat /tmp/debug.log
:
2014-11-06 19:27:00,026 attempt 1/10: https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=x86_64
INFO:urlgrabber:attempt 1/10: https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=x86_64
2014-11-06 19:27:00,026 opening local file "/var/cache/yum/x86_64/6/epel/metalink.xml.tmp" with mode wb
INFO:urlgrabber:opening local file "/var/cache/yum/x86_64/6/epel/metalink.xml.tmp" with mode wb
* About to connect() to mirrors.fedoraproject.org port 443 (#0)
*   Trying 2001:4178:2:1269::fed2... * 接続を拒否されました
*   Trying 2607:f188::dead:beef:cafe:fed1... * 接続を拒否されました
*   Trying 2610:28:3090:3001:dead:beef:cafe:fed4... * 接続を拒否されました
*   Trying 66.135.62.201... * connected
* Connected to mirrors.fedoraproject.org (66.135.62.201) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* NSS error -8092
* Closing connection #0
* SSL connect error
2014-11-06 19:27:00,898 exception: [Errno 14] problem making ssl connection
INFO:urlgrabber:exception: [Errno 14] problem making ssl connection
2014-11-06 19:27:00,898 retrycode (14) not in list [-1, 2, 4, 5, 6, 7], re-raising
INFO:urlgrabber:retrycode (14) not in list [-1, 2, 4, 5, 6, 7], re-raising
Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again

正常な場合は以下のようになる。

:
2014-11-06 19:28:48,858 attempt 1/None: file:///etc/yum.repos.d/virtualbox.repo
INFO:urlgrabber:attempt 1/None: file:///etc/yum.repos.d/virtualbox.repo
* Closing connection #0
2014-11-06 19:28:48,859 success
INFO:urlgrabber:success

このエラーが出る場合NSSのアップデートが必要なので以下のコマンドでアップデートする。

# yum --disablerepo=epel update nss

これで問題なくyumコマンドが実行できるようになる。

# yum update
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: www.ftp.ne.jp
 * epel: mirror.premi.st
 * extras: www.ftp.ne.jp
 * updates: www.ftp.ne.jp
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package ORBit2.x86_64 0:2.14.17-3.2.el6_3 will be updated
:

2014/5/15更新

対応バージョン: 6.4

sudoはデフォルトではttyを持っていないと実行できず、以下のようなエラーが出る。

sudo: sorry, you must have a tty to run sudo

これを回避するには/etc/sudoersの以下の行をコメントアウトすればよい。

Defaults requiretty

ただこの場合は全てのアカウントでttyなしのsudo実行が可能になってしまうので、特定のアカウントのみ実行を許可したい場合は以下のように!requirettyを付ける。

Defaults requiretty
Defaults:tony !requiretty

2013/09/06更新

対応バージョン: 6.4

設定ファイル記述

/etc/ntp.confを記述する。パラメータについてはFedoraのNTPクライアントの設定と同様なので割愛する。

関連資料・記事

ntpd起動設定

ブート時にntpdが起動しない設定になっているので起動するように設定する。

% chkconfig --list ntpd
ntpd    0:off   1:off   2:off   3:off   4:off   5:off   6:off
% sudo chkconfig ntpd on
% chkconfig --list ntpd
ntpd    0:off   1:off   2:on    3:on    4:on    5:on    6:off

ntpd起動

ntpdを起動する。

% sudo service ntpd start

確認方法

NTPサーバへの接続状況はntpqコマンドで確認できる。

% ntpq -p
     remote           refid      st t when poll reach delay offset jitter
=========================================================================
*ntp1.jst.mfeed. 210.173.160.86   2 u  436 1024  377  8.928 -0.093  0.079
+ntp2.jst.mfeed. 210.173.160.86   2 u  249 1024  377  9.415 -0.206  1.206
+ntp3.jst.mfeed. 210.173.176.251  2 u  255 1024  377  8.811  0.048  0.084

サーバ毎の接続状況のチェック方法もFedoraのNTPクライアントの設定に記載しているので割愛する。

関連資料・記事

2014/1/1更新

対応バージョン: 6.4

NFSサーバ(nfsd)が起動するには事前にrpcbindが起動している必要があるので以下のような順番で起動すればよい。

# service rpcbind start
# service nfs start

また、OS起動時に自動起動になっていることも確認しておく。

NFSv2とNFSv3を使う場合はnfslockも起動する必要があるので注意すること。

# chkconfig | egrep '(nfs|rpcbind)'
nfs       0:off  1:off  2:on  3:on  4:on  5:on  6:off
nfslock   0:off  1:off  2:on  3:on  4:on  5:on  6:off
rpcbind   0:off  1:off  2:on  3:on  4:on  5:on  6:off

2014/2/11更新

対応バージョン: 6.5

CentOSはNICのMACアドレスとインタフェース名の紐付けを以下のファイルで(自動で)行っているのでMACアドレスが変わった場合はこのファイルを削除してOSを再起動すればよい。

# rm /etc/udev/rules.d/70-persistent-net.rules

尚、このMACアドレスが/etc/sysconfig/network-scripts/ifcfg-ethXファイルのHWADDR行に書かれている場合は変更後のMACアドレスに修正するか行ごと削除する。

HWADDR=00:0C:29:A3:8B:69

2014/1/1更新

対応バージョン: 6.4

/etc/sysconfig/networkの以下の設定を変更してOSを再起動する。

HOSTNAME=<ホスト名>

尚、上記ホストの名前解決ができないといろいろ不具合が起こるので/etc/hostsやDNSサーバの設定に上記ホストの情報を追加しておくこと。

再起動後はホスト名が変わっていることを確認できる。

% uname -n
<ホスト名>

% hostname
<ホスト名>

% printenv HOSTNAME
<ホスト名>

関連資料・記事

2014/7/18更新

対応バージョン: 6.4

ディスク容量にまだ余裕があるにもかかわらず、ファイルが作成できない。

% df -h /home
Filesystem                Size Used Avail Use% Mounted on
/dev/mapper/vg_s1-lv_home 405G 257G  128G  67% /home

% touch /home/foo/tmp
touch: cannot touch `/home/foo/tmp': No space left on device

% mkdir /home/foo/tmp
mkdir: cannot create directory `/home/foo/tmp': No space left on device

これはそのファイルシステムに作成可能なファイル(inode)がいっぱいになっているので、不要なファイルを削除してinodeを空ければ作成できるようになる。

% df -i /home
Filesystem                  Inodes    IUsed IFree IUse% Mounted on
/dev/mapper/vg_s1-lv_home 26935296 26935296     0  100% /home

例えば最終更新後5日以上経ったWebDAVのロックファイルを削除するような場合は以下のようにする。

% find /home -mtime +5 -a \( -name "*.pag" -o -name "*.dir" \) -exec rm {} \;

2014/10/04更新

対応バージョン: 6.4

DKMS(Dynamic Kernel Module Support)のビルドで以下のようなエラーが出てビルドが失敗する。

Your kernel headers for kernel 2.6.32-358.el6.x86_64 cannot be found at /lib/modules/2.6.32-358.el6.x86_64/build or /lib/modules/2.6.32-358.el6.x86_64/source.

これは文字通りビルドに必要なヘッダファイルが存在しないというエラーで、インストールしているカーネルのバージョンとヘッダファイルのバージョンが一致していない場合に発生する。

例えば以下のような場合である。

% rpm -qa | grep ^kernel-
kernel-firmware-2.6.32-358.el6.noarch
kernel-devel-2.6.32-431.23.3.el6.x86_64
kernel-headers-2.6.32-431.5.1.el6.x86_64
kernel-2.6.32-358.el6.x86_64

上記の場合、カーネルのバージョンのほうが古くなっているのでカーネルをバージョンアップさせるかヘッダファイルをバージョンダウンさせる必要がある。

ただ、バージョンダウンは今後継続的にアップデートを続けていく場合はやめたほうがよい。

カーネルおよびヘッダファイルを両方ともアップデートする場合は以下のようにする。

まずカーネルをバージョンアップしたらいったんOSを再起動する。

% sudo yum update kernel-`uname -r`

% rpm -qa | grep ^kernel-
kernel-devel-2.6.32-431.23.3.el6.x86_64
kernel-firmware-2.6.32-431.29.2.el6.noarch
kernel-devel-2.6.32-431.29.2.el6.x86_64
kernel-2.6.32-358.el6.x86_64
kernel-2.6.32-431.29.2.el6.x86_64
kernel-headers-2.6.32-431.29.2.el6.x86_64

% sudo reboot

次にヘッダファイルをアップデートする。

% sudo yum update kernel-headers-`uname -r`
% sudo yum update kernel-devel-`uname -r`

% rpm -qa | grep ^kernel-
kernel-devel-2.6.32-431.29.2.el6.x86_64
kernel-devel-2.6.32-431.23.3.el6.x86_64
kernel-2.6.32-431.29.2.el6.x86_64
kernel-headers-2.6.32-431.29.2.el6.x86_64
kernel-2.6.32-358.el6.x86_64
kernel-firmware-2.6.32-431.29.2.el6.noarch

% sudo yum remove kernel-devel-2.6.32-431.23.3.el6.x86_64

% rpm -qa | grep ^kernel-
kernel-devel-2.6.32-431.29.2.el6.x86_64
kernel-2.6.32-431.29.2.el6.x86_64
kernel-headers-2.6.32-431.29.2.el6.x86_64
kernel-2.6.32-358.el6.x86_64
kernel-firmware-2.6.32-431.29.2.el6.noarch

これでDKMSのビルドは成功するはずである。