[yum] fastestpath を使わないようにする設定方法

とある認証付きプロキシの環境では http はできるのですが、ftp が通りません。

yum の fastestpath がONになっていると、最寄りのレポジトリが ftp 接続なのでエラーが返ってきてから、http接続できる別のレポジトリを探すまでに時間がかかります。

yum本家のレポジトリは http で接続できるので、デフォルトで本家と接続するように設定変更しました。

下記のように設定変更すればOKです。

# vi /etc/yum/pluginconf.d/fastestmirror.conf

■ fastestmirror.conf の中身

[main]
enabled=1
verbose=0
socket_timeout=3
hostfilepath=/var/cache/yum/timedhosts.txt
maxhostfileage=10
maxthreads=15
#exclude=.gov, facebook

enabled=1 を enabled=0 に変更すればOKです。

以上です。
 

[yum] Another app is currently holding the yum lock の解決方法

CentOS5.6にて、yum を使おうとしたらエラーが出て使えませんでした。解決方法を調べたのでメモ。

■ エラー内容

Another app is currently holding the yum lock

■ 解決方法

yum のプロセスがバックグラウンドで動いているとこうなるので、 # ps aux | grep yum で yum が動いている PID を特定して kill すればyumが使えるようになります。

・参考:Another app is currently holding the yum lockとは – [yum/Linux [Red Hatなど]] ぺんたん info はてなブックマーク - Another app is currently holding the yum lockとは - [yum/Linux [Red Hatなど]] ぺんたん info

ちなみに、yum のコマンドリストは下記のサイトを参考にしました。

@IT:yumコマンドでよく利用するコマンド はてなブックマーク - @IT:yumコマンドでよく利用するコマンド

以上です。

[仮想OS] VirtualBox のNAT + ホストオンリーアダプターでのネットワーク設定/ホストOS からSSHできないときの解決方法

VirtualBox にて CentOS5.6 を仮想サーバーとしてインストールしたのですが、ホストOSからSSHできない症状に陥りました。

@yak0u さんにアドバイスを頂いて、なんとか解決したのでその方法とネットワーク設定をご紹介します。

VirtualBoxのネットワーク設定

まず、VirtualBoxのネットワーク設定はここを参考にすればOKです。

仮想環境VirtualBoxでのネットワークの設定 : アシアルブログ

仮想OSのファイヤーウォール設定

まず、ファイヤーウォールの設定を変更します。下記サイトの「iptablesの確認」を参考にして設定します。

VMware PlayerにCentOS導入。練習用Webサーバーを構築4

# vi /etc/sysconfig/iptables
# SSH, HTTP, FTP1, FTP2, MySQL
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

22番ポートが閉じているとSSH通信ができなくて、80番ポートが閉じているとブラウザからWebページに接続できません。

編集後、iptablesを再起動します。

# /etc/rc.d/init.d/iptables restart

仮想OS上のネットワーク設定

まず、ネットワーク設定の解説をしてくれている良記事があるのでこれを読みます。

VirtualBox を利用する際のネットワーク設定の話 – ゆどうふろぐ

次に、ホストオンリーアダプターに割り当てるために、空いているローカルIPアドレスをpingコマンドで調べます。

MacでPingを使用してネットワークが正常に利用可能か調べる方法 / Inforati

$ ping -c 5 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
 
--- 192.168.1.1 ping statistics ---
5 packets transmitted, 0 packets received, 100.0% packet loss

VirtualBoxで仮想マシンを起動後、ホストOSであるMacにて ifconfig コマンドを実行します。

.
.
.
vboxnet0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	ether 0a:00:27:00:00:00 
	inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255

VirtualBoxの vboxnet0 にて 192.168.1.1 が使われていることが分かりました。

また、ホストOS(Mac)にて、再び pingコマンドを実行すると、今度はレスポンスがありました。

$ ping -c 5 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes
64 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=0.052 ms
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.145 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.125 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=0.055 ms
64 bytes from 192.168.1.1: icmp_seq=4 ttl=64 time=0.118 ms
 
--- 192.168.1.1 ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.052/0.099/0.145/0.038 ms

同様に、ゲストOS(仮想マシン)でもpingコマンドを実行するとレスポンスがありました。

これで「192.168.1.1」のIPアドレスは仮想マシンでちゃんと使われていることが確認できました。

ホストオンリーアダプターに対応するeth1にローカルIPアドレスを固定する

仮想マシンを起動する度にホストオンリーアダプターに対応する IP が変わらないように、IPアドレスを固定します。

ifconfig コマンドで、eth1 に現在割り当てられている IPアドレスを調べて、それを固定 IP として設定すれば問題ないと思います。

・参考:VirtualBox 2.2 と CentOS 5.3 でローカル開発環境 – もやし日記

僕の場合、ifconfig コマンドを実行しても eth1 が表示されませんでした。

なので、eth1 を編集します。

まず、ローカルIPアドレス 192.168.1.2 が使われていないか確認します。

(使われていたら、192.168.1.3, 192.168.1.4, … と順番に空いているローカルIPアドレスを調べます。)

空いているローカルIPアドレスが分かったら、ifcfg-eth1 にIPアドレスを書きます。

[root@localhost ~]# emacs /etc/sysconfig/network-scripts/ifcfg-eth1
 
# Intel Corporation 82540EM Gigabit Ethernet Controller
DEVICE=eth1
BOOTPROTO=static                    # dhcp から static に変更
HWADDR=08:00:27:F7:6C:DE
ONBOOT=yes
IPADDR=192.168.1.2                   # 追加
NETMASK=255.255.255.0            # 追加

eth1 を編集後、設定を反映させます。

[root@localhost ~]# ifdown eth1
[root@localhost ~]# ifup eth1

ホストOS(Mac)から ssh コマンドでホストOS(仮想マシン)に接続できました。

ローカルIPでssh接続する方法 – Makotontonのひだまりずむ

$ ssh root@192.168.1.1
ssh: connect to host 192.168.1.1 port 22: Connection refused
 
$ ssh root@192.168.1.2
The authenticity of host '192.168.1.2 (192.168.1.2)' can't be established.
RSA key fingerprint is 48:8e:56:2f:95:59:d9:d9:c0:af:cb:6f:ef:ea:ee:bc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.2' (RSA) to the list of known hosts.
root@192.168.1.2's password: 
Last login: Wed May 11 13:30:46 2011
[root@localhost ~]#

以上です。

[仮想OS] VirtualBox に CentOS を開発用サーバーとしてインストール [Mac OS X (SnowLeopard)]

Mac OS X (SnowLeopard) にて、VirtualBox 上に開発用サーバとして CentOS 5.6 をインストールしました。

インストール手順は参考記事を追っていくだけでOKです。

VirtualBoxのインストール参考記事

VirtualBox 2.2 と CentOS 5.3 でローカル開発環境 – もやし日記

仮想環境にCentOSをインストールするための参考記事

[仮想OS] VMwarePlayer に CentOS を開発用サーバーとしてインストール | CodeNote.net

その他、参考記事

Mac OS X版VirtualBox の使い勝手

VirtualBoxに CentOS 5.5 をインストールしてみた – TANAKAORIGINAL

以上です。

[Emacs] install-elisp.el をインストールしたけど使えなかったときの解決方法

 
Emacsの便利なプログラムである Elisp を簡単にインストールするための設定を下記の記事を参考にしながらやったのですが、途中ではまったというか初歩的なミスをしていて解決したのでご紹介します。
 

・参考:Emacs ビギナーに贈る、これからバリバリ使い隊!!人のための設定講座 その1。 – 日々、とんは語る。 はてなブックマーク - Emacs ビギナーに贈る、これからバリバリ使い隊!!人のための設定講座 その1。 - 日々、とんは語る。
 

他のEmacs初心者の参考になれば幸いです。
 

[追記:2011/09/01]
 

install-elisp.el には auto-install.el という後継バージョンがあるそうなので、通常こちらを使った方が良いみたいです。
 

auto-install.elでEmacsLispパッケージを自動インストール→anything.el関連を一括インストール – (rubikitch loves (Emacs Ruby CUI Books)) はてなブックマーク - auto-install.elでEmacsLispパッケージを自動インストール→anything.el関連を一括インストール - (rubikitch loves (Emacs Ruby CUI Books))
 
 

まず、find コマンドで .emacs.d のある場所を探しました。
 

1
2
# find / -name .emacs.d
/root/.emacs.d

 

install-elisp.el をwww.emacswiki.org/cgi-bin/wiki/download/install-elisp.elからダウンロードして .emacs.d 内に設置します。
 

同じように、 .emacs のある場所を探したのですが、これがいけなかった。
 

1
2
# find / -name .emacs
/etc/skel/.emacs

 

ディレクトリ /etc/skel/ 直下にある .emacs に設定を書き込んだため、emacs から install-elisp が使えるようになりませんでした。
 

正しくは、ホームディレクトリ直下に新しく .emacs ファイルを作成して以下の3行を書き込みます。
 

1
2
3
(setq load-path (cons "~/.emacs.d/elisp" load-path))
(require 'install-elisp)
(setq install-elisp-repository-directory "~/.emacs.d/elisp/")

 

しかじろう (@shikajiro) さんの記事を読んで間違えに気づきました。ありがとうございます。
 

2010-12-24 – しかじろうがプログラム作るよ!
 

これで晴れて、M-x install-elisp が使えるようになりました。
 

以上です。