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本身的进程:
- 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版本命令
- lsb_release -a
7、修改虚拟机磁盘大小
问题:
虚拟机创建后,硬盘大小不够了
原因:
虚拟机硬盘大小在创建初期固定了。
解决:
修改虚拟机硬盘大小
- 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修改时间:
- date -s "2012-05-18 04:53:00"
ntpdate命令:
- 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下启动和关闭网卡命令
临时开启网卡:
- [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.。然后重启网卡又报下面错误。
故障现象:
- 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网卡的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"
最后,重启网络
- # 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 看能不能添加默认网关,在没有重启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是不是在同一网段。
解决:
修改为同一网段
16、unknown host www.baidu.com network is unreachable
问题:
在安装了虚拟机后,ping百度,发现unknown host www.baidu.com network is unreachable错误
原因:
1)、网卡信息配置是否正确
2)、路由器加入设置网关
解决:
1)、添加网关:
- route add default gw 192.168.0.1
2)、在、etc/resolv.conf里加入DNS
- 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软件
解决:
- 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连接数超过1024时,error.log中就出现以下错误:
[alert] 12766#0: accept() failed (24: Too many open files)
解决:
使用 ulimit -n 655350 可以把打开文件数设置足够大, 同时修改nginx.conf , 添加 worker_rlimit_nofile 655350; (与error_log同级别)
- 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 文件中有:
- 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位系统 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)、临时启动网卡
- ifconfig eth0 up
2)、永久启动网卡
- vi /etc/sysconfig/network-scripts/ifcfg-eth0
将onboot选项改为yes
重启网卡
- 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、网关等
- vim /etc/sysconfig/network-scripts/ifcfg-eth0
DNS设置:
- 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】