Linux学习过程中遇到的问题
一、安装软件时报错
1、使用wget下载安装包报错
报错:ERROR: cannot verify mirrors.tuna.tsinghua.edu.cn's certificate, issued by ‘/C=US/O=Let's Encrypt/CN=R3’:
Issued certificate has expired.

报错意思是:连接到 mirrors.tuna.tsinghua.edu.cn 不安全,使用“不检查证书”,即在 wget 后加入no-check-certificate 即可解决。
解决:
1)安装:yum install -y ca-certificates
2)在wget中加入选项: no-check-certificate
2、centos6使用yum安装时报错
报错内容:Loaded plugins: fastestmirror, security,No such command: insatll. Please use /usr/bin/yum --help
原因:使用的是阿里的yum源,而阿里云的已失效
解决:修改yum源,再进行安装即可
# 6.9可根据系统版本来进行修改
# 可在修改之前进行备份
[root@centos-6 yum.repos.d]# cat /etc/yum.repos.d/CentOS-Base.repo
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.9/os/x86_64/
gpgcheck=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
gpgkey=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.9/os/x86_64/RPM-GPG-KEY-CentOS-6
#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.9/updates/x86_64/
gpgcheck=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
gpgkey=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.9/os/x86_64/RPM-GPG-KEY-CentOS-6
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.9/extras/x86_64/
gpgcheck=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
gpgkey=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.9/os/x86_64/RPM-GPG-KEY-CentOS-6
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.9/centosplus/x86_64/
gpgcheck=1
enabled=0
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
gpgkey=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.9/os/x86_64/RPM-GPG-KEY-CentOS-6
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.9/contrib/x86_64/
gpgcheck=1
enabled=0
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
gpgkey=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.9/os/x86_64/RPM-GPG-KEY-CentOS-6
二、建立LVM过程中遇到的问题
1、lv扩容中,使用resize2fs重新加载逻辑卷时报错![]()
问题:resize2fs: Bad magic number in super-block while trying to open /dev/卷组名/逻辑卷名
原因:不同文件系统调整分区时使用的命令不同,resize2fs针对的是ext4文件系统,要调整xfs文件系统的分区大小,则需要使用xfs_growfs命令
解决:
1)使用命令:xfs_growfs /dev/卷组名/逻辑卷名
2)再使用df命令则可以看到调整后的大小
三、学习系统管理过程中遇到的问题
1、使用rd.break修改root用户的密码,重启系统之后法使用新修改的密码无法正常登录,提示密码错误(针对centos7系统)
原因:系统的语言是LANG是zh
解决:需要在修改密码之前执行:LANG=en,再修改密码,重启后可正常登录
1.1 使用rd.break修改密码的步骤如下
1、重启系统,按e进入编辑模式
2、找到 linux16 一行末尾,如果是物理机,添加:rd.break,如果是虚拟机,添加:rd.break console=tty0,这里末尾添加 rd.break console=tty0
3、按 ctrl + x 进入switch_root
4、输入命令mount,发现根为/sysroot/,并且不能写,只有ro=readonly权限
5、重新挂载已经挂载了的根文件系统(以读写权限挂载 )
执行命令:mount -o remount,rw /sysroot

6、挂载好后将根改成sysroot。(执行命令:chroot /sysroot)并在根下创建.autorelabel文件(selinux标签验证,即允许你修改密码),再给root设置新密码

touch /.autorelabel 这句是为了selinux生效

LANG=en
修改root的密码: echo "123456" | passwd --stdin root

7、使用exit(两次),退出 系统将会重启
2、使用grub2修复MBR分区表时报错
问题:救援模式下报错:grub2-install:错误: /usr/lib/grub/x86_64-efi/modinfo.sh doesn‘t exist. Please specify --target or --directory.
原因:未切换到实根
解决:切换到实根之后,再使用该命令就可以解决


3、centos7中未安装pstree命令
报错:-bash: pstree: command not found
解决:yum -y install psmisc,这个工具包 包含了:pstree、killall、fuser三个命令
4、centoa7中未安装lsb_release命令
解决:1)查询程序包:yum provides */lsb_release

2)安装:yum install redhat-lsb-core-4.1-27.el7.centos.1.x86_64 -y
四、学习网络服务方面的问题
1、系统克隆后,如何修改网卡配置和静态IP地址
1.1 CentOS6系统修改方式
步骤如下:
1.查看 Vim /etc/udev/rules.d/70-persistent-net.rules
2.修改配置 /etc/sysconfig/network-scripts/ifcfg-eth0
3. 重启系统,使用ifconfig查看网络

4.修改后重启服务即可
1.2CentOS7系统修改方式
步骤如下:
1、修改网卡配置文件vi /etc/sysconfig/network-scripts/ifcfg-ens33,修改IP地址,删除UUID和MAC地址
NETWORKING=yes
HOSTNAME=slave1
2、使用root用户修改完sshd服务的配置文件,重启sshd服务报错,报错:error:Bind to port XX on 0.0.0.0 failed:Permission denied![]()
原因:使用getenforce显示enable
解决:
1)使用setenforce 0进行修改(此为临时生效)如果想永久生效,则修改配置文件/etc/sysconfig/selinux 中 SELINUX=permissive
2)如果防火墙开启的话,则需要开放端口,然后重启sshd服务即可。也可以关闭防火墙
# 开放端口 firewall-cmd --add-port=端口号/tcp --zone=public --permanent firewall-cmd --reload # 关闭防火墙 systemctl stop firewalld.service
# 永久关闭防火墙
systemctl disable firewalld.service
3、搭建DNS服务器,重启named服务时报错,报错内容:Failed to start Berkeley Internet Name Domain (DNS)![]()
检查过程:
1.使用 systemctl status named -l 进行查看详细报错内容
2.根据提示查看:named-checkconf -z "$NAMEDCONF" ,根据提示内容可知是配置文件有问题
原因:经检查是正向配置文件和反向配置文件中,配置域和域名时末尾没有加“.”,即未加顶级域导致的
解决:修改配置文件,重启named服务即可
4、使用自己创建的DNS服务器进行域名解析时,报错:Got SERVFAIL reply from 192.168.216.147, trying next server
![]()
原因:书写数据配置文件时,默认给与的配置文件权限不对
解决: 添加对应权限,重启服务器

5、使用禁止登录的用户登录vsftp时报错:530 Login incorrect.![]()
禁止登录的用户:只能使用ftp不能ssh登录的用户,使用“useradd -s /usr/sbin/nologin zsftp”创建用户
原因:vsftpd会检测用户的shell是否登记于/etc/shells文件中,而我使用的系统 /etc/shells 中没有nologin的记录
解决:在 /etc/shells 中添加 /usr/sbin/nologin 即可,可使用命令: echo "/usr/sbin/nologin" >> /etc/shells ,然后重新创建,再次登录vsftp可正常登录
6、使用源码包的方式搭建LAMP环境(CentOS6+MySQL5.5+PHP7+apache2.4)中出现的问题:前台页面显示空白

7、Tomcat使用war包启动Jenkins,在输入管理员密码后,密码置空,其他无反应
经查日志 logs/catalina.2022-06-10.log后发现报错:hudson.init.impl.InstallUncaughtExceptionHandler.handleException null
原因:Tomcat启动的初始内存溢出
解决:修改配置文件:tomcat/bin/catalina.sh,直接在配置文件最后添加如下内容:(记得修改前先备份),然后重启tomcat和nginx
JAVA_OPTS="-Dorg.kohsuke.stapler.jelly.DefaultScriptInvoker.compress=false -Dhudson.model.AbstractItem.skipPermissionCheck=true -Dhudson.model.Run.skipPermissionCheck=true"
8、service命令找不到
报错:bash: service: 未找到命令
解决:输入yum list | grep initscripts会出现:
initscripts.x86_64 ,然后安装 initscripts 即可
yum install initscripts -y
五、学习数据库遇到的问题
1、使用yum安装MySQL5.7时出现密钥报错的问题
# mysql5.7.36之前的keyId为5072E1F5 gpg --export -a 5072E1F5 > 5072E1F5.asc rpm --import 5072E1F5.asc rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 # mysql5.7.36之后的keyId为3a79bd29 gpg --export -a 3a79bd29 > 3a79bd29.asc rpm --import 3a79bd29.asc rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 # 如果遇到问题警告:没有导出任何东西,直接把“GPG Public Build Key for MySQL 5.7.36 Packages and Earlier”下的内容复制到asc文件中即可


再次执行:yum -y install mysql-community-server 即可安装成功
2、为MySQL5.7的root用户修改密码时,报错:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

原因:密码不符合MySQL的默认密码规则
解决:1)修改自己的密码使其符合要求
2)更改MySQL的密码规则
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
注意:如果想要查看MySQL完整的初始密码规则,登陆后执行以下命令
3、启动mysqld服务时报错,Failed to start MySQL Server. 6月 15 11:35:33 centos-7 systemd[1]: Unit mysqld.service entered failed
使用 systemctl status mysqld 和 journalctl -xe查看显示的内容均为下图,无明显的错误原因

然后查看系统日志message,可以发现:[ERROR] You have enabled the binary log, but you haven't provided the mandatory server-id. Please refer to the proper server start-up parameters documentation。

原因:这是由于在配置bin log的时候有误,导致无法启动。需要配置一个server-id参数,server-id参数用于在复制中,为主库和备库提供一个独立的ID,以区分主库和备库;开启二进制文件的时候,需要设置这个参数。
解决:在/etc/my.cnf中配置:
vim /etc/my.cnf
# 启动二进制日志
log-bin=mysql-bin
server-id=1
然后重启即可启动成功
4、配置MySQL主从同步,重启主服务器后,主从无法同步
排查过程:
1)在从服务器上查看 mysql> show slave status\G;,查看后发现报错:error HA_ERR_KEY_NOT_FOUND; the event's master log mysql-bin.000002, end_log_pos 798

2)在主服务器上使用mysqlbinlog分析下出错的binlog日志
mysqlbinlog --no-defaults -v -v --base64-output=DECODE-ROWS mysql-bin.0000002 | grep -A '10' 798

发现是在删除一条数据的时候,从服务器的mysql.user表中不存在导致的报错
解决:
1)把主服务器有而从服务器没有的数据补上,然后跳过报错
mysql> stop slave ;set global sql_slave_skip_counter=1;start slave;
2)然后查看同步情况,发现已同步
mysql> show slave status\G;
5、MySQL一主多从备份遇到问题
5.1问题:当主服务器创建数据库后,只有一个从服务器同步,另一个服务器没有同步成功
排查:
select @@server_id;
# 查看当前服务器的server-id
3)再次查看两个从服务器的 server_uuid ,发现两个从服务器的server_uuid是一样的
select @@server_uuid;
# 查看当前服务器的server_uuid
mysql> select uuid();
+--------------------------------------+
| uuid() |
+--------------------------------------+
| a3e0c49a-ed7a-11ec-948b-000c295d1a25 |
+--------------------------------------+
mysql> show variables like 'datadir';
+---------------+-----------------+
| Variable_name | Value |
+---------------+-----------------+
| datadir | /var/lib/mysql/ |
+---------------+-----------------+
vim /var/lib/mysql/auto.cnf
# 修改为新生成的uuid
server-uuid=a3e0c49a-ed7a-11ec-948b-000c295d1a25
6、源码包安装redis6报错
问题:‘struct redisServer’没有名为‘maxmemory’的成员
原因:gcc版本问题。redis6.0要求gcc版本在5.3以上
yum -y install centos-release-scl2 yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils 3 scl enable devtoolset-9 bash # 注意:scl命令启用只是临时的,推出xshell或者重启就会恢复到原来的gcc版本。 #如果要长期生效的话,执行如下: echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
7、使用ruby安装redis集群报错
问题:redis集群ERROR: Error installing redis-4.2.1.gem: redis requires Ruby version >= 2.4.0
原因:查看当前ruby版本,ruby -v,发现是2.0版本
解决:安装到ruby2.4以上,采用rvm来更新ruby
# 1、安装RVM
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 94558F59 curl -L get.rvm.io | bash -s stable
# 2、使用source让当前shell读入路径为" /usr/local/rvm/scripts/rvm "(路径可以自定义)的shell文件
source /usr/local/rvm/scripts/rvm
# 3.查看rvm库中已知的ruby版本
rvm list known
# 4.安装一个version >= 2.3 的 ruby版本
rvm install 2.6.6
# 5.查看安装完后 ruby 版本
ruby -v
# 6.使用新的ruby版本
rvm use 2.6.6
# 7.设置默认版本
ruby --version
# 8.卸载原默认版本
rvm remove 2.0.0
# 9.安装redis
gem install redis
参考文章,原文链接:https://blog.csdn.net/W_Think/article/details/123377778
六 学习虚拟化遇到的问题
1、使用docker运行 centos容器,使用systemctl时报错,报错内容为:Failed to get D-Bus connection: Operation not permitted
原因:centos7以上版本的镜像,默认是不会启动systemd进程的
解决:
# 先使用命令创建容器
docker run -it --privileged=true --name mysql centos:7 /usr/sbin/init
# 再使用命令进入容器
docker exec -it mysql /bin/bash






浙公网安备 33010602011771号