Category Archives: Linux

CentOS 環境で「ping:unkonown host」エラー現象の解決方法

現象:
# ping www.yahoo.co.jp
ping: unknown host www.yahoo.co.jp

解決対策:
1.ドメインネームサーバーを確認
# cat /etc/resolv.conf
nameserver 8.8.8.8 #(GoogleのDNS)
nameserver 8.8.4.4 #(GoogleのDNS)

2.ゲートウェイとルーティングテーブルを確認
# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 10.10.10.1 0.0.0.0 UG 0 0 0 eth0

未設定場合、次の方法を通じでゲートウェイを追加
# route add default gw 10.245.75.28
# grep GATEWAY /etc/sysconfig/network-scripts/ifcfg*
/etc/sysconfig/network-scripts/ifcfg-eth0:GATEWAY=10.245.75.28
3.使用可能なDNSを解決
# grep hosts /etc/nsswitch.conf
hosts: files dns
4.設定ファイルを変更してnetworkが再起動
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=”eth0″
NM_CONTROLLED=”yes”
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=static
IPADDR=10.245.75.241
#PREFIX=24
GATEWAY=10.245.75.28
DNS1=8.8.8.8
DNS2=8.8.4.4
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=yes
NAME=”System eth0″
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx # uuid
HWADDR=xx:xx:xx:xx:xx:xx # hwaddr
NETWORKING=yes

# service network restart

exundeleteを使用してCentOS 6.5で削除されたファイルを復元する

1.依存パッケージをインストール
yum -y install e2fsprogs e2fsprogs-libs e2fsprogs-devel

2.exundeleteをインストール
wget http://jaist.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2
tar jxvf extundelete-0.2.4.tar.bz2
cd extundelte-0.2.4
./configure
make; make install
3.ファイル復元
個別のファイルを復元
extundelete /dev/sdb1 –restore-file hosts

ディレクトリを復元
extundelete /dev/sdb1 –restore-files test/

パーティション全体を復元
extundelete /dev/sdb1 –-restore-all

Linuxにユーザーとユーザーグループを追加、削除する

1.ユーザーを作成
adduser phpuser_startnews24 // phpuser_startnews24を作成
passwd phpuser_startnews24 //phpuser_startnews24のパスワードを設定

2.グループを作成
groupadd test_startnews24 // test_startnews24グループを作成

3.ユーザーを新規しながらユーザグループを作成
useradd -g test_startnews24   phpuser_startnews24

4.既存のユーザーにグループを増加
usermod -G groupname username
gpasswd -a user group

5.ユーザーアカウントを無効にする
passwd start_news24 –l
passwd start_news24 –u
6.永続的にユーザーアカウントを削除
userdel jacky_startnews24
groupdel jacky_startnews24
usermod –G peter peter

7.グループからユーザーを削除
gpasswd -d ABC GROUP

8.ユーザー情報を表示
id user
cat /etc/passwd

CentOSにredis 2.8.7ソースパッケージをインストールする方法

1.redisのダウンロード
wget http://download.redis.io/releases/redis-2.8.7.tar.gz

2.コンパイルとインストール
tar xf redis-2.8.7.tar.gz
cd redis-2.8.7
make
make install
gccをインストールしない場合、「gcc not found」が表示される。
yum -y install gcc

3.設定ファイルを作成
mkdir /etc/redis
cp redis.conf /etc/redis/redis.conf

4.メモリ割り当てを調整
echo “vm.overcommit_memory=1”>>/etc/sysctl.conf
sysctl -p

5.redis配置を修正
vi /etc/redis/redis.conf
daemonize yes #必要に応じてyesを設定
timeout 300 #指定されたN秒数間、コマンドが送信されなければ、クライアントの通信を切断
loglevel verbose #redisログレベル
logfile stdout #ログファイルの名前を指定

6.redisが起動
redis-server /etc/redis/redis.conf

7.redisoをテスト
[root@localhost redis]# redis-cli
127.0.0.1:6379> set name startnews24
OK
127.0.0.1:6379> get name
“startnews24”
127.0.0.1:6379>

Ubuntuにerlang、rebar、Subtextをインストールする方法

1.UbuntuにErlangをインストール
wget http://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb
sudo dpkg -i erlang-solutions_1.0_all.deb
sudo apt-get update
sudo apt-get install erlang

erl //テスト
2.Rebarのインストール
sudo apt-get install rebar
cd ~ //ホームディレクトリからのテスト
rebar

3.Subtextのインストール

For Sublime-Text-2:
sudo add-apt-repository ppa:webupd8team/sublime-text-2
sudo apt-get update
sudo apt-get install sublime-text

For Sublime-Text-3:
sudo add-apt-repository ppa:webupd8team/sublime-text-3
sudo apt-get update
sudo apt-get install sublime-text-installer

CentOS 6.5にApache 6.5にApache+SVNを構築する

1.依存パッケージをインストール
[root@localhost ~]# yum install gcc gcc-++ make pcre-develzlib-devel -y
[root@localhost ~]# tar zxvf apr-1.4.6.tar.gz
[root@localhost ~]# cd apr-1.4.6
[root@localhost apr-1.4.6]# ./configure –prefix=/usr/local/apr
[root@localhost ~]# make && make install
[root@localhost ~]# tar zxvf apr-util-1.4.1.tar.gz
[root@localhost ~]# cd apr-util-1.4.1
[root@localhostapr-util-1.4.1]# ./configure –prefix=/usr/local/apr-util–with-apr=/usr/local/apr
[root@localhost ~]# make && make install

2.Apacheのインストール
ダウンロード:
http://mirrors.cnnic.cn/apache/httpd/
[root@localhost ~]# tar zxvf httpd-2.4.7.tar.gz
[root@localhost ~]# cd httpd-2.4.7
[root@localhost httpd-2.4.7]#./configure –prefix=/usr/local/apache –enable-dav –enable-so–enable-rewrite –enable-maintainer-mode –with-apr=/usr/local/apr –with-apr-util=/usr/local/apr-util/
[root@localhost ~]# cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
[root@localhost ~]# sed -i’s/#ServerName.*/ServerName localhost/’ /usr/local/apache/conf/httpd.conf

3.SVNのインストール
SQLiteのインストール
http://www.sqlite.org/download.html
[root@localhost ~]# tar zxvf sqlite-autoconf-3080200.tar.gz
[root@localhost ~]# cd sqlite-autoconf-3080200
[root@localhostsqlite-autoconf-3080200]# ./configure
[root@localhostsqlite-autoconf-3080200]# make && make install
SVNのインストール
ダウンロード:
http://subversion.apache.org/download
[root@localhost ~]# tar zxvf subversion-1.8.5.tar.gz
[root@localhost ~]# cd subversion-1.8.5
[root@localhostsubversion-1.8.5]# ./configure –prefix=/usr/local/subversion–with-apxs=/usr/local/apache/bin/apxs –with-apr=/usr/local/apr–with-apr-util=/usr/local/apr-util/
[root@localhostsubversion-1.8.5]# make && make install
[root@localhost ~]# echo “PATH=$PATH/:/usr/local/subversion/bin” >> /etc/profile
[root@localhost ~]# source /etc/profile
[root@localhost ~]# svnserve –version #バージョン情報を表示する

「ファイアーウォールの学習」「ip_conntrack table full dropping packet」の解決対策

1.エラーメッセージ:
(日時) sv kernel: ip_conntrack: table full, dropping packet.

ファイル:
/var/log/messages

2.ip_conntrackの確認:
ip_conntrackの最大数を確認
# cat /proc/sys/net/ipv4/ip_conntrack_max

現在ip_conntrackのサイズを確認
# wc -l /proc/net/ip_conntrack

3.解決方法:

3.1.ip_conntrackサイズを変更
# /etc/sysctl.conf
net.ipv4.netfilter.ip_conntrack_max = 6553600
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 300
net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 12
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120
# sysctl -p 有効

3.2.ip_conntrackモジュールをロードしない

# vim /etc/sysconfig/iptables-config
IPTABLES_MODULES=””

状態ルールを設定しない
-A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT

LinuxにSphinxをインストールする手順

Sphinx-Users.jp(略称#sphinxjp)は、美しいドキュメントを簡単に生成することができるドキュメンテーションツール、Sphinx(スフィンクス)の普及を主眼としたコミュニティです。SphinxはPythonの公式ドキュメントだけでなく、このSphinx-Users.jpのサイトも含め多くのマニュアルやサイトで使用されており
操作手順:
wget http://sphinxsearch.com/files/sphinx-0.9.9.tar.gz
tar -xvzf sphinx-0.9.9.tar.gz

cd sphinx-0.9.9
./configure –prefix=/usr/local/sphinx –without-mysql

make
make install
cd /usr/local/sphinx/etc/

cp sphinx.conf.dist sphinx.conf

vim sphinx.conf

LinuxでApache接続最大数を設定する

1.ApacheのMPMについて
Apacheは起動時にMPM(Multi-Processing Modules)という基本モジュールが選択できるように設計されています。
Apache2.0にMPMを3つ分ける(perfork、worker、event):
perfork:プロセス形式を使用して、より信頼性の高いパフォーマンスと互換性を提供する
worker:スレッド制御方法を使用している
event:タスクごとに異なるプロセスのプールを割り当てる

[root@ip-172-31-5-227 ~]# httpd -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c

2.preforkパラメータを設定

2.1デフォルトのパラメータは次の通りです
<IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
MaxClients 150
MaxRequestsPerChild 1000
</IfModule>

2.2 パラメータの説明:
アイドル状態のプロセス数:MinSpareServers~MaxSpareServers
プロセスの最大数:maxClients
MaxClients ≤ ServerLimit ≤ 20000
MaxRequestsPerChild:プロセスリクエストを処理した後に自動的に破壊。デフォルト0を設定

2.3 設定参考内容:
<IfModule prefork.c>
StartServers 10
MinSpareServers 10
MaxSpareServers 15
ServerLimit 4000
MaxClients 2056
MaxRequestsPerChild 10000
</IfModule>

2.4 apacheが再起動

3.apacheの最大接続数を設定
現在の接続数を確認
ps aux | grep httpd | wc -l またはpgrep httpd|wc -l

httpd平均稼動メモリを計算
ps aux|grep -v grep|awk ‘/httpd/{sum+=$6;n++};END{print sum/n}’

CPUコア数を確認するコマンド

[root@ip-172-31-5-227 ~]# grep -c ‘model name’ /proc/cpuinfo
1