Linux 中常见问题及解决

本篇博客记录了在 Linux 系统中常见的问题及解决方法,以备后查。

1、从 Mac 的终端中 scp VirtualBox 虚拟机中的文件时,报错如下:

1
2
wanghuans-MacBook-Pro:clickhouse_exporter wanghuan$ scp root@192.168.33.10:/vagrant/clickhouse_exporter ./
root@192.168.33.10: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

解决:在虚拟机内部,修改 /etc/ssh/sshd_config 文件中如下参数:

1
2
3
PermitRootLogin yes
PasswordAuthentication yes
PubkeyAuthentication yes

然后重启虚拟机内 sshd 服务。

2、wget: unable to resolve host address 问题:DNS解析的问题 将以下内容加入/etc/resolv.conf

1
2
nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.4.4 #google域名服务器

3、使用 Linux 服务启动 confd 进程,启动时,报错如下:

1
Mar 18 02:26:38 ip-172-27-124-70.ap-southeast-1.compute.internal confd[28240]: 2019-03-18T02:26:38Z ip-172-27-124-70.ap-southeast-1.compute.internal /usr/bin/confd[28240]: FATAL UserHomeNotFound: user home directory not found.

解决: 在 confd.service/usr/lib/systemd/system/confd.service)中加入如下环境变量

1
2
[Service]
Environment="HOME=/root"

重启 confd 服务即可。

4、在 Linux 下执行脚本,报如下错误:

1
2
[root@localhost ~]# ./install.sh -h
-bash: ./install.sh: /bin/bash^M: bad interpreter: No such file or directory

解决:安装dos2unix,将DOS格式文本文件转换成Unix格式,使用如下命令:

1
yum install -y dos2unix

使用方法:

1
dos2unix filename_1 filename_2 filename_3

5、使用curl命令从网络上下载文件时,报错如下:

1
2
3
4
5
[root@localhost ~]# curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:05 --:--:--     0
curl: (35) Peer reports incompatible or unsupported protocol version.

解决:

(1)更新curl

1
yum update -y curl

更新curl后还是报一样的错误

(2)更新nss nspr

1
yum update -y nss nspr nss-util

更新后问题得到解决。

仅更新(1)和仅更新(2)都不起作用

6、CentOS 7 虚拟机有网卡,没有 IP 地址,进入 /etc/sysconfig/network-scripts 目录下,修改 ifcfg-eth0 文件

将其中的 ONBOOT 修改为 yes,然后使用 systemctl restart network 命令重启网络

注意:启动 WindowsVMware 相关的服务

7、使用SSH无法登陆服务器,VNC操作命令提示“fork:cannot allocate memory”,或者,在已经登录至该服务器上的终端中执行命令,所有命令均无法执行,一直提示如下错误:

1
2
[root@localhost ~]# free -h
bash: fork: Cannot allocate memory

查看最大进程数

1
2
[root@localhost /]# sysctl kernel.pid_max
kernel.pid_max = 32768

查看进程数

1
2
[root@localhost ~]# ps -eLf | wc -l
1011

解决:

1)修改最大进程数,即时生效

1
echo 1000000 > /proc/sys/kernel/pid_max

2)永久生效的方式

1
2
echo "kernel.pid_max=1000000 " >> /etc/sysctl.conf
sysctl -p
updatedupdated2017-10-222017-10-22
加载评论