Linux問題集
1、LINUX掛載鏡像 重啟后失效如何解決
問題:
LINUX掛載鏡像 重啟后失效
原因:
mount命令需要每次重新啟動后輸入
解決:
加入到開機執(zhí)行文件中,自動加載
vim /etc/rc.d/rc.local增加mount -o loop -t iso9660 /XXXX.iso /XXX
表示開機的時候自己加載上。
2、解決SecureCRT超時自動斷開的問題
問題:
在通過SCRT連接到linux服務器時,經(jīng)常會出現(xiàn)長時間不操作,窗口即退出的超時情況,導致需要重新登錄。
原因:
這是由于SCRT在服務器超時時間內沒有向服務器發(fā)送消息。
解決辦法:
英文版SCRT:
Options->Session Options->Terminal->Anti-idle->勾選Send protocol NO-OP->后面的設置時間默認的是60秒,只要小于自動斷開連接的時限就可以了。
中文版SCRT:
選項->會話選項->終端->反空閑->發(fā)送協(xié)議NO-OP->后面的設置時間默認的是60秒,只要小于自動斷開連接的時限就可以了。
3、去掉jps本身顯示的進程
問題:
在通過jps查看進程時,會伴隨這出現(xiàn)jps本身的進程,這個導致在shell腳本中通過命令“jps | wc -l”統(tǒng)計進程個數(shù)時有些棘手(沒有進程時,個數(shù)為1,這個1代表的是jps的進程)。
原因:
jps命令會附帶上jps的進程,因為jps本身就是jdk的一個小工具。
解決辦法:
執(zhí)行以下命令,過濾掉jps本身的進程:
- jps | grep -v Jps
4、secureCRT下linux rz命令上傳文件失敗或變小(破損)的問題解決方法
問題: rz命令上傳文件失敗或變小(破損)
原因:在使用rz命令時候,有時候上傳文件會失敗,是因為上傳的文件流中包含某新特殊控制字符,造成rz提前結束退出。
解決辦法:
1)、使用rz -ybe命令
2)、在彈出的窗口中要去掉upload files as ASCII選項
補充:
這時候需要使用參數(shù) -be
其中-b是 --binary用二進制的方式上傳,-e是--escape強制escape所有控制字符
5、在vi按了ctrl+s后
問題:
習慣了在windows下寫程序,也習慣了按ctrl+s 保存代碼,在用vi的時候,也習慣性的按ctrl+s
結果就是如同終端死掉了一樣。
原因:
ctrl+s 終止屏幕輸出(即停止回顯),你敲的依然有效,只是看不見,作用嘛,你登錄系統(tǒng)輸入密碼時,是不是看不見你敲的東東
解決:
ctrl+q 恢復屏幕輸出,你剛才敲的都顯示出來了
6、查看linux版本命令
- lsb_release -a
7、修改虛擬機磁盤大小
問題:
虛擬機創(chuàng)建后,硬盤大小不夠了
原因:
虛擬機硬盤大小在創(chuàng)建初期固定了。
解決:
修改虛擬機硬盤大小
- vboxmanage modifyhd ZHY.vdi --resize 100000
8、kernel painic not syncing
問題:
kernel painic not syncing
原因:
由于selinux導致的kernel無法啟動
解決:
1)、重新啟動linux 系統(tǒng),看見如圖見面迅速按E鍵
2)、看見如圖界面在按E鍵編輯
3)、如圖界面使用上下鍵選擇第二個在按E鍵
4)、在最后一行后面添加 enforcing=0 按回車保存退出
5)、在此頁面按B鍵重新啟動即可
9、System times on machines may be out of sync. Check system time and time zones.
問題:
System times on machines may be out of sync. Check system time and time zones.
原因:
linix時間不對
解決:
date修改時間:
- date -s "2012-05-18 04:53:00"
ntpdate命令:
- ntpdate -u 210.72.145.44 //網(wǎng)絡時間同步命令
注意:若不加上-u參數(shù),會出現(xiàn)以下提示:no server suitable for synchronization found
-u:從man ntpdate中可以看出-u參數(shù)可以越過防火墻與主機同步;
210.72.145.44:中國國家授時中心的官方服務器。
ntp常用服務器:
中國國家授時中心:210.72.145.44
NTP服務器(上海) :ntp.api.bz
美國:time.nist.gov
復旦:ntp.fudan.edu.cn
微軟公司授時主機(美國) :time.windows.com
臺警大授時中心(臺灣):asia.pool.ntp.org
經(jīng)測試中國國家授時中心與NTP上海服務器可以正常同步時間,注意需要加上-u參數(shù)!
10、linux下啟動和關閉網(wǎng)卡命令
臨時開啟網(wǎng)卡:
- [root@linux ~]# ifup {interface}
- [root@linux ~]# ifdown {interface}
- [root@linux ~]# ifup eth0
或者
- ifconfig ethx up
- ifconfig ethx down
永久開啟:
修改:ONBOOT=yes
11、CentOS Linux解決Device eth0 does not seem to be present
問題:
在VMware里克隆出來的CentOS Linux。。
ifconfig...沒有看到eth0.。然后重啟網(wǎng)卡又報下面錯誤。
故障現(xiàn)象:
- service network restart
- Shutting down loopback insterface: [ OK ]
- Bringing up loopback insterface: [ OK ]
- Bringing up interface eth0: Device eth0 does not seem to be present,delaying initialization. [FAILED]
- [CentOS Linux解決Device eth0 does not seem to be present]
解決:
首先,打開/etc/udev/rules.d/70-persistent-net.rules內容如下面例子所示:
- # vi /etc/udev/rules.d/70-persistent-net.rules
- # This file was automatically generated by the /lib/udev/write_net_rules
- # program, run by the persistent-net-generator.rules rules file.
- #
- # You can modify it, as long as you keep each rule on a single
- # line, and change only the value of the NAME= key.
- # PCI device 0x1022:0x2000 (pcnet32)
- SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:8f:89:9
- 7", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
- # PCI device 0x1022:0x2000 (pcnet32)
- SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:50:bd:1
- 7", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
記錄下,eth1網(wǎng)卡的mac地址00:0c:29:50:bd:17
接下來,打開/etc/sysconfig/network-scripts/ifcfg-eth0
- # vi /etc/sysconfig/network-scripts/ifcfg-eth0
將 DEVICE="eth0" 改成 DEVICE="eth1" ,
將 HWADDR="00:0c:29:8f:89:97" 改成上面的mac地址 HWADDR="00:0c:29:50:bd:17"
最后,重啟網(wǎng)絡
- # service network restart
或者
- # /etc/init.d/network restart
正常了。
12、用route add default gw xxxx后重啟network進程路由消失
問題:
用route add default gw xxxx后重啟network進程路由消失
原因:
把ifcfg-eth0配置中的GATEWAY去掉后用route add default gw 看能不能添加默認網(wǎng)關,在沒有重啟network進程前有效,在重啟完
network進程后就沒有該路由了用route add default gw xxxx后重啟network進程路由消失當然重啟就沒有了,還是寫到ifcfg-eth0中去吧
解決:
用route add default gw xxxx后重啟network進程路由消失寫到 /etc/sysconfig/network里:
GATEWAY=xxx.xxx.xxx.xxx用route add default gw xxxx后重啟ne
13、/etc/resolv.conf 的更改在重啟后丟失
問題:/etc/resolv.conf 的更改在重啟后丟失
解決:在eth0的文件中加入DNS
- /etc/sysconfig/network-scripts/ ifcfg-eth0 的內容:
- # Intel Corporation 82540EM Gigabit Ethernet Controller
- DEVICE=eth0
- BOOTPROTO=none
- ONBOOT=yes
- HWADDR=08:00:27:cc:64:86
- NETMASK=255.255.255.0
- IPADDR=192.168.0.155
- GATEWAY=192.168.0.1
- TYPE=Ethernet
- USERCTL=no
- IPV6INIT=no
- PEERDNS=no
- #我在這添加了DNS后,/etc/ resolv.conf文件內容保存下來了
- DNS1=202.96.128.86
- DNS2=202.96.128.166
- DNS3=8.8.8.8
14、scp:command not found
問題:
scp:command not found
原因:
缺少依賴包
解決:
- yum -y install openssh-clients
15、SIOCADDRT:no such process
問題:
SIOCADDRT:no such process
原因:
檢查 ip地址和gateway是不是在同一網(wǎng)段。
解決:
修改為同一網(wǎng)段
16、unknown host www.baidu.com network is unreachable
問題:
在安裝了虛擬機后,ping百度,發(fā)現(xiàn)unknown host www.baidu.com network is unreachable錯誤
原因:
1)、網(wǎng)卡信息配置是否正確
2)、路由器加入設置網(wǎng)關
解決:
1)、添加網(wǎng)關:
- route add default gw 192.168.0.1
2)、在、etc/resolv.conf里加入DNS
- nameserver 8.8.8.8
3)、如果上不去網(wǎng),配置是不是如下
eth0(橋接):動態(tài)獲取
eth1(host-only):靜態(tài)ip,只能配置IPADDR,其他的都別配置。
或者:
eth0(橋接):靜態(tài),配置IPADDR GATEWAY DNS都要寫
eth1(host-only):靜態(tài)ip,只能配置IPADDR,其他的都別配置。
17、rz: command not found
問題:
rz: command not found
原因:
沒有安裝lrzsz軟件
解決:
- yum -y install lrzsz
rz -y :上傳
sz:下載到用戶的下載目錄
18、centos nginx安裝"conf/koi-win" 與"/usr/local/nginx/conf/koi-win" 為同一文件
問題:
centos nginx安裝"conf/koi-win" 與"/usr/local/nginx/conf/koi-win" 為同一文件
原因:
安裝文件與配置文件中的文件沖突了
解決:
加上path:注意,nginx.conf路徑不要更改
- ./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.conf
19、nginx:accept() failed (24: Too many open files)
問題:
有一臺服務器訪問量非常高,使用的是nginx ,錯誤日志不停報以下錯誤:
- 2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files)
- 2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files)
- 2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files)
- 2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files)
- 2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files)
- 2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files)
- 2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files)
- 2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files)
- 2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files)
- 2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files)
原因:
centos5.3 中 ulimit -n 為1024, 當Nginx連接數(shù)超過1024時,error.log中就出現(xiàn)以下錯誤:
[alert] 12766#0: accept() failed (24: Too many open files)
解決:
使用 ulimit -n 655350 可以把打開文件數(shù)設置足夠大, 同時修改nginx.conf , 添加 worker_rlimit_nofile 655350; (與error_log同級別)
- worker_processes 2;
- worker_rlimit_nofile 10240;
- events {
- # worker_connections 10240;
- }
這樣就可以解決Nginx連接過多的問題,Nginx就可以支持高并發(fā)。<還要修改nginx>
另外, ulimit -n 還會影響到mysql 的并發(fā)連接數(shù)。把他提高,也就提高了mysql并發(fā)。
注意: 用ulimit -n 2048 修改只對當前的shell有效,退出后失效。
修改方法
若要令修改ulimits的數(shù)值永久生效,則必須修改配置文檔,可以給ulimit修改命令放入/etc/profile里面,這個方法實在是不方便,
還有一個方法是修改/etc/security/limits.conf
/etc/security/limits.conf 格式,文件里面有很詳細的注釋,比如
* soft nofile 655360
* hard nofile 655360
星號代表全局, soft為軟件,hard為硬件,nofile為這里指可打開文件數(shù)。
把以上兩行內容加到 limits.conf文件中即可。
另外,要使 limits.conf 文件配置生效,必須要確保 pam_limits.so 文件被加入到啟動文件中。查看 /etc/pam.d/login 文件中有:
- session required /lib/security/pam_limits.so
修改完重新登錄就可以見到效果,可以通過 ulimit -n 查看。
20、linux下改變文件/文件夾所屬用戶或群組
文件夾:修改成hadoop組的hadoop用戶
- chown -R hadoop:hadoop /home/hadoop/hadoop
文件:修改成hadoop組的hadoop用戶
- chown hadoop:hadoop /home/hadoop/hadoop.tar
21、centos:only for i686
問題:
centos:only for i686
原因:
虛擬化技術沒有開啟
解決:
設置BIOS,Virtualization Technology 為 enabled 后,保存。
保存好修改后的BIOS后,需要冷啟動一下,即:關機,再開機。這樣這個設置才生效,要不然仍然無法生效。這個一定要注意,直接通過重啟Windows無法達到這個目的的。
22、OpenSSL is not properly installed on your system.
問題:
./configure時老是報!
- checking openssl/ssl.h usability... no
- checking openssl/ssl.h presence... no
- checking for openssl/ssl.h... no
- configure: error:
- !!! OpenSSL is not properly installed on your system. !!!
- !!! Can not include OpenSSL headers files.
原因:
缺少openssl依賴
解決:
- yum install -y openssl openssl-devel
23、Oracle VM VirtualBox 不顯示64位系統(tǒng) linux 64 redhat 64
問題:
在vbox安裝linux 64位虛擬機時,選擇了linux操作系統(tǒng)后,看不到64位的安裝選項。
原因:
由于機器沒有開啟虛擬化技術(Intnet virtualization technology)
解決:
1)、打開BIOS里的虛擬化技術(自己上網(wǎng)查該如何打開自己機器的BIOS,thinkpad是按回車)
2)、修改bios中的virtualization 設為ENABLED
24、Error getting 'State' for /org/freedesktop/NetworkManager/ActiveConnection/0
問題:
Error getting 'State' for /org/freedesktop/NetworkManager/ActiveConnection/0
原因:
虛擬機使用的是無線驅動,但是本機使用的卻是有線網(wǎng)絡 , 導致激活不了
解決:
將虛擬機使用的網(wǎng)卡給為當前正在上網(wǎng)的網(wǎng)卡。
25、/bin/bash^M: bad interpreter: 沒有那個文件或目錄
問題:
/bin/bash^M: bad interpreter: 沒有那個文件或目錄
原因:
運行腳本時出現(xiàn)了這樣一個錯誤,打開之后并沒有找到所謂的^M,查了之后才知道原來是文件格式的問題,也就是linux和windows之間的不完全兼容。。。
vim test.sh
:set ff?
如果出現(xiàn)fileforma=dos那么就基本可以確定是這個問題了。
解決:
:set fileformat=unix
:wq
26、關于虛擬機無法顯示網(wǎng)卡的問題
問題:
在安裝虛擬機的時候,忘記配置網(wǎng)絡,導致在機器啟動后,執(zhí)行ifconfig只顯示lo網(wǎng)卡
原因:
在配置網(wǎng)絡的時候,有個“自動連接”的選項,這個選項的意義是告訴虛擬機在啟動的時候幫你啟動網(wǎng)卡,如果沒有勾選,那么啟動虛擬機的時候就不會幫你啟動網(wǎng)卡
解決:
1)、臨時啟動網(wǎng)卡
- ifconfig eth0 up
2)、永久啟動網(wǎng)卡
- vi /etc/sysconfig/network-scripts/ifcfg-eth0
將onboot選項改為yes
重啟網(wǎng)卡
- service network restart
27、關于vmware靜態(tài)ip配置的說明
問題:
如果你配置的是nat的dhcp模式,那么不需要看這篇帖子。
如果你是配置的靜態(tài)ip,參考下面的步驟
解決:
查看虛擬機的網(wǎng)絡參數(shù)
1)打開虛擬機,選擇菜單“編輯”》“編輯虛擬網(wǎng)絡”,
先恢復默認參數(shù),然后設置NAT。設置虛擬網(wǎng)絡的子網(wǎng)IP、網(wǎng)關等
設置物理主機的虛擬網(wǎng)絡參數(shù)
1)打開物理主機的網(wǎng)絡連接,找到“VMware Network Adapter VMnet8”,右擊設置屬性
2)設置物理主機的虛擬網(wǎng)絡IP地址:192.168.230.X,X在0~255之間,但不可與上面的虛擬網(wǎng)絡的子網(wǎng)IP重復。子網(wǎng)掩碼、默認網(wǎng)關與上面獲取到的虛擬網(wǎng)絡的子網(wǎng)掩碼、網(wǎng)關保持一致。DNS可設也不可忽略,如果設置,可利用google的免費DNS:8.8.8.8和8.8.4.4。
設置具體虛擬機的網(wǎng)絡參數(shù)
1)設置ip、網(wǎng)關等
- vim /etc/sysconfig/network-scripts/ifcfg-eth0
DNS設置:
- vim /etc/resolv.conf
2)設置虛擬機的網(wǎng)絡IP地址:192.168.230.X,X在0~255之間,但不可與上面的虛擬網(wǎng)絡的子網(wǎng)IP、物理機迅即網(wǎng)絡IP重復。子網(wǎng)掩碼、默認網(wǎng)關與上面獲取到的虛擬網(wǎng)絡的子網(wǎng)掩碼、網(wǎng)關保持一致。DNS可設也不可忽略,如果設置,可利用google的免費DNS:8.8.8.8和8.8.4.4。如果還有虛擬機,可進行同樣的設置。
【51CTO原創(chuàng)稿件,合作站點轉載請注明原文作者和出處為51CTO.com】