Linux问题集

企业动态
本文列出了27点Linux问题,具体请看下文。

 

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 -v Jps 

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. [root@linux ~]# ifup {interface}  
  2. [root@linux ~]# ifdown {interface}  
  3. [root@linux ~]# ifup eth0  

或者

  1. ifconfig ethx up 
  2. ifconfig ethx down  

永久开启:

修改:ONBOOT=yes

11、CentOS Linux解决Device eth0 does not seem to be present

问题:

在VMware里克隆出来的CentOS Linux。。

ifconfig...没有看到eth0.。然后重启网卡又报下面错误。

故障现象:

  1. service network restart 
  2. Shutting down loopback insterface: [ OK ] 
  3. Bringing up loopback insterface: [ OK ] 
  4. Bringing up interface eth0: Device eth0 does not seem to be present,delaying initialization. [FAILED] 
  5. [CentOS Linux解决Device eth0 does not seem to be present]  

解决:

首先,打开/etc/udev/rules.d/70-persistent-net.rules内容如下面例子所示:

  1. # vi /etc/udev/rules.d/70-persistent-net.rules 
  2. # This file was automatically generated by the /lib/udev/write_net_rules 
  3. # program, run by the persistent-net-generator.rules rules file. 
  4. # You can modify it, as long as you keep each rule on a single 
  5. # line, and change only the value of the NAMEkey
  6. # PCI device 0x1022:0x2000 (pcnet32) 
  7. SUBSYSTEM=="net"ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:8f:89:9 
  8. 7", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" 
  9. # PCI device 0x1022:0x2000 (pcnet32) 
  10. SUBSYSTEM=="net"ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:50:bd:1 
  11. 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. /etc/sysconfig/network-scripts/ ifcfg-eth0 的内容: 
  2. # Intel Corporation 82540EM Gigabit Ethernet Controller 
  3. DEVICE=eth0 
  4. BOOTPROTO=none 
  5. ONBOOT=yes 
  6. HWADDR=08:00:27:cc:64:86 
  7. NETMASK=255.255.255.0 
  8. IPADDR=192.168.0.155 
  9. GATEWAY=192.168.0.1 
  10. TYPE=Ethernet 
  11. USERCTL=no 
  12. IPV6INIT=no 
  13. PEERDNS=no 
  14. #我在这添加了DNS后,/etc/ resolv.conf文件内容保存下来了 
  15. DNS1=202.96.128.86 
  16. DNS2=202.96.128.166 
  17. DNS3=8.8.8.8  

14、scp:command not found

问题:

scp:command not found

原因:

缺少依赖包

解决: 

  1. yum -y install openssh-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 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路径不要更改

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

19、nginx:accept() failed (24: Too many open files)

问题:

有一台服务器访问量非常高,使用的是nginx ,错误日志不停报以下错误:

  1. 2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files) 
  2. 2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files) 
  3. 2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files) 
  4. 2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files) 
  5. 2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files) 
  6. 2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files) 
  7. 2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files) 
  8. 2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files) 
  9. 2010/05/26 08:53:49 [alert] 13576#0: accept() failed (24: Too many open files) 
  10. 2010/05/26 08: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. worker_processes 2; 
  2. worker_rlimit_nofile 10240; 
  3. events { 
  4. # worker_connections 10240; 
  5.  

这样就可以解决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. 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时老是报!

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

原因:

缺少openssl依赖

解决:

  1. yum install -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. ifconfig eth0 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、网关等 

设置物理主机的虚拟网络参数

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  

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。如果还有虚拟机,可进行同样的设置。

【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】

责任编辑:庞桂玉 来源: 神算子
相关推荐

2016-12-14 15:59:31

HBase分布式数据

2016-12-14 14:47:59

Zookeeper服务器

2016-12-19 19:04:30

Hive问题集

2016-12-13 16:36:15

Hadoopwindows

2011-03-28 17:51:10

nagios

2010-03-25 16:20:44

CentOS安装

2011-02-22 14:21:49

vsftpd

2009-10-09 17:40:38

VB.Net问题集

2018-07-12 09:25:07

磁盘阵列数据恢复

2011-02-25 14:25:04

Proftpd

2011-02-22 14:40:25

vsftpd

2009-12-31 15:28:02

Silverlight

2009-07-01 00:23:40

MySQL字符集乱码

2011-05-16 13:15:55

MySQL存储字符集

2011-03-03 13:41:36

Pureftpd防火墙

2011-03-03 14:26:15

PureftpdSSHFTP

2010-05-17 10:01:09

MySql字符集

2020-10-08 10:10:51

Linux系统编程信号集

2011-03-03 14:56:56

Pureftpd脚本

2010-06-13 10:06:05

MySQL4.1.7
点赞
收藏

51CTO技术栈公众号