[Linux][hostname] – (Redhat / Fedora / CentOS) 更改 hostname 的方式

Step 1:假設原本 hostname 為 NS, 現在想要更改為 NSx64
使用 root 才可以更改 hostname
    # su – root

Step 2:將 /etc/hosts 內出現的 NS 都改成 NSx64
    # vi /etc/hosts:
    127.0.0.1 NSx64 localhost.localdomain localhost

Step 3:
將 /etc/sysconfig/network 內的 HOSTNAME 改成 NSx64
    # vi /etc/sysconfig/network
    NETWORKING=yes
    HOSTNAME=NSx64

Step 4:再使用 hostname 命令指定一次
# hostname NSx64
這時就已經設定完成. 可以使用 hostname 命令去確認一次
# hostname
NSx64
只要重新登入, 命令提示字串就會改成 [root@NSx64 /]#

[Linux][umount] – 光碟無法umonut

顯示正使用掛載點的使用者:
指令:fuser -vm 掛載點

[root@localhost cdrom]# fuser -vm /media/cdrom #顯示正使用掛載點的user
[root@localhost cdrom]# fuser -kvm /media/cdrom #把user踢掉

[Linux][kill] – 檢查 pid 是否有在運作

Linux 下检查 PID 是否存在

  1. kill -0 pid

对于信号“0”的解释:exit code indicates if a signal may be sent

C 语言里就是

  1. kill (pid, 0)

[Linux][pidof] – 找出某個程序的 pid 有那些

比方說我要找 httpd

# pidof httpd

# 31332 31329 31297 30666 26499 22284

它就會列出一堆 PID 給你看

[Linux][Redhat 9.0] – route table多出169.254.0.0這一筆route table 的解決方法

問 :

為何安裝Redhat 9.0後,系統的route table多出169.254.0.0這一筆route table?

解 :

這是因為/etc/sysconfigu/network-scripts/ifup ,新增了以下敘述
代碼:
# Add Zeroconf route.
if [ -z "${NOZEROCONF}" -a "${ISALIAS}" = "no" ]; then
    ip route replace 169.254.0.0/16 dev ${REALDEVICE}

 「解決方法」請至/etc/sysconfig/network-scripts 目錄下針對所有的ifcfg-ethx(eth0、eth1)檔案裡,新增以下敘述
代碼:
NOZEROCONF=yes

 

然後重新restart 該ethernet interface

[Linux][iptable] – An iptables guide & tutorial

An iptables guide & tutorial

一個把 iptable 寫的不錯網站

[Apache] – (98)Address already in use: make_sock: could not bind to address [::]:80?

問:

在進行 apache 重啟時發現以下問題出現 ?

# ./apachectl start
(98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs

解:

使用 lsof 時才發現,
原來是網頁上執行程式中,
有人把它 lock 住了
# ps aux | grep snort
500      17211  0.0  0.2 53796 1124 ?        S    16:01   0:00 sh -c cd ‘/usr/local/apache/www/html’ ; /usr/bin/sudo /usr/local/apache/bin/snortc -l /usr/local/apache/log 1,2\> /dev/null \& <- 就是這行
root     17212  0.0  0.2 10092 1000 ?        S    16:01   0:00 /usr/local/apache/bin/snortc -l /usr/local/apache/log 1,2> /dev/null &
root     17669  0.0  0.1 51056  596 pts/1    R+   16:04   0:00 grep snort

因此把它 pid 直接 kill 掉就行啦 !!!

# lsof -i :80
COMMAND  PID      USER   FD   TYPE DEVICE SIZE NODE NAME
sh       713   apache    3u  IPv6 189115       TCP *:http (LISTEN)
sh      1795  apache    3u  IPv6 189115       TCP *:http (LISTEN)

# kill -9 713 1795
# ./apachectl start
# pgrep httpd
3774
3776
3777
3779
3780
3781
3782
3790
3792
3794
3795
3796

問題:

/usr/openv/netbackup/bin/bpcd: error while loading shared libraries:

libstdc++-libc6.2-2.so.3: cannot open shared object file: No such file or directory

解決:

1、# locate libstdc++-libc6.2-2.so.3 果然沒有
2、# yum -y install libstdc++-libc6.2-2.so.3
它會安排以下二個檔案

compat-libstdc++-296-2.96-132.7.2.i386.rpm
libgcc-3.4.6-10.i386.rpm

Dependencies Resolved

=============================================================================
Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
compat-libstdc++-296    i386       2.96-132.7.2     base              176 k
Installing for dependencies:
libgcc                  i386       3.4.6-10         base               64 k

Transaction Summary
=============================================================================

3、# ldconfig -p | grep  libstdc++-libc6.2-2.so.3 有啦
libstdc++-libc6.2-2.so.3 (libc6) => /usr/lib/libstdc++-libc6.2-2.so.3

Next Page »