CentOS使用中遇到的问题及解决方法

ops/2024/11/24 19:36:54/

一、CentOS 7网络配置(安装后无法联网问题)

现象说明

        在安装CentOS系统后,有可能出现无法联网的问题,虚拟机中的网络配置并没有问题,而系统却无法联网,也ping不通。


原因描述

        CentOS默认开机不启动网络,因此需要对网络进行配置,开启网络开机启动。


解决方法

1.打开终端,使用ip addr命令查看一下网络信息;

图中圈出的是系统网络名称,我们稍后会用到它,有的系统是ens33,有的是eth0等;

2.切换至root用户,输入命令vi /etc/sysconfig/network-scripts/ifcfg-<系统网络名称>,我的是ens33,所以输入vi /etc/sysconfig/network-scripts/ifcfg-ens33命令;

3.进入vi界面,可以看到,ONBOOT的值是no,我这里已经修改过了,所以是yes;

4.使用vi命令将ONBOOT=no的值改为yes;

5.保存后退出,重启系统(可以reboot命令重启)。重启完成后,可以使用浏览器打开个网页看看,也可以使用ping命令测试网络连通性;

ping www.baidu.com

二、联网后就可以开始更新系统库文件

检查DNS设置

1.编辑/etc/resolv.conf文件,确保其中包含有效的DNS服务器,例如Google的公共DNS:

sudo nano /etc/resolv.confsudo vi /etc/resolv.conf

2.添加以下内容:

nameserver 8.8.8.8
nameserver 8.8.4.4

检查YUM仓库配置

国内一般使用国内的镜像源,国外的镜像源速度很慢,有时候甚至不能用;

1.先备份原来的配置:

sudo cp -a /etc/yum.repos.d /etc/yum.repos.d /etc/yum.repos.d /etc/yum.repos.d.backup

2.我们使用阿里云的镜像源:

sudo nano /etc/yum.repos.d/CentOS-Base.repo

3.将原内容替换为一下内容:

[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

4.清理并重建缓存

sudo yum clean all
sudo yum makecache
sudo yum update

5.总结
出现Cannot find a valid baseurl for repo:base/7/x86_64错误通常是由于网络连接问题、DNS设置问题或YUM仓库配置问题引起的。通过检查并修复网络连接、更新DNS设置、修改YUM仓库配置或使用可靠的镜像源,如阿里云镜像源,可以解决这个问题。希望本指南能够帮助你顺利解决该错误,提高YUM包管理的稳定性和效率。

三、CentOS常用命令

其他同Ubuntu的命令在此处略

详情可以查看本人blog的其他类似文章

软件包管理

1.RPM命令使用

rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。

命令解析
rpm   [OPTIONS]   PACHAGE_FILE命令格式
rpm -ivh your-package直接安装
rpmrpm --force -ivh your-package.rpm忽略报错,强制安装
rpm -ql查询出所有安装过的包
rpm -q 包名获得某个软件包的全名
rpm -ql 包名获得rpm包中文件安装的位置
rpm -e 包名卸载

2.YUM命令

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基于rpm包管理,能够从指定的服务器自动下载rpm包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

命令解析
yum -y install [package]下载并安装一个rpm包
yum localinstall [package.rpm]安装一个rpm包,使用你自己的软件仓库解决所有依赖关系
yum -y update更新当前系统中安装的所有rpm包
yum update [package]更新一个rpm包
yum remove [package]删除一个rpm包
yum list列出当前系统中安装的所有包
yum search [package]在rpm仓库中搜寻软件包
yum clean [package]清除缓存目录(/var/cache/yum)下的软件包
yum clean headers删除所有头文件
yum clean all删除所有缓存的包和头文件

网络相关

命令解析
ifconfig eth0显示一个以太网卡的配置
ifconfig eth0 192.168.1.1 netmask 255.255.255.0配置网卡的IP地址
ifdown eth0禁用 ‘eth0’ 网络设备
ifup eth0启用 ‘eth0’ 网络设备
iwconfig eth1显示一个无线网卡的配置
iwlist scan显示无线网络
ip addr show显示网卡的IP地址

1.网络服务

#查看IP信息
ip a#网络连通性测试
ping [选项] 目标主机#设置网络信息
vi /etc/sysconfig/network-scripts/ifcfg-ens33#重启network网络服务
service network restart

2 防火墙设置

systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed

#查看防火墙状态
systemctl status firewalld#打开防火墙
systemctl start firewalld#关闭防火墙
systemctl stop firewalld#禁止开机启动
systemctl disable firewalld#开机启用
systemctl enable firewalld#查看版本: 
firewall-cmd --version#查看帮助: 
firewall-cmd --help#显示状态: 
firewall-cmd --state#查看所有打开的端口: 
firewall-cmd --zone=public --list-ports#更新防火墙规则: 
firewall-cmd --reload#查看区域信息:  
firewall-cmd --get-active-zones#查看指定接口所属区域: 
firewall-cmd --get-zone-of-interface=eth0#拒绝所有包:
firewall-cmd --panic-on#取消拒绝状态: 
firewall-cmd --panic-off#查看是否拒绝: 
firewall-cmd --query-panic

比如,需打开防火墙2888和3888端口

步骤1:设置开放的端口号

firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-port=2888/tcp --permanent
sudo firewall-cmd --add-port=3888/tcp --permanent

–permanent永久生效,没有此参数重启后失效

步骤2:重启防火墙

firewall-cmd --reload

步骤3:查看开放端口号

firewall-cmd --list-all

3.主机映射文件

#修改主机名与IP映射关系
vi /etc/hosts

系统相关

命令解析
su -切换到root权限(与su有区别)
shutdown -h now关机
shutdown -r now重启
top罗列使用CPU资源最多的linux任务 (输入q退出)
tree以树状图显示
pstree以树状图显示程序
man ping查看参考手册(例如ping 命令)
passwd修改密码
df -h显示磁盘的使用情况
cal -3显示前一个月,当前月以及下一个月的月历
cal 10 1988显示指定月,年的月历
date –date ‘1970-01-01 UTC 1427888888 seconds’把一相对于1970-01-01 00:00的秒数转换成时间

1.重启命令

#立刻重启(root用户使用)
reboot
#或者
shutdown -r now#10分钟后自动重启(root用户使用)
shutdown -r 10#在时间为20:35时候重启(root用户使用)
shutdown -r 20:35#如果是通过shutdown命令设置重启的话,可以取消重启
shutdown -c

2.关机命令

#立刻关机(root用户使用)
halt
#或者
poweroffshutdown -h nowinit 0#10分钟后自动关机
shutdown -h 10

3.hostname命令

#查看主机名
hostname#设置主机名-临时修改
hostname 主机名#设置主机名-永久修改
vi /etc/hostname

常用技巧

1.窗体快捷键

命令解析
Ctrl + u删除光标之前到行首的字符
Ctrl + k删除光标之前到行尾的字符
Ctrl + c取消当前行输入的命令,相当于Ctrl + Break
Ctrl + a光标移动到行首(ahead of line),相当于通常的Home键
Ctrl + e光标移动到行尾(end of line)
Ctrl + f光标向前(forward)移动一个字符位置
Ctrl + b光标往回(backward)移动一个字符位置
Ctrl + l清屏,相当于执行clear命令
Ctrl + r显示:号提示,根据用户输入查找相关历史命令(reverse-i-search)
Ctrl + w删除从光标位置前到当前所处单词(word)的开头
Ctrl + t交换光标位置前的两个字符
Ctrl + y粘贴最后一次被删除的单词
Ctrl + Alt + d显示桌面
Alt + b光标往回(backward)移动到前一个单词
Alt + d删除从光标位置到当前所处单词的末尾
Alt + F2运行
Alt + F4关闭当前窗口
Alt + F9最小化当前窗口
Alt + F10最大化当前窗口
Alt + Tab切换窗口
Alt + 左键移动窗口(或在最下面的任务栏滚动鼠标滑轮)

2.操作小技巧

        鼠标中间键:粘贴突出显示的文本。(使用鼠标左键来选择文本。把光标指向想粘贴文本的地方。点击鼠标中间键来粘贴。)

        Tab:命令行自动补全。使用 shell 提示时可使用这一方式。键入命令或文件名的前几个字符,然后按 [Tab] 键,它会自动补全命令或显示匹配键入字符的所有命令。

        在滚动条的空白处点击鼠标中键:屏幕即滚动到那个地方。

        在桌面或文件管理器中直接按 / 就可以输入位置,打开文件管理器。

        在 vi 或 Firefox 中直接按 / 即可进入快速搜索状态。

        网站链接和图片可直接拖放到桌面或者目录,可以马上下载。

        直接将文件管理器中的文件拖到终端中就可以在终端中得到完整的路径名。

四、Centos 7 安装 ifconfig命令

相关问题

Centos 7在最小化安装时,系统默认没有安装 ifconfig 命令;
如果直接运行 ifconfig 命令,会提示 -bash: ifconfig :command not found

解决方法

运行 yum -y isntall ifconfig 命令时,结果显示:

net-tools.x86_64:Basic networking tools

继续执行命令 #yum install net-tools.x86_64

安装完成后,就可以正常使用 ifconfig 管理命令了
同时,/sbin 目录下,也会有 ifconfig 文件

五、Centos 7 安装 vim 命令

vim file提示没有vim这个,则需要安装vim;

1.更新库安装包

先执行 yum -y update

更新当前系统中安装的所有rpm包

2.安装vim

执行命令 yum -y isntall vim*

安装完成后就可以使用vim了;

六、CentOS 7升级gcc到10.2.0

1.先安装基本的低版本的gcc

由于 Linux 操作系统的自由、开源,在其基础上衍生出了很多不同的 Linux 操作系统,如 CentOS、Ubuntu、Debian 等。这些 Linux 发行版中,大多数都默认装有 GCC 编译器(版本通常都较低)。

#通过此命令快速安装gcc
yum -y install gcc
yum -y install gcc-c++

通过如上命令得到的gcc通常版本较低。

2.升级gcc

升级gcc需要在系统中包含一个低版本的gcc,和make命令;

1、下载gcc源码包

gnu-gcc安装包下载_开源镜像站-阿里云gnu-gcc安装包是阿里云官方提供的开源镜像免费下载服务,每天下载量过亿,阿里巴巴开源镜像站为包含gnu-gcc安装包的几百个操作系统镜像和依赖包镜像进行免费CDN加速,更新频率高、稳定安全。icon-default.png?t=O83Ahttps://mirrors.aliyun.com/gnu/gcc/

2、解压并切换到解压后的目录

(可以放在了/home/yonghu目录下)

tar -zxvf gcc-10.2.0.tar.gz
cd gcc-10.2.0/

3、下载编译依赖项

./contrib/download_prerequisites

4、新建gcc-bulid目录

(与gcc-10.2.0同级)并进入该目录中。

mkdir gcc-build
cd gcc-build/

5、生成Makefile文件

../configure --prefix=/usr/local --enable-checking=release --enable-languages=c,c++ --disable-multilib
这时候会出现报错:

checking for the correct version of gmp.h... no configure: error: Building GCC requires GMP 4.2+, MPFR 3.1.0+ and MPC 0.8.0+.

解决办法
yum -y install  gmp  gmp-devel  mpfr  mpfr-devel  libmpc  libmpc-devel
这时候再运行命令就成功了
../configure -prefix=/usr/local --enable-checking=release --enable-languages=c,c++ --disable-multilib

6、开始编译

make

注意:编译时间较长,请耐心等待,选择适当的时间进行此编译操作。

7、安装

make install

8、重启机器,并验证

升级完成!

9、更新库软连接

cd /usr/lib64
rm -f libstdc++.so.6
ln -s libstdc++.so.6.0.28 libstdc++.so.6

七、CentOS安装zip,unzip

查看源

首先,我们可以使用yum list zip unzip查看得知 CentOS 的官方镜像是自带zipunzip

安装

直接执行一下命令:

yum install -y unzip zip

八、CentOS安装wget

实际工作中,centos系统自带的wget版本有时候比较低,不具备ftps的支持,因此对数据下载造成一定困扰,因此本文针对wget的最新版本安装步骤进行梳理,主要包括前期环境准备和安装步骤。

1.前期环境准备

安装如下软件:
对于centos系统:

yum install gnutls-devel -y
yum install openssl openssl-devel
yum install texinfo

对于ubuntu系统:

sudo apt-get install openssl openssl-devel
sudo apt-get install texinfo

2.wget 新版本安装步骤

首先下载 wget 的源码包:

官方下载:Index of /gnu/wgeticon-default.png?t=O83Ahttps://ftp.gnu.org/gnu/wget/

下载完成后上传至centos机器,然后执行解压命令,并进入解压后的目录:

tar -xzvf wget-1.25.0.tar.gz
cd ./wget-1.25.0

进入解压目录后进行编译安装:

./configure --prefix=/usr --sysconfdir=/etc --with-ssl=openssl
make && make install

安装完成后,执行wget -V查看,若出现如下界面,则代表安装成功:

九、CentOS查看端口占用情况

lsof 命令

lsof(list open files)是一个列出当前系统打开文件的工具。

lsof -i:端口号

注: lsof -i 需要 root 用户的权限来执行。

#查看3306端口占用情况
lsof -i:3306#查看8080端口占用情况
lsof -i:8080#显示开启文件abc.txt的进程
lsof abc.txt#显示abc进程现在打开的文件
lsof -c abc#列出进程号为1234的进程所打开的文件
lsof -c -p 1234#显示归属gid的进程情况
lsof -g gid#显示目录下被进程开启的文件
lsof +d /usr/local/#同上,但是会搜索目录下的目录,时间较长
lsof +D /usr/local/#显示使用fd为4的进程
lsof -d 4#显示所有打开的端口和UNIX domain文件
lsof -i -U

netstat 命令

netstat -tunlp 用于显示 tcp,udp 的端口和进程等相关情况。

netstat -tunlp | grep 端口号

option说明:
-t (tcp) 仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化为数字
-l 仅列出在Listen(监听)的服务状态
-p 显示建立相关链接的程序名

#查看3306 端口占用情况:
netstat -tunlp | grep 3306#查看当前所有tcp端口
netstat -ntlp#查看所有80端口使用情况
netstat -ntulp | grep 80#查看所有3306端口使用情况
netstat -ntulp | grep 3306


http://www.ppmy.cn/ops/136380.html

相关文章

归一化/标准化对神经网络的训练是否有影响?

一、背景 归一化&#xff08;Normalization&#xff09;和标准化&#xff08;Standardization&#xff09;是数据预处理中的两种常见技术&#xff0c;旨在调整数据的范围和分布&#xff0c;以提高机器学习模型或者深度学习模型的性能和训练速度。虽然它们的目标相似&#xff0c…

STM32 Nucleo-64 boards板卡介绍

目录 概述 1 板卡介绍 2 板卡硬件架构 3 扩展接口介绍 4 ST-LINK接口 4.1 Pin引脚定义 4.2 框图结构 4.3 硬件原理图 概述 本文主要介绍STM32 Nucleo-64 boards的相关内容&#xff0c;包括硬件架构&#xff0c;支持的STM32类型&#xff0c;重点介绍了STM32 Nucleo-64 …

NFS搭建

NFS搭建 单节点安装配置服务器安装配置启动并使NFS服务开机自启客户端挂载查看是否能发现服务器的共享文件夹创建挂载目录临时挂载自动挂载 双节点安装配置服务器安装配置服务端配置NFS服务端配置Keepalived编辑nfs_check.sh监控脚本安装部署RsyncInofity 客户端 单节点安装配置…

Kubernetes:容器编排的强力

目录 什么是KubernetesKubernetes的核心概念 容器与Pod节点&#xff08;Node&#xff09;控制平面&#xff08;Control Plane&#xff09;服务&#xff08;Service&#xff09;与Ingress Kubernetes的架构设计 API ServerEtcdSchedulerController ManagerKubelet 与 Kube-Prox…

了解大模型:开启智能科技的新篇章

在当今科技飞速发展的时代,人工智能(AI)已经成为推动社会进步的重要力量。而在AI的众多技术分支中,大模型(Large Model)以其强大的数据处理能力和卓越的性能,正逐渐成为研究和应用的热点。本文旨在科普大模型的基本概念、与大数据的关系以及与人工智能的紧密联系,帮助读…

c++中操作数据库的常用函数

在C中操作数据库&#xff0c;尤其是MySQL数据库&#xff0c;主要通过MySQL提供的C API或MySQL Connector/C库来实现。这些库提供了一系列的函数&#xff0c;使得开发者能够在C应用程序中执行数据库的连接、查询、更新、删除等操作。以下是C中操作MySQL数据库的一些常用函数&…

【机器学习】Lesson 5 - K近邻(KNN)分类/回归

目录 背景 一、算法介绍 1. 基本原理 1.1 概述 1.2 常用距离 1.3 模型参数 2. 适用场景 2.1 分类 适用场景 KNN 分类的优缺点 2.2 回归 适用场景 KNN 回归的优缺点 3. 适用数据集特征 3.1 特征维度&#xff08;维数&#xff09; 3.2 样本量&#xff08;行数&am…

C 语言复习总结记录二

C 语言复习总结记录二 一 控制语句 1、语句的分类 表达式语句函数调用语句复合语句控制语句空语句 控制语句 控制程序的执行流程&#xff0c;实现程序的各种结构方式 C 语言支持三种结构 &#xff1a;顺序结构、选择结构、循环结构&#xff0c;由特定的语句定义符组成C语言…