1-报错(防火墙):
Job for network.service failed because the control process exited with error code. See “systemctl status network.service” and “journalctl -xe” for details.
原因:
在CentOS系统上,目前有NetworkManager和network两种网络管理工具。如果两种都配置会引起冲突。由于一般我们都是使用 network 配置静态ip,可能是关机(某种缘故)导致NetWorkManager自动配置,发生了冲突,所以把它禁用掉就好了。
解决:
临时关闭
systemctl stop NetworkManager
永久关闭
systemctl disable NetworkManager
重启
systemctl restart network
2-查看linux操作系统是多少位
getconf LONG_BIT
3-修改DNS
修改/etc/resolv.conf文件
[root@localhost ~]# vim /etc/NetworkManager/NetworkManager.conf
修改或添加dns=none
[main] #plugins=ifcfg-rh,ibft
dns=none
保存后重启服务
[root@localhost ~]# systemctl restart NetworkManager.service
然后修改/etc/resolv.conf文件
[root@localhost ~]# vim /etc/resolv.conf
# Generated by NetworkManager
nameserver 114.114.114.114
nameserver 8.8.8.8
修改后保持即可
4-报错(源):
使用sudo systemctl enable docker命令的时候
给我报了这个
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
原因:
因为我在使用源的时候,执行了这个
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
如果我们换成了阿里的之后,这个并没有先操作!
解决:
因此如果我们换了了阿里云之后,还是必须执行这个命令
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
5-contos7关闭ipv6
- 1使用ifconfig命令查看网卡信息,如果出现inet6 fe80::20c:29ff:fed0:3514,说明机器开启了ipv6
- 2编辑/etc/sysctl.conf配置,增加net.ipv6.conf.all.disable_ipv6=1
- 3编辑/etc/sysconfig/network配置,增加 NETWORKING_IPV6=no,保存并退出
- 4编辑/etc/sysconfig/network-scripts/ifcfg-eno16777736,确保IPV6INIT=no,ifcfg-eno16777736是根据自己机器的实际网卡信息来看,不是固定的
- 5关闭防火墙的开机自启动systemctl disable ip6tables.service
- 6执行sysctl -p或者reboot重启命令
- 7再次使用ifconfig进行验证,只剩下ipv4,ipv6消失了,关闭成功
6-换源及yum命令
什么是repo文件?
repo 文件是 Linux 中yum源(软件仓库)的配置文件,通常一个 repo 文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用!
1、做好备份,为了更新失败时切换回去
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
有多个时通过下面命令备份
mv /etc/yum.repos.d/CentOS* /etc/yum.repos.d/CentOS-Base.repo.backup
2、进入yum源配置文件夹
cd /etc/yum.repos.d/
3、根据centos版本下载对应的新源
这里以CentOS7为例
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
如果wget命令不生效,说明还没有安装wget工具,输入yum -y install wget 回车进行安装,或者使用
curl -O http://mirrors.aliyun.com/repo/Centos-7.repo
下载
4、yum makecache 生成缓存,会把新下载CentOS-Base.repo源生效。
更新时会报某个aliyun timeout,他会自动尝试阿里其他镜像,最后自己会用基础镜像,然后自动更新一部分。因为基础镜像过时了。
5、执行yum源更新命令
yum clean all
yum makecache
yum -y update
试试更新系统 yum -y update (不是root的加 sudo),这回可以顺利安装docker或更新系统了。
yum install docker
systemctl start docker
就可以使用docker了
常用yum命令
yum install softwarename #安装
yum remove softwarename #卸载软件
yum list softwarename #查看软件源中是否有此软件
yum list all #列出所有软件名称
yum list installed #列出已经安装的软件名称
yum list available #列出可以用yum安装的软件
yum clean all #清空yum缓存
yum search softwareinfo #根据软件信息搜索软件名字(如,使用search web搜索web浏览器)
yum whatprovides filename #在yum源中查找包含filename文件的软件包(如,whatprovides rm搜索汉含rm的软件,命令实质上是文件)
yum update #更新软件,会存在未知问题,一般不对服务器升降级
yum history #查看系统软件改变历史
yum reinstall softwarename #重新安装
yum info softwarename #查看软件信息
yum groups list #查看软件组信息
yum groups info softwarename #查看软件组内包含的软件
yum groups install softwarename #安装组件
yum groups remove softwarename #卸载组件
yum clean all #清理缓存
7-Centos7下无法远程连接mysql数据库的原因与解决
有两种原因
- 数据库没有授权
- 服务器防火墙没有开放3306端口
一、数据库没有授权
对于mysql数据库没有授权,只需要用一条命令就可以了:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
输入后使修改生效还需要下面的语句(刷新权限):
FLUSH PRIVILEGES;
二、服务器防火墙没有开放3306端口
centos 有两种防火墙 FirewallD和iptables防火墙
centos7 使用的是FirewallD防火墙。
FirewallD 是 iptables 的前端控制器,用于实现持久的网络流量规则。它提供命令行和图形界面,在大多数 Linux 发行版的仓库中都有。与直接控制 iptables 相比,使用 FirewallD 有两个主要区别:
FirewallD 使用区域和服务而不是链式规则。
它动态管理规则集,允许更新规则而不破坏现有会话和连接。
FirewallD 是 iptables 的一个封装,可以让你更容易地管理 iptables 规则 - 它并不是 iptables 的替代品。虽然 iptables 命令仍可用于 FirewallD,但建议使用 FirewallD 时仅使用 FirewallD 命令。
1.FirewallD防火墙开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
命令含义:
- zone #作用域
- add-port=3306/tcp #添加端口,格式为:端口/通讯协议
- permanent #永久生效,没有此参数重启后失效
重启防火墙
systemctl restart firewalld.service
2.iptables 开发3306端口
/sbin/iptables -I INPUT -p tcp -dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save