Category Archives: Linux

ubuntuでrabbitMQをインストールする方法

1.erlangのダウンロード
http://www.erlang.org/download/opt_src_17.3_tar.gz
解凍
./configure –prefix=/home/liyixiang/erlang

2.下記エラーが発生する場合
configure: error: No curses library functions found
configure: error: /bin/sh ‘/home/liyixiang/erlang/configure’ failed for erts
対策
apt-cache search ncurses
apt-get install libncurses5-dev

3.erlangのインストール
コマンド
make make install

4.テスト
cd /home/startnews24/erlang
erlが起動

5.erlang環境変数の設定
vim /etc/profile文件
#set erlang environment
export PATH=$PATH:/usr/erlang/bin
source profile

6.rabbitMQのインストール
ダウンロード
http://www.rabbitmq.com/releases/rabbitmq-server/v3.3.5/rabbitmq-server-generic-unix-3.3.5.tar.gz
/usr/の直下に解凍する

設定方法
vim /etc/profile
#set rabbitmq environment
export PATH=$PATH:/usr/rabbitmq_server-3.3.5/sbin
source profile

下記エラー現象が発生する場合
./rabbitmq-server: line 86: erl: command not found
修正
rabbitmq_server-3.3.5/sbin/rabbitmq-server-3.3.5
export PATH=$PATH:/usr/erlang/bin

起動
./rabbitmq-server.start !!

ubuntu12.04でIPv6を無効にする方法

操作コマンド

sudo vi /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
保存して終了
sudo sysctl -p
実行
ip a | grep inet6

Linuxプログラムのプロセス依存ライブラリを確認する方法

1.lddで依存ライブラリを確認
[root@~]# ldd /usr/local/php/bin/php
linux-vdso.so.1 => (0x00007fff753f5000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000031f4600000)
librt.so.1 => /lib64/librt.so.1 (0x000000311ee00000)
libmysqlclient.so.18 => /usr/local/mysql/lib/libmysqlclient.so.18 (0x00007f767b422000)
libmcrypt.so.4 => /usr/lib64/libmcrypt.so.4 (0x00007f767b1ef000)
libiconv.so.2 => /usr/local/lib/libiconv.so.2 (0x00007f767af0a000)
libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x0000003519800000)
libm.so.6 => /lib64/libm.so.6 (0x00000031f2200000)
libdl.so.2 => /lib64/libdl.so.2 (0x00000031f1600000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00000031f3a00000)
libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00000031f8a00000)
libz.so.1 => /usr/local/lib/libz.so.1 (0x00007f767acf2000)
libssl.so.10 => /usr/lib64/libssl.so.10 (0x000000311c600000)
libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x00000031f7600000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x000000311ce00000)
libc.so.6 => /lib64/libc.so.6 (0x00000031f0e00000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00000031f3200000)
libfreebl3.so => /lib64/libfreebl3.so (0x00000031f4e00000)
/lib64/ld-linux-x86-64.so.2 (0x00000031f0a00000)
libidn.so.11 => /lib64/libidn.so.11 (0x00000031f7e00000)
libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x000000351c000000)
libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x000000311f200000)
libkrb5.so.3 => /lib64/libkrb5.so.3 (0x000000311e200000)
libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00000031f7200000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x000000311e600000)
libssl3.so => /usr/lib64/libssl3.so (0x000000351b800000)
libsmime3.so => /usr/lib64/libsmime3.so (0x000000351bc00000)
libnss3.so => /usr/lib64/libnss3.so (0x000000351a800000)
libnssutil3.so => /usr/lib64/libnssutil3.so (0x000000351a400000)
libplds4.so => /lib64/libplds4.so (0x000000351ac00000)
libplc4.so => /lib64/libplc4.so (0x000000351b400000)
libnspr4.so => /lib64/libnspr4.so (0x000000351b000000)
libssh2.so.1 => /usr/lib64/libssh2.so.1 (0x0000003519c00000)
liblber-2.4.so.2 => /lib64/liblber-2.4.so.2 (0x000000351a000000)
libsasl2.so.2 => /usr/lib64/libsasl2.so.2 (0x00000031f8200000)
libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00000031f7a00000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00000031f6e00000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00000031f2600000)

2.pmapで未知プログラムの依存ライブラリを確認
[root@~]# objdump -p /usr/local/php/bin/php |grep NEEDED
NEEDED libcrypt.so.1
NEEDED librt.so.1
NEEDED libmysqlclient.so.18
NEEDED libmcrypt.so.4
NEEDED libiconv.so.2
NEEDED libcurl.so.4
NEEDED libm.so.6
NEEDED libdl.so.2
NEEDED libnsl.so.1
NEEDED libxml2.so.2
NEEDED libz.so.1
NEEDED libssl.so.10
NEEDED libcrypto.so.10
NEEDED libpthread.so.0
NEEDED libc.so.6
NEEDED libresolv.so.2

3.pmapで実行中プログラムのプロセスを確認
[root@~/software/pldd]# ps -ef|grep php-fpm
root 26534 1 0 2014 ?00:01:34 php-fpm: master process (/usr/local/php-5.3.29/etc/php-fpm.conf)
nobody 26535 26534 0 2014 ?00:00:04 php-fpm: pool www
nobody 26536 26534 0 2014 ?00:00:05 php-fpm: pool www
root 30510 30324 0 00:39 pts/000:00:00 grep php-fpm
[root@~/software/pldd]# pmap 26534 |head
26534: php-fpm: master process (/usr/local/php-5.3.29/etc/php-fpm.conf)
0000000000400000 10452K r-x– /usr/local/php-5.3.29/sbin/php-fpm
0000000001035000 76K rw— /usr/local/php-5.3.29/sbin/php-fpm
0000000001048000104K rw—[ anon ]
0000000002a65000 3448K rw—[ anon ]
000000311c600000388K r-x– /usr/lib64/libssl.so.1.0.1e
000000311c661000 2048K —– /usr/lib64/libssl.so.1.0.1e
000000311c861000 16K r—- /usr/lib64/libssl.so.1.0.1e
000000311c865000 28K rw— /usr/lib64/libssl.so.1.0.1e
000000311ce00000 92K r-x– /lib64/libpthread-2.12.so

Ubuntuでnano操作するコマンドまとめ

操作コマンド

^G ==(F1) Invoke the help menu
^X ==(F2) Close currently loaded file/Exit from nano
^O ==(F3) Write the current file to disk == ^O WriteOut

^J ==(F4) Justify the current paragraph
^R ==(F5) Insert another file into the current one
^W ==(F6) Search for text within the editor
^Y ==(F7) Move to the previous screen
^V == ( F8 ) Move to the next screen

^K ==(F9) Cut the current line and store it in the cutbuffer
^U ==(F10) Uncut from the cutbuffer into the current line
^C ==(F11) Show the position of the cursor

^T ==(F12) Invoke the spell checker, if available
^N Move down one line
M-> Open next loaded file
M-I Auto indent enable/disable
M-Z Suspend enable/disable
M-Y Color syntax highlighting enable/disable

CentOSでshellコマンドをまとめ

1.fileコマンド
root@localhost startnews24 ~]# file -s /dev/sda1
/dev/sda1: Linux rev 1.0 ext3 filesystem data (needs journal recovery)
[root@localhost startnews24v ~]# file -s /dev/sda2
/dev/sda2: LVM2 (Linux Logical Volume Manager) , UUID: hrsI8SGq5CAe8qsISHqQ5AG32ALynAM

2.mountコマンド
[root@localhost startnews24 ~]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

3.dfコマンド
[root@localhost startnews24 ~]# df -lhT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00 ext3 285G 12G 259G 5% /
/dev/sda1 ext3 99M 12M 82M 13% /boot
tmpfs tmpfs 1010M 0 1010M 0% /dev/shm

4.fdiskコマンド
root@localhost startnews24 ~]# fdisk -l
Disk /dev/sda: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 38913 312464250 8e Linux LVM

5.その他
cd /;du -sh *
[root@localhost test]# parted

Fedoraでsshdをインストールする

コマンド
yum install openssh-server
service sshd start

ubuntuでIP、DNS、hostnameを設定する方法

1.ipの設定
vim /etc/network/interfaces
動的IPの場合、追加内容
auto eth0
iface eth0 inet dhcp

静的IPの場合、次の内容を追加
auto eth0
iface eth0 inet static
address 192.168.42.202
netmask 255.255.255.0
gateway 192.168.33.1
eth0が再起動
ifconfig eth0 down
ifconfig eth0 up
またはネットワークサービスが再起動
/etc/init.d/networking restart
service networking restart

2.dnsの設定
対象ファイル
/etc/resolv.conf
設定内容
nameserver 202.112.128.53

3.hostnameの設定
対象ファイル
/etc/hostname

「Linux管理」Iptablesファイアウォールにルールを設定する方法まとめ

1.ICMPプロトコルパケットを拒否
iptables -I INPUT -p icmp -j REJECT

2.ICMPプロトコル以外のパケットを許可
iptables -A FORWARD -p ! icmp -j ACCEPT

3.192.168.1.10からのデータ転送を拒否、192.168.0.0/24ネットワークデータを転送
iptables -A FORWARD -s 192.168.1.11 -j REJECT
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT

4.外部eth1のアドレスをプライベートネットワークに転送
iptables -A INPUT -i eth1 -s 192.168.0.0/16 -j DROP
iptables -A INPUT -i eth1 -s 172.16.0.0/12 -j DROP
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP

5.「192.168.1.0/24」を拒否して、4時間後許可
[root@server ~]# iptables -I INPUT -s 10.20.30.0/24 -j DROP
[root@server ~]# iptables -I FORWARD -s 10.20.30.0/24 -j DROP
[root@server ~]# at now +4 hours
at> iptables -D INPUT 1
at> iptables -D FORWARD 1
説明:crondでタスクを実行
[1]+ Stopped at now +4 hours

6.「202.13.10.0/16」からのみSSHリモートログインを許可
iptables -A INPUT -p tcp –dport 22 -s 202.13.10.0/16 -j ACCEPT
iptables -A INPUT -p tcp –dport 22 -j DROP

7.TCPポート20~1024を許可
iptables -A INPUT -p tcp –dport 20:1024 -j ACCEPT
iptables -A OUTPUT -p tcp –sport 20:1024 -j ACCEPT

8.「192.168.0.0/24」のDNS解析パケットを転送
iptables -A FORWARD -s 192.168.0.0/24 -p udp –dport 53 -j ACCEPT
iptables -A FORWARD -d 192.168.0.0/24 -p udp –sport 53 -j ACCEPT

9.他のHostからpingを禁止、ファイアウォールから他のhostにpingを許可
iptables -I INPUT -p icmp –icmp-type Echo-Request -j DROP
iptables -I INPUT -p icmp –icmp-type Echo-Reply -j ACCEPT
iptables -I INPUT -p icmp –icmp-type destination-Unreachable -j ACCEPT

10.MACアドレス「00:0C:29:29:55:3F」からのデータパケットを禁止
iptables -A FORWARD -m mac –mac-source 00:0c:29:29:55:3F -j DROP

11.外部に向けTCPポート20、21、25、110を許可、FTPポート1250-1280を開放
iptables -A INPUT -p tcp -m multiport –dport 20,21,25,110,1250:1280 -j ACCEPT

12.192.168.1.20-192.168.1.99のTCPデータを禁止
iptables -A FORWARD -p tcp -m iprange –src-range 192.168.1.20-192.168.1.99 -j DROP

13.通常のTCPに関係ないsynリクエストパケットを禁止
iptables -A FORWARD -m state –state NEW -p tcp ! –syn -j DROP

14.既存の接続応答パケットを許可、新たなデータパケットをfirewallへのアクセスを拒否
iptables -A INPUT -p tcp -m state –state NEW -j DROP
iptables -A INPUT -p tcp -m state –state ESTABLISHED,RELATED -j ACCEPT

15.web(80)、FTP(20、21、20450-20480)を開放
iptables -I INPUT -p tcp -m multiport –dport 20,21,80 -j ACCEPT
iptables -I INPUT -p tcp –dport 20450:20480 -j ACCEPT
iptables -I INPUT -p tcp -m state –state ESTABLISHED -j ACCEPT
iptables -P INPUT DROP

Uninxでgradle-2.2.1をインストール、コンパイルする方法

1.gradle-2.2.1のダウンロード
http://www.gradle.org/downloads

2.解凍

2.1 cd gradle-2.2.1 cd ..

2.2 ターミナル:sudo su pwd*****

2.3 mv gradle-2.2.1 /usr/local/bin/gradle-2.2.1

2.4 vim .bash_profile

2.5 コピー
GRADLE_HOME=/usr/local/bin/gradle-2.2.1;
export GRADLE_HOME
export PATH=$PATH:$GRADLE_HOME/bin

2.6 esc,:wq で終了

2.7 gradle -versionでバージョンを確認

コマンド:
gradle build

Linuxでシステム時間を確認、修正方法

1.システム時間の確認コマンド
#date

2.時間の修正
# date -s “20014-12-23 12:00:00”
clock -w