Linux问题集

来源:互联网 发布:qt淘宝兼职 编辑:程序博客网 时间:2024/06/03 16:51

1、LINUX挂载镜像 重启后失效如何解决
问题:
LINUX挂载镜像 重启后失效
原因:
mount命令需要每次重新启动后输入
解决:
加入到开机执行文件中,自动加载
vim /etc/rc.d/rc.local增加mount -o loop -t iso9660 /XXXX.iso /XXX
表示开机的时候自己加载上。

2、解决SecureCRT超时自动断开的问题
问题:
在通过SCRT连接到linux服务器时,经常会出现长时间不操作,窗口即退出的超时情况,导致需要重新登录。
原因:
这是由于SCRT在服务器超时时间内没有向服务器发送消息。
解决办法:
英文版SCRT:
Options->Session Options->Terminal->Anti-idle->勾选Send protocol NO-OP->后面的设置时间默认的是60秒,只要小于自动断开连接的时限就可以了。
中文版SCRT:
选项->会话选项->终端->反空闲->发送协议NO-OP->后面的设置时间默认的是60秒,只要小于自动断开连接的时限就可以了。

3、去掉jps本身显示的进程
问题:
在通过jps查看进程时,会伴随这出现jps本身的进程,这个导致在shell脚本中通过命令“jps | wc -l”统计进程个数时有些棘手(没有进程时,个数为1,这个1代表的是jps的进程)。
原因:
jps命令会附带上jps的进程,因为jps本身就是jdk的一个小工具。
解决办法:
执行以下命令,过滤掉jps本身的进程:

?
1
jps | grep-vJps

4、secureCRT下linux rz命令上传文件失败或变小(破损)的问题解决方法
问题: rz命令上传文件失败或变小(破损)
原因:在使用rz命令时候,有时候上传文件会失败,是因为上传的文件流中包含某新特殊控制字符,造成rz提前结束退出。

解决办法:
1、使用rz -ybe命令
2、在弹出的窗口中要去掉upload files as ASCII选项
补充:
这时候需要使用参数 -be
其中-b是 --binary用二进制的方式上传,-e是--escape强制escape所有控制字符

5、在vi按了ctrl+s后
问题:
习惯了在windows下写程序,也习惯了按ctrl+s 保存代码,在用vi的时候,也习惯性的按ctrl+s
结果就是如同终端死掉了一样。
原因:
ctrl+s 终止屏幕输出(即停止回显),你敲的依然有效,只是看不见,作用嘛,你登录系统输入密码时,是不是看不见你敲的东东
解决:
ctrl+q 恢复屏幕输出,你刚才敲的都显示出来了

6、查看linux版本命令

?
1
lsb_release -a

7、修改虚拟机磁盘大小
问题:
虚拟机创建后,硬盘大小不够了
原因:
虚拟机硬盘大小在创建初期固定了。
解决:
修改虚拟机硬盘大小

?
1
vboxmanage modifyhd ZHY.vdi --resize 100000

8、kernel painic not syncing
问题:
kernel painic not syncing
原因:
由于selinux导致的kernel无法启动
解决:
1、重新启动linux 系统,看见如图见面迅速按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修改时间:

?
1
date-s "2012-05-18 04:53:00"

ntpdate命令:

?
1
ntpdate -u 210.72.145.44 //网络时间同步命令

注意:若不加上-u参数,会出现以下提示:no server suitable for synchronization found
-u:从man ntpdate中可以看出-u参数可以越过防火墙与主机同步;
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
经测试中国国家授时中心与NTP上海服务器可以正常同步时间,注意需要加上-u参数!

10、linux下启动和关闭网卡命令
临时开启网卡:

?
1
2
3
[root@linux ~]# ifup {interface}
[root@linux ~]# ifdown {interface}
[root@linux ~]# ifup eth0

或者

?
1
2
ifconfigethx up
ifconfigethx down

永久开启:
修改:ONBOOT=yes

11、CentOS Linux解决Device eth0 does not seem to be present
问题:
在VMware里克隆出来的CentOS Linux。。
ifconfig...没有看到eth0.。然后重启网卡又报下面错误。
故障现象:

?
1
2
3
4
5
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内容如下面例子所示:

?
1
2
3
4
5
6
7
8
9
10
11
12
# 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 longas 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网卡的mac地址00:0c:29:50:bd:17
接下来,打开/etc/sysconfig/network-scripts/ifcfg-eth0

?
1
# 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"
最后,重启网络

?
1
# service network restart

或者

?
1
# /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 看能不能添加默认网关,在没有重启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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/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
原因:
缺少依赖包
解决:

?
1
yum -y installopenssh-clients

15、SIOCADDRT:no such process
问题:
SIOCADDRT:no such process
原因:
检查 ip地址和gateway是不是在同一网段。
解决:
修改为同一网段

16、unknown host www.baidu.com network is unreachable
问题:
在安装了虚拟机后,ping百度,发现unknown host www.baidu.com network is unreachable错误
原因:
1、网卡信息配置是否正确
2、路由器加入设置网关
解决:
1、添加网关:

?
1
route add default gw 192.168.0.1

2、在、etc/resolv.conf里加入DNS

?
1
nameserver 8.8.8.8

3、如果上不去网,配置是不是如下
eth0(桥接):动态获取
eth1(host-only):静态ip,只能配置IPADDR,其他的都别配置。
或者:
eth0(桥接):静态,配置IPADDR GATEWAY DNS都要写
eth1(host-only):静态ip,只能配置IPADDR,其他的都别配置。

17、rz: command not found
问题:
rz: command not found
原因:
没有安装lrzsz软件
解决:

?
1
yum -y installlrzsz

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路径不要更改

?
1
./configure--prefix=/usr/local/nginx--conf-path=/usr/local/nginx/nginx.conf

19、nginx:accept() failed (24: Too many open files)
问题:
有一台服务器访问量非常高,使用的是nginx ,错误日志不停报以下错误:

?
1
2
3
4
5
6
7
8
9
10
2010/05/2608:53:49 [alert] 13576#0: accept() failed (24: Too many open files)
2010/05/2608:53:49 [alert] 13576#0: accept() failed (24: Too many open files)
2010/05/2608:53:49 [alert] 13576#0: accept() failed (24: Too many open files)
2010/05/2608:53:49 [alert] 13576#0: accept() failed (24: Too many open files)
2010/05/2608:53:49 [alert] 13576#0: accept() failed (24: Too many open files)
2010/05/2608:53:49 [alert] 13576#0: accept() failed (24: Too many open files)
2010/05/2608:53:49 [alert] 13576#0: accept() failed (24: Too many open files)
2010/05/2608:53:49 [alert] 13576#0: accept() failed (24: Too many open files)
2010/05/2608:53:49 [alert] 13576#0: accept() failed (24: Too many open files)
2010/05/2608:53:49 [alert] 13576#0: accept() failed (24: Too many open files)

原因:
centos5.3 中 ulimit -n 为1024, 当Nginx连接数超过1024时,error.log中就出现以下错误:
[alert] 12766#0: accept() failed (24: Too many open files)
解决:
使用 ulimit -n 655350 可以把打开文件数设置足够大, 同时修改nginx.conf , 添加 worker_rlimit_nofile 655350; (与error_log同级别)

?
1
2
3
4
5
worker_processes 2;
worker_rlimit_nofile 10240;
events {
# worker_connections 10240;
}

这样就可以解决Nginx连接过多的问题,Nginx就可以支持高并发。<还要修改nginx>
另外, ulimit -n 还会影响到mysql 的并发连接数。把他提高,也就提高了mysql并发。
注意: 用ulimit -n 2048 修改只对当前的shell有效,退出后失效。
修改方法
若要令修改ulimits的数值永久生效,则必须修改配置文档,可以给ulimit修改命令放入/etc/profile里面,这个方法实在是不方便,
还有一个方法是修改/etc/security/limits.conf
/etc/security/limits.conf 格式,文件里面有很详细的注释,比如
* soft nofile 655360
* hard nofile 655360
星号代表全局, soft为软件,hard为硬件,nofile为这里指可打开文件数。
把以上两行内容加到 limits.conf文件中即可。
另外,要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。查看 /etc/pam.d/login 文件中有:

?
1
session required /lib/security/pam_limits.so

修改完重新登录就可以见到效果,可以通过 ulimit -n 查看。

20、linux下改变文件/文件夹所属用户或群组
文件夹:修改成hadoop组的hadoop用户

?
1
chown-R hadoop:hadoop /home/hadoop/hadoop

文件:修改成hadoop组的hadoop用户

?
1
chownhadoop: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时老是报!

?
1
2
3
4
5
6
checking openssl/ssl.h usability... no
checking openssl/ssl.h presence... no
checkingforopenssl/ssl.h... no
configure: error:
!!! OpenSSL is not properly installed on your system. !!!
!!! Can not include OpenSSL headers files.

原因:
缺少openssl依赖
解决:

?
1
yuminstall-y openssl openssl-devel

23、Oracle VM VirtualBox 不显示64位系统 linux 64 redhat 64
问题:
在vbox安装linux 64位虚拟机时,选择了linux操作系统后,看不到64位的安装选项。
原因:
由于机器没有开启虚拟化技术(Intnet virtualization technology)
解决:
1、打开BIOS里的虚拟化技术(自己上网查该如何打开自己机器的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
原因:
虚拟机使用的是无线驱动,但是本机使用的却是有线网络 , 导致激活不了
解决:
将虚拟机使用的网卡给为当前正在上网的网卡。

25、/bin/bash^M: bad interpreter: 没有那个文件或目录
问题:
/bin/bash^M: bad interpreter: 没有那个文件或目录
原因:
运行脚本时出现了这样一个错误,打开之后并没有找到所谓的^M,查了之后才知道原来是文件格式的问题,也就是linux和windows之间的不完全兼容。。。
vim test.sh
:set ff?
如果出现fileforma=dos那么就基本可以确定是这个问题了。
解决:
:set fileformat=unix
:wq

26、关于虚拟机无法显示网卡的问题
问题:
在安装虚拟机的时候,忘记配置网络,导致在机器启动后,执行ifconfig只显示lo网卡
原因:
在配置网络的时候,有个“自动连接”的选项,这个选项的意义是告诉虚拟机在启动的时候帮你启动网卡,如果没有勾选,那么启动虚拟机的时候就不会帮你启动网卡
解决:
1、临时启动网卡

?
1
ifconfigeth0 up

2、永久启动网卡

?
1
vi/etc/sysconfig/network-scripts/ifcfg-eth0

将onboot选项改为yes
重启网卡

?
1
service network restart

27、关于vmware静态ip配置的说明

问题:
如果你配置的是nat的dhcp模式,那么不需要看这篇帖子。
如果你是配置的静态ip,参考下面的步骤
解决:
查看虚拟机的网络参数
1)打开虚拟机,选择菜单“编辑”》“编辑虚拟网络”,
先恢复默认参数,然后设置NAT。设置虚拟网络的子网IP、网关等

Linux问题集

设置物理主机的虚拟网络参数
1)打开物理主机的网络连接,找到“VMware Network Adapter VMnet8”,右击设置属性
2)设置物理主机的虚拟网络IP地址:192.168.230.X,X在0~255之间,但不可与上面的虚拟网络的子网IP重复。子网掩码、默认网关与上面获取到的虚拟网络的子网掩码、网关保持一致。DNS可设也不可忽略,如果设置,可利用google的免费DNS:8.8.8.8和8.8.4.4。
设置具体虚拟机的网络参数
1)设置ip、网关等

?
1
vim/etc/sysconfig/network-scripts/ifcfg-eth0

Linux问题集

DNS设置:

?
1
vim/etc/resolv.conf

2)设置虚拟机的网络IP地址:192.168.230.X,X在0~255之间,但不可与上面的虚拟网络的子网IP、物理机迅即网络IP重复。子网掩码、默认网关与上面获取到的虚拟网络的子网掩码、网关保持一致。DNS可设也不可忽略,如果设置,可利用google的免费DNS:8.8.8.8和8.8.4.4。如果还有虚拟机,可进行同样的设置。

0 0