简介
此篇主要介绍在平常工作中的有关linux遇到的问题
问题
kill后台进程时的Terminated
问题 : 如何不显示kill后台进程时的Terminated 提示?
原因 : pkill 匹配到您的脚本本身,自然也一起杀掉了,后面的内容都执行不到
解决 : 将脚本改个名字
firefox无法使用
问题 : firefox无法使用
原因 : 暂无
解决 :
cp -r ~/.mozilla/firefox/stj61pc8.default ~/.mozilla/firefox/stj61pc8.default-1
firefox -profile ~/.mozilla/firefox/xxxx.default-1
lib文件无法加载
问题 : lib文件无法加载
原因 : 环境变量中无法加载
解决 :
ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib64
ipsec newhostkey长时间卡死
问题 : ipsec newhostkey –output /etc/ipsec.secrets 命令长时间卡死
原因 : 原因可能是使用/dev/random生成随机数出现bug造成程序阻塞,用/dev/urandom来代替它。
解决 :
sed -i 's#ipsec rsasigkey $verbose $random $configdir $password $host $bits#ipsec rsasigkey $verbose --random /dev/urandom $host $bits#g' /usr/local/libexec/ipsec/newhostkey
vnc中文乱码
问题 : vnc中文乱码
原因 : 没有添加中文支持
解决 :
yum install -y chinese support
vnc无法连接
问题 : vnc无法连接
原因 : vnc的连接端口,要在我们配置的端口基础上在添加5900
解决 : 修改vnc的连接端口,在我们配置的端口上在添加5900
#6868表示端口号
echo 'VNCSERVERS="6868:root"' >> /etc/sysconfig/vncservers
echo 'VNCSERVERARGS[1]="-geometry 1024x768"' >> /etc/sysconfig/vncservers
#vnc的连接端口是 12768 (6868 + 5900)
定时任务不执行java程序
问题 : 配置了crontab任务不执行
原因 :
- 可能没有开启 crontab
- crontab中将输出重定向了,无法看到日志
>dev/null 2>&1
- java的环境变量有问题
解决 :
-
开启crontab
-
取消重定向,将输出写入到文本,查看错误日志
-
在脚本中 执行jar时 java -jar中的java需要使用绝对路径,因为里面无法引用我们配置在
/etc/profile
中的变量或者
使用 ln -sf /application/jdk1.8.0/bin/* /usr/bin 的方式配置环境变量 那么就不用使用绝对路径了
lvm动态扩容失败
问题 : 扩容失败,磁盘不可访问
原因 : 参考,无法对xfs文件格式的扩容
解决 : 无 格式化后改成ext4格式的
vim中文乱码
问题 : vim中文乱码
原因 : 字符集添加支持有问题
解决 :
#设置显示行数 和中文
cat >> /root/.vimrc <<EOF
set nu
set fileencodings=utf-8,gb2312,gbk,gb18030
set termencoding=utf-8
set fileformats=unix
set encoding=prc
EOF
Centos-7开机启动脚本无效
问题 : Centos-7开机启动脚本无效
原因 : 在centos7中,/etc/rc.d/rc.local的权限被降低了,所以需要执行如下命令赋予其可执行权限
参考链接: centos7】添加开机启动服务/脚本
解决 :
chmod +x /etc/rc.d/rc.local
ssh连接超时
问题 : 使用阿里云链接百度云的一台服务器,经常连接超时,但是连接自己的一台服务器正常
原因 : root的远程登录问题(猜测)
参考连接 : 无
解决 : 因为阿里云连接另外一台服务器是正常的,所以排除了阿里云的问题,将百度云的ssh配置文件下载下来和阿里云的ssh配置文件进行对比,修改差异部分PermitRootLogin
,问题解决
sz /etc/ssh/sshd_config
安装mysql无权限
问题 : 安装mysql是初始化data显示没有写入权限
原因 : 未知
参考链接 :
解决 : 将数据盘格式化后重新挂在解决
centos7下数据插入时间错误
问题 : 向数据库插入时间不是当前时间
原因 : 服务器的时区和时间设置错误
参考链接 :
解决 : 修改服务器的默认时区
centos7firewall无法开启被锁定
问题 :
原因 : 被锁定了 需要解锁
参考链接 : Failed to start firewalld.service: Unit is masked
解决 :
#执行命令,即可实现取消服务的锁定
systemctl unmask firewalld
#下次需要锁定该服务时执行
systemctl mask firewalld
Creating mailbox file: File exists
问题 :
原因 : 以前创建过该用户,存在邮件目录
参考链接 :
解决 :
rm -rf /var/spool/mail/mysql
网卡绑定导致网络无法链接
问题 : 使用该种方式配置Centos-6
没问题,配置Centos-7
时出现网络无法链接
原因 :
- bond配置参数错误,在
Centos-7
中最好使用命令配置 - 配置前需要将之前的子网卡,备份删除,否则可能导致冲突,导致配置失效()
参考链接 :
解决 :
#将原先子网卡备份
mv ifcfg-ens33 ifcfg-ens33.bak
mv ifcfg-ens34 ifcfg-ens34.bak
#mode 0 负载均衡 mode 1 主备模式 mode 6 合并网卡
nmcli con add type bond con-name bond0 ifname bond0 mode 6
#指定ip
nmcli con mod bond0 ipv4.addresses 192.168.100.7/24
nmcli con mod bond0 ipv6.method ignore;
nmcli con mod bond0 ipv4.method manual;
#指定子网卡
nmcli con add type bond-slave ifname ens33 master bond0;
nmcli con add type bond-slave ifname ens34 master bond0;
nmcli con mod bond0 +bond.options mii=100
nmcli con mod bond0 ipv4.gateway 192.168.100.1
nmcli con up bond0;
yum安装报库错误
问题 : yum install snapd 之后yum命令报错 libk5crypto.so.3: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1
原因 : 库超链接错误
解决 :
#排查
$ ldd /lib64/libk5crypto.so.3
linux-vdso.so.1 (0x00007ffde72b1000)
libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007f6176f9a000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f6176d96000)
libcrypto.so.1.1 => /usr/local/openssl111/lib/libcrypto.so.1.1 (0x00007f61768af000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f6176697000)
libc.so.6 => /lib64/libc.so.6 (0x00007f61762d1000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f61760a6000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f6175ea2000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f6175c82000)
/lib64/ld-linux-x86-64.so.2 (0x00007f61773c2000)
libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007f61759fe000)
#查看
ll /usr/local/openssl111/lib/libcrypto.so.1.1
#删除
参考链接 : sudo yum install snapd 之后yum命令报错 libk5crypto.so.3: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1
不常用命令
查看用户
#查看用户
cat /etc/passwd
#当前哪些在线
w
#用户的登录时间等
last
#失败的登录记录
lastb
杀死占用文件的进程
fuser -m -k /home
#如果你不是很明确是否要杀死所有霸占设备的程序,还可以加一个-i 参数,这样每杀死一个程序前,都会询问!
fuser -m -v -i -k /home