[Linux] ログイン時にコマンドやプログラムを自動実行させる方法

CentOS にログインした時にコマンドやプログラムを自動実行させる方法を調べたのでご紹介します。

Linux

続きを読む

[VirtualBox] 画面サイズ変更のために Guest Additions をインストール

VirtualBox にインストールした Windows7 の画面サイズを変更する設定をご紹介します。

VirtualBox

Guest Additions をインストールすれば画面サイズを変更できるようになるみたいです。

続きを読む

[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 が使えるようになりました。
 

以上です。
 

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

Windows7にて、VMware Player 上に開発用サーバとして CentOS 5.6 をインストールしました。

インストール手順は、以下の記事を追っていくだけでOKです。

VMware PlayerにCentOS導入。練習用Webサーバーを構築1 はてなブックマーク - VMware PlayerにCentOS導入。練習用Webサーバーを構築1

ここでは、これを読んでも分からなかった部分を補完した記事を書きます。
 

手順1 VMware Playerのインストール

VMware Playerをダウンロードして、インストールします。

VMware Player :簡単に仮想マシンを実行できる無償ソフトウェア
 

手順2 仮想マシンの設定

CentOSを仮想マシンにインストールします。今回は開発上の都合で32bit版を入れます。

CentOS 5.6 x86 (32bit版)

ちなみに「LiveCD」はお試し版なので、4GBぐらいある「正式版」をダウンロードします。正式版のDLは、BitTorrentでDLするか、ネットインストール用のISOをDLするかの2通りがあります。

今回は、ネットインストール用のISOファイルをDLして、インストールしました。

(何度もインストールする可能性がある場合は、BitTorrent からDLしてISOファイルを持っておいた方がよさげです。)

・DLサイト:www.centos.org – centos.org content

CentOS 5.6 x86だとISOファイルは「CentOS-5.6-i386-netinstall.iso」です。インストールするゲストOSの種類は「Linux」、バージョンは「CentOS」を選択します。

この後はサイトの手順通りにサクサク進めていきます。
 

手順3 VMware PlayerでCentOSのネットインストーラー起動

インストール方法を聞かれるので、ネットインストール用ISOを選択しているのでFTPを選択します。FTPサイトとディレクトリの指定ですが、Software archives at ftp.riken.jpのページにてURL(http://ftp.riken.jp/)からディレクトリの階層をたどれば分かります。

CentOS 5.6 32bitの場合のURLは以下のようになります。

web site name: ftp.riken.jp
CentOS directory: Linux/centos/5.6/os/i386/

他にも、CentOS 5.5 64bitの場合のURIは以下のようになります。

web site name: ftp.riken.jp
CentOS directory: Linux/centos/5.5/os/x86_64

「インストールプロセスを開始しています。数分かかる事があります…」と表示されますが、FTP接続でインストールする場合は数分どころではありません。

(僕は20分ぐらい待ちました。回線の混雑状況によって1時間以上かかる場合もあるそうです。)
 

手順4 VMware PlayerにCentOSをインストール開始

ここもサクサク進めていく。但し、以下の2点だけ注意する。

  • 「地域の選択」にて、「システムロックでUTCを使用」のチェックを外す
  • インストール時に含めるモジュールを選択する
    (自分で設定できるなら、できるだけ最小限にインストールした方が要らない物まで入らなくていいらしい)

自分は下記のものだけインストールしました。

  • 「アプリケーション」:エディタ
  • 「開発」:開発ツール
  • 「サーバー」:サーバー
  • 「ベースシステム」:ベース

この後も同様にサクサクとインストールを進めていきます。
 

手順5 Apache、MySQL、PHPをインストール

CentOSのインストールが完了したら、仮想サーバーとして動かすために、MySQL、Apache、PHPの順番でそれぞれソースコードからコンパイルしてインストールします。

これらのインストール作業手順については別記事でご紹介します。

以上です。

[文字コード] UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe4 [Python]

Python のプログラムを対話モードで実行すると UnicodeDecodeError が発生して解決した方法をご紹介します。

Python

続きを読む

[正規表現] Pythonで特定の単語を含む文章を取得する方法

Amazon マーケットプレイスの商品コンディションコメントにて、特定の単語を含むときにその単語を含む文章全体だけをターミナルに出力するプログラムを書きました。

Python

続きを読む