Centos及Redhat学习笔记

前言

纯粹是个人学习过程中遇到的一些问题的解决方法,写在网上也是为了方便自己查阅

一、redhat8 使用国内yum源以及dnf命令

redhat8 和 Centos8 已经不用yum命令了, 使用dnf命令来管理软件包

#查看所有已安装的rpm包 ,对结果进行过滤关键字为"yum"
[root@192 ~]# rpm -qa | grep yum

#卸载所有包含关键字"yum"的rpm包
[root@192 ~]# rpm -qa | grep yum | xargs rpm -e --nodeps

#下载对应版本的 CentOS-Base.repo 到 /etc/yum.repos.d/
[root@192 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo

#清除缓存的无用软件包
[root@192 ~]# dnf clean all

#生成缓存
[root@192 ~]# dnf makecache

#查看可用的dnf软件库
[root@192 ~]# dnf repolist

#列出所有rpm包 ,对结果进行过滤关键字为"ftp"
[root@192 ~]# dnf list | grep ftp

#列出所有可供安装的rpm包 ,对结果进行过滤关键字为"ftp"
[root@192 ~]# dnf list available | grep ftp

#搜索dnf软件库里的软件 ,关键字为"ftp"
[root@192 ~]# dnf search ftp

#使用dnf安装软件 ,软件名为ftp
[root@192 ~]# dnf install ftp

#查看"ftp"这个软件的详细信息
[root@192 ~]# dnf info ftp

#使用dnf卸载软件 ,软件名为"ftp"
[root@192 ~]# dnf remove ftp

#列出所有已经安装的rpm包
[root@192 ~]# dnf list installed

#查看dnf这个命令的执行历史
[root@192 ~]# dnf history

二、redhat 7 使用国内yum源

redhat 未注册的系统是无法使用yum源安装的 ,需要删除系统自带的yum命令 ,再安装对应版本的centos的yum命令

#查看所有已安装的包含"yum"关键字的rpm包
rpm -qa | grep yum

#删除已安装的包含"yum"关键字的rpm包
rpm -qa | grep yum | xargs rpm -e --nodeps

#删除已安装的包含"python-urlgrabber"关键字的rpm包
rpm -qa | grep python-urlgrabber | xargs rpm -e --nodeps

#打开阿里yum源地址,按 Ctrl +F 搜索rmp包名 
https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/

#下载这8个rpm包 ,或者在windows主机上下载好这些rpm包, 再用"WinSCP"这个软件的sftp协议传输到redhat系统中
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-3.4.3-163.el7.centos.noarch.rpm   
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-langpacks-0.4.2-7.el7.noarch.rpm  
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-rhn-plugin-2.0.1-10.el7.noarch.rpm  
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-utils-1.1.31-52.el7.noarch.rpm  
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm 
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-52.el7.noarch.rpm
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-updateonboot-1.1.31-52.el7.noarch.rpm 
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-urlgrabber-3.10-9.el7.noarch.rpm   

#安装该目录下所有的rpm包
rpm -ivh --force *
报错如下:意思是安装yum-3.4.3-163.el7.centos.noarch需要rpm-4.11.x的版本
warning: yum-3.4.3-163.el7.centos.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
error: Failed dependencies:
        rpm >= 0:4.11.3-22 is needed by yum-3.4.3-163.el7.centos.noarch

#下载rmp-4.11.x版本的rmp包
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/rpm-4.11.3-40.el7.x86_64.rpm  

#再次执行
rpm -ivh --force *

#这里如果还是报错,则是需要升级安装
rpm -Uvh rpm-4.11.3-40.el7.x86_64.rpm 

#下载对应版本的 CentOS-Base.repo 到 /etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

#替换CentOS-Base.repo里面的内容,"$releasever"替换为"7"
sed -i  's/$releasever/7/g' /etc/yum.repos.d/CentOS-Base.repo

#编辑yum.conf这个文件,
nano /etc/yum.conf
将"plugins=1"改为"plugins=0" ,表示禁用所有插件

#清理yum缓存
yum clean all

#生成缓存
yum makecache

#验证yum源是否可用
yum repolist

#搜索yum源仓库里的软件,关键字为"vim"
yum search vim

#查看yum源仓库中所有的软件, 对结果进行过滤关键字为"vim"
yum list | grep vim

#使用yum源安装"vim"这个软件
yum -y install vim

三、CentOS 7 更换阿⾥yum源

#备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

下载新的CentOS-Base.repo 到/etc/yum.repos.d/
CentOS 5
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo

CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

#⽣成缓存
yum makecache

四、centos7关闭yum自动更新

#安装yum-cron才能通过修改配置文件,关闭yum自动更新
yum install -y yum-cron

#编辑该配置文件,将以下位置的yes改为no
vim /etc/yum/yum-cron.conf 
download_updates = no
apply_updates = no

五、centos 7设置IP地址

1 . Centos7 通过修改配置文件设置静态IP地址

#查看IP地址(记住网卡名称,如ens33)
ip address

#进入该目录下
cd /etc/sysconfig/network-scripts/

#创建IP地址配置文件(ens33对应网卡名称) ,编辑内容如下
nano ifcfg-ens33

TYPE="Ethernet"   #表示以太网
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"     #值为dhcp,none,static(none和static都表示固定IP用)
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"       #网卡名称
UUID="8f77ce06-ae7b-4ffb-84c1-489a4f988dac"    #这项可以删除
DEVICE="ens33"     //设备名称,和网卡名称一致
ONBOOT="yes"     #启动本配置
IPADDR="192.168.80.10"    #设置静态IP地址
PREFIX="24"                   #子网掩码
GATEWAY="192.168.80.2"      #网关
DNS1="192.168.80.2"           #DNS1
DNS2="114.114.114.114"      #DNS2
IPV6_PRIVACY="no"

#重启网络服务
service network restart

2 . linux临时修改IP地址ip命令和ifconfig命令

以下所有配置, 设置后立即生效 ,重启后失效

#使用ifconfig设置IP地址和子网掩码
ifconfig ens33 192.168.80.12 netmask 255.255.255.0

#使用route命令设置默认网关
route add default gw 192.168.80.254

#修改DNS
nano /etc/resolv.conf 

#查看IP地址
ifconfig

#查看默认网关
route -n
#使用IP命令,在"ens33"网卡添加一个IP地址
ip addr add 192.168.80.13/24 dev ens33

#删除一个IP地址,一个网卡可以绑定多个IP地址
ip addr del 192.168.80.11/24 dev ens33

#添加默认网关
ip route add default via 192.168.80.254

#删除默认网关
ip route del default via 192.168.80.254

#查看默认网关
ip route show

#查看"ens33"网卡的IP地址
ip addr show ens33

#查看"ens33"网卡的链路状态
ip -s link ls ens33

#等价于arp -a ,用于查看arp缓存表
ip neighbour

#禁用"ens33"网卡的链路
ip link set ens33 down

#启用"ens33"网卡的链路
ip link set ens33 up

#禁用"ens33"网卡
ifconfig ens33 down

#启用"ens33"网卡
ifconfig ens33 up

#重启网络服务
service network restart

3 . nmcli命令配置静态IP地址

nmcli 有两个概念 “连接 CONNECTION” 和 “网卡 DEVICE” ,一个"网卡"可以有多个"连接" ,但只能有一个连接生效
"连接"是一个自定义的名称 , "网卡"是固定名称

#查看总体状态
[root@localhost ~]# nmcli general status

#查看网卡设备状态
[root@localhost ~]# nmcli dev status 

#查看所有连接
[root@localhost ~]# nmcli connection show

#查看所有活动的连接
[root@localhost ~]# nmcli connection show --active 

#查看"ens33"这个连接信息
[root@localhost ~]# nmcli connection show "ens33" | more

#查看"ens33"网卡的设备信息
[root@localhost ~]# nmcli dev show "ens33"

#删除"ens33"这个连接
[root@localhost ~]# nmcli connection delete ens33

#添加一个连接到网卡 ,con-name是自定义的连接名称 , ifname是网卡的设备名称(固定的)
[root@localhost ~]# nmcli connection add type ethernet con-name ens33 ifname ens33 autoconnect yes ipv4.method auto 

#autoconnec值yes或no表示是否开机自动连接 , method值manual或auto表示静态或DHCP
[root@localhost ~]# nmcli connection add type ethernet con-name ens33 ifname ens33 autoconnect yes ipv4.method manual ipv4.addresses 192.168.80.11/24 ipv4.gateway 192.168.80.2 ipv4.dns 223.5.5.5 

#禁用"ens33"这个连接
[root@localhost ~]# nmcli connection down ens33 

#启用"ens33"这个连接
[root@localhost ~]# nmcli connection up ens33 

#禁用ens33这个网卡
[root@localhost ~]# nmcli dev disconnect ens33

#启用ens33这个网卡
[root@localhost ~]# nmcli dev connect ens33 

#modify表示修改 , 更改dns
[root@localhost ~]# nmcli connection modify ens33 ipv4.dns "8.8.8.8"

#添加dns
[root@localhost ~]# nmcli connection modify ens33 +ipv4.dns "223.5.5.5"

六、 firewall防火墙配置

Centos 7 和 redhat 7 使用新的防火墙firewall ,之前的版本都是使用iptables ,两者不能共存
firewall引入区域(zone)的概念 ,就是一个个的规则模版
trusted 允许所有的数据包
home 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、mdns、ipp-client、amba-
client与dhcpv6-client服务相关,则允许流量
internal 等同于home区域
work 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、ipp-client与dhcpv6-client
服务相关,则允许流量
public 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、dhcpv6-client服务相关,
则允许流量
external 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量
dmz
拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量
block 拒绝流入的流量,除非与流出的流量相关
drop 拒绝流入的流量,除非与流出的流量相关

1.firewall防火墙的开启与关闭以及状态查看

#查看防火墙状态
service firewalld status

#查看防火墙状态
systemctl list-unit-files | grep firewall

#查看firewall防火墙运行状态
firewall-cmd --state

#开启防火墙
service firewalld start

#停止防火墙
service firewalld stop

#重启防火墙
service firewalld restart

#开启防火墙
systemctl start firewalld

#停止防火墙
systemctl stop firewalld

#永久开启防火墙(下次开机生效)
systemctl enable firewalld

#永久关闭防火墙(下次开机生效)
systemctl disable firewalld

2.firewall防火墙参数选项

–permanent 表示永久生效(下次开机生效)
–zone 指定区域
–add-protocol 添加协议
–remove-protocol 删除协议
–add-port 添加端口号
–remove-port 删除端口号
–add-rich-rule 添加一条富规则
–remove-rich-rule 删除一条富规则

3.firewall防火墙富规则选项

family=ipv4
值为ipv4和ipv6
source address 源地址
destination address 目标地址
port=8000-9000 可以指定端口范围
accept 允许
reject 拒绝并返回错误信息
drop 直接丢弃,会返回timeout(连接超时)

4.firewall防火墙相关查看命令

#查看当前防火墙所在默认区域(zone)
firewall-cmd --get-default-zone

#查看所有网卡接口所在区域
firewall-cmd --get-active-zones

#查看"ens33"网卡所在区域
firewall-cmd --get-zone-of-interface=ens33

#重启防火墙(使添加了永久参数的规则立即生效)
firewall-cmd --reload

#查看默认区域防火墙规则
firewall-cmd --list-all

#查看"drop"区域的防火墙规则
firewall-cmd --zone=drop --list-all

#查看防火墙伪装IP地址功能是否开启,端口转发需要用到此功能
firewall-cmd --query-masquerade

5.firewall防火墙相关设置

修改防火墙默认区域为"drop"(永久性)
firewall-cmd --set-default-zone=drop

修改"ens33"网卡区域为"drop"
firewall-cmd --permanent --zone=drop --change-interface=ens33

设置"drop"区域添加协议icmp(即允许ICMP)
firewall-cmd --permanent --zone=drop --add-protocol=icmp

"--add"改为"--remove"就是删除上一条规则
firewall-cmd --permanent --zone=drop --remove-protocol=icmp

设置"drop"区域允许tcp的22端口
firewall-cmd --permanent --zone=drop --add-port=22/tcp

删除上一条规则
firewall-cmd --permanent --zone=drop --remove-port=22/tcp

设置"drop"区域允许udp的4990-4999端口
firewall-cmd --permanent --zone=drop --add-port=4990-4999/udp

6.firewall防火墙富规则设置(源目地址+协议+允许/拒绝)

#允许ICMP(accept表示允许)
firewall-cmd --permanent --add-rich-rule='rule protocol value=icmp accept'

#删除上一条规则
firewall-cmd --permanent --remove-rich-rule='rule protocol value=icmp accept'

#将来自192.168.2.0/24网段访问本机22端口的数据丢弃(drop表示丢弃)
firewall-cmd --permanent --zone=drop --add-rich-rule='rule family=ipv4 source
address=192.168.80.0/24 port protocol=tcp port=22 drop'

#将来自192.168.2.0/24网段访问本机22端口的数据允许通过(accept表示允许)
firewall-cmd --permanent --zone=drop --add-rich-rule='rule family=ipv4 source
address=192.168.80.0/24 port protocol=tcp port=22 accept'

#任何访问192.168.80.137(本机)主机的22端口的数据丢弃(相当于禁用了某个网卡的22端口)
firewall-cmd --permanent --zone=drop --add-rich-rule='rule family=ipv4
destination address=192.168.80.137 port protocol=tcp port=22 drop'

#允许来自192.168.80.0/24网段访问192.168.80.137主机的8000-9000端口
firewall-cmd --permanent --zone=drop --add-rich-rule='rule family=ipv4 source
address=192.168.80.0/24 destination address=192.168.80.137 port protocol=tcp port=8000-9000 accept'

7.firewall防火墙清除所有规则及端口转发

#清除所有规则
rm -rf /etc/firewalld/zones/*

#开启伪装IP地址功能
firewall-cmd --zone=drop --add-masquerade

#禁用伪装IP地址功能
firewall-cmd --zone=drop --remove-masquerade

#将访问本机的TCP_888端口转发到192.168.80.137(本机)的22端口
firewall-cmd --permanent --zone=drop --add-forward-
port=port=888:proto=tcp:toport=22:toaddr=192.168.80.137

#来自192.168.80.0/24访问本机888端口转发到192.168.80.137的22端口,协议tcp
firewall-cmd --permanent --zone=drop --add-rich-rule="rule family=ipv4 source
address=192.168.80.0/24 forward-port port=888 protocol=tcp to-port=22 to-
addr=192.168.80.137"

8.firewalld防火墙相关目录及紧急模式

firewalld系统目录(不要修改)
/usr/lib/firewalld/
firewalld用户目录(不建议修改,建议使用命令配置防火墙规则)
/etc/firewalld/

#查看防火墙紧急模式状态
firewall-cmd --query-panic

#启用紧急情况模式,阻断一切网络(远程管理时慎用)
firewall-cmd --panic-on关闭紧急模式
firewall-cmd --panic-off

七、远程桌面连接到centos 7

1 .使用xmanager 4远程桌面连接centos 7(不推荐)

使用xmanager 4远程桌面连接centos 7 ,xmanager本身只是一个使用xdmcp协议远程桌面的客户端连接软件,主要是在centos上启动xdmcp服务(udp_177端口),由于centos 7默认使用的图形界面gnome使用了硬件加速导致不支持xdmcp服务,所以需要安装lightdm和xfce,lightdm是显示管理器,xfce是图形界面软件。安装这两个软件的需先安装linux企业版附加软件包epel,修改lightdm的配置文件用于开启xdmcp服务,此时并没有真的开启xdmcp服务,需关闭原有的gdm显示管理器,启用lightdm显示管理器,记得这里需要重启。刚才我们只是启用lightdm并没有使用xfce,通过移动/usr/share/xsessions/目录下的gnome开头的目录,达到系统使用xfce图形界面的目的,记得还是需要重启,重启完使用netstat -tunlp 查看是否有侦听udp的177端口,确认防火墙的状态是否关闭(或者允许udp177端口),如有必要可能还需要关闭SELinux。此时就可以在windows上使用xmanager软件远程桌面连接到centos7,方法是右键“新建XDMCP会话”方法选择“XDMCP Query”,其他的输入centos7的ip 地址,端口是177,即可连接了。

1.安装epel,lightdm,xfce

#安装linux企业版附加软件包epel-release
yum install -y epel-release

#安装轻量级Linux桌面显示管理器lightdm
yum install -y  lightdm

#安装轻量级桌面环境xfce
yum groupinstall -y xfce

2.修改lightdm的配置文件,并关闭gdm然后开启lightdm,重启

#修改lightdm的配置文件,修改内容如下
vim /etc/lightdm/lightdm.conf
[XDMCPServer]
enabled=true
port=177

#关闭gdm然后开启lightdm,设置完重启
systemctl disable gdm && systemctl enable lightdm

3.查看当前使用的图形界面,并通过移动目录的方式,让系统只能选择xfce

#查看当前使用的图形界面,例如GNOME / KDE / Cinnamon / MATE / Xfce
echo $XDG_CURRENT_DESKTOP

#查看lightdm的启动状态,发现lightdm调用的还是gnome-session而不是xfce
systemctl status lightdm

#以下操作就是将/usr/share/xsessions/目录下的gnome开头的目录移动到其他地方
cd /usr/share/xsessions/ && ls
mkdir back && mv gnome* back && ls

#init 3表示进入纯命令行模式,init 5表示进入图形界面模式
init 3 
init 5

4.关闭防火墙,查看端口侦听

#查看防火墙状态
systemctl status firewalld

#关闭防火墙(临时)
systemctl stop firewalld.service

#永久关闭防火墙(重启生效)
systemctl disable firewalld

#查看当前系统侦听的tcp和udp端口
netstat -tunlp

5.如果遇到权限的问题,则需要关闭SELinux

#查看SELinux状态
[root@localhost ~]# sestatus

#永久关闭SELinux,重启后生效
[root@localhost ~]# vim /etc/selinux/config
SELINUX=disabled

6.从xfce恢复到gnome

#将之前的/usr/share/xsessions/目录恢复原样
cd /usr/share/xsessions/back/ && mv gnome* ..
cd .. && ls

#关闭lightdm,开启gdm,重启
systemctl disable lightdm && systemctl enable gdm

2 . 使用vnc远程桌面连接centos 7(推荐)

使用vnc远程桌面连接centos 7,需在centos 7上安装vncserver服务,将vncserver服务做系统服务,修改该服务的配置信息,设置开机启动该服务,然后在windows上安装RealVNC,远程桌面连接到centos 7即可。

1.在centos 7上安装vncserver服务,并设置连接密码

#安装vncServer
[root@localhost ~]# yum -y install vnc "vnc-server"

#启动vncserver,第一次启动会提示设置连接密码
[root@localhost ~]# vncserver

#修改连接密码
[root@localhost ~]# vncpasswd

2.查看vnc服务是否正常,并查看端口是否侦听

#查看该目录下的文件,正常情况下有5个文件
[root@localhost ~]# ls -l .vnc

#查看当前用户开启了几个vncserver,默认一个
[root@localhost ~]# vncserver -list

#查看进程,验证vncserver是否有启动
[root@localhost ~]# ps -ef | grep vnc

#查看系统侦听端口,vncserver是用的tcp的5901
[root@localhost ~]# netstat -tunlp

3.将vncserver服务做成系统服务,并修改配置信息,设置开机启动该服务

#将vncserver服务做成系统服务
[root@localhost ~]# cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

#修改该文件信息,将<USER>替换为当前用户,即root
[root@localhost ~]# vim /etc/systemd/system/vncserver@\:1.service 
ExecStart=/usr/bin/vncserver_wrapper root %i

#设置开机启动vncserver服务
[root@localhost ~]# systemctl enable vncserver@\:1.service 

#启动vncserver服务
[root@localhost ~]# systemctl start vncserver@\:1.service 

#查看vncserver服务的状态
[root@localhost ~]# systemctl status vncserver@\:1.service 

4.在Windows下安装RealVNC,并连接到centos 7即可

#下载RealVNC
https://www.realvnc.com/en/connect/download/viewer/

使用RealVNC连接到centos7
ctrl+N新建连接,vnc server:192.168.10.134:5901 , Name: root ,Security选项:Let VNC Server choose
然后输入密码,注意是连接密码,不是系统登录密码。

3 . 使用rdp方式远程桌面到centos7(推荐)

在centos7下安装xrdp服务,设置开启启动xrdp服务,关闭防火墙,然后使用windows 下的mstsc远程桌面连接到centos7即可

1.安装epel源和xrdp服务

#安装xrdp需要epel源
[root@localhost ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

#安装xrdp
[root@localhost ~]# yum install -y xrdp

#查看是否安装xrdp
[root@localhost ~]# yum list | grep xrdp

#xrdp会调用vnc,需安装tigervnc-server
[root@localhost ~]# yum install -y tigervnc-server

#修改xrdp最大连接数为32(默认就是这个数,其实不用修改)
[root@localhost ~]# vim /etc/xrdp/xrdp.ini 
max_bpp=32

2.设置开机启动xrdp服务,并查看xrdp服务状态

#查看xrdp服务的状态
[root@localhost ~]# systemctl status xrdp

#开启xrdp服务
[root@localhost ~]# systemctl start xrdp

#设置开机启动xrdp服务
[root@localhost ~]# systemctl enable xrdp

#查看tcp的3389是否有侦听
[root@localhost ~]# netstat -tunlp

3.关闭防火墙

#查看防火墙状态
[root@localhost ~]# systemctl status firewalld

#关闭防火墙
[root@localhost ~]# systemctl stop firewalld

#设置开机关闭防火墙
[root@localhost ~]# systemctl disable firewalld

4.windows下使用mstsc远程桌面到centos7即可

Windows下使用mstsc连接到centos7
注意如果是windows 32位的系统,使用mstsc,可能会出现“发生身份验证错误 给函数提供的标志无效”
需使用windows 64位系统,或者使用RMDSTC(即增强版的mstsc)即可正常连接。


八、 centos7查找yum install命令安装后的⽂件路径

#例如安装这个,然后查看安装后的文件路径
yum install libcephfs-devel.x86_64

#通过 rpm 和管道查找具体安装⽂件全称
rpm -qa|grep libcephfs
libcephfs2-13.2.2-0.el7.x86_64
libcephfs_jni1-13.2.2-0.el7.x86_64
libcephfs_jni-devel-13.2.2-0.el7.x86_64
libcephfs-devel-13.2.2-0.el7.x86_64

#根据具体⽂件全称显⽰安装后⽂件所在路径
rpm -ql libcephfs_jni-devel-13.2.2-0.el7.x86_64
/usr/lib64/libcephfs_jni.so

九 、 CentOS 7.6 离线升级安装openssl-1.1.1d

思路1: linux离线安装软件的前提条件是需要知道该软件的各种依赖包, 而最简单最有效的方法,就是在相同的linux版本下,安装一遍该软件,安装软件后在/var/cache/yum/目录下就有了各种依赖的rpm缓存包,将其打包复制到需离线安装的服务器上,使用rpm -ivh *.rpm --nodeps --force 命令安装该目录下的所有rpm包即可.

思路2: 由于openssl通过yum源这种方式安装的版本,无法安装最新版本 ,需要在openssl官网下载最新的openssl-xxx.tar.gz编译安装 ,而编译安装, 首先需要离线安装make和gcc .

为了方便表述, 需要离线安装openssl的服务器为A , 相同系统版本能上网的服务器为B

环境说明: 服务器A和服务器B的版本都是CentOS 7.6
[root@192 ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core) 
具体实施步骤:
(1-9在服务器B上完成, 10-25在服务器A上完成)

1. 在服务器B上设置为国内yum源(推荐阿里源) ,具体操作自行百度或谷歌

2. 使用nano /etc/yum.conf 编辑该文件,修改 "keepcache=1" ,表示启用yum缓存


3. [root@192 ~]# rm -rf /var/cache/yum/*                //先在服务器B上清除缓存包

4. [root@192 ~]# yum install make gcc     //在服务器B上安装make和gcc
   下载并安装了如下rpm包:
   (1/10): cpp-4.8.5-39.el7.x86_64.rpm                        | 5.9 MB   00:01     
   (2/10): glibc-2.17-292.el7.x86_64.rpm                      | 3.6 MB   00:00     
   (3/10): gcc-4.8.5-39.el7.x86_64.rpm                        |  16 MB   00:02     
   (4/10): glibc-devel-2.17-292.el7.x86_64.rpm                | 1.1 MB   00:00     
   (5/10): glibc-headers-2.17-292.el7.x86_64.rpm              | 687 kB   00:00     
   (6/10): libgcc-4.8.5-39.el7.x86_64.rpm                     | 102 kB   00:00     
   (7/10): libgomp-4.8.5-39.el7.x86_64.rpm                    | 158 kB   00:00     
   (8/10): make-3.82-24.el7.x86_64.rpm                        | 421 kB   00:00     
   (9/10): glibc-common-2.17-292.el7.x86_64.rpm               |  11 MB   00:01     
   Public key for kernel-headers-3.10.0-1062.12.1.el7.x86_64.rpm is not installedA 
   (10/10): kernel-headers-3.10.0-1062.12.1.el7.x86_64.rpm    | 8.7 MB   00:01  

5. [root@192 ~]# mkdir /makegcc    //在服务器B ,根目录创建文件夹

6. 查看以下这三个位置,查看缓存的rmp包
   [root@192 ~]# ls /var/cache/yum/x86_64/7/base/packages/
   [root@192 ~]# ls /var/cache/yum/x86_64/7/extras/packages/
   [root@192 ~]# ls /var/cache/yum/x86_64/7/updates/packages/

7. 将有缓存的rpm包,复制到刚才创建的makegcc目录下
   [root@192 ~]# cp /var/cache/yum/x86_64/7/base/packages/*  /makegcc/
   [root@192 ~]# cp /var/cache/yum/x86_64/7/updates/packages/*  /makegcc/

8. [root@192 ~]# tar -czvf makegcc.tar.gz /makegcc        //将makegcc目录打包到当前目录下压缩名为makegcc.tar.gz

9. 使用ftp或U盘的方式将makegcc.tar.gz拷贝到服务器A上(ftp方式需使用二进制模式传输,并临时关闭防火墙)

10. [root@localhost ~]# tar -xzvf makegcc.tar.gz     //解压到当前目录

11. [root@localhost ~]# cd makegcc    //进入该目录

12. [root@localhost makegcc]# rpm -ivh *.rpm --nodeps --force      //安装当前目录下所有的rpm包

13. [root@localhost ~]# gcc -v     //查看gcc版本验证是否安装成功

14. [root@localhost ~]# make -v    //查看make版本验证是否安装成功

15. 在openssl官网  https://www.openssl.org/source/  下载得到openssl-1.1.1d.tar.gz压缩包复制到服务器A

16. [root@192 ~]# tar -xzvf openssl-1.1.1d.tar.gz      //解压到当前目录

17. [root@192 ~]# cd openssl-1.1.1d/           //进入该目录

18. [root@192 openssl-1.1.1d]# ./config      //在该目录下,执行config这个文件

19. [root@192 openssl-1.1.1d]# make       //在该目录下,编译

20. [root@192 openssl-1.1.1d]# make install    //在该目录下,编译并安装

21. [root@192 ~]# ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1     //创建软链接(否则会报错无法使用openssl)

22. [root@192 ~]# ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1      //创建软链接

23. [root@192 ~]# openssl version      //查看openssl的版本,如果不是1.1.1d ,则执行下面两条命令

24. [root@192 ~]# mv /usr/bin/openssl /tmp/       //将原有的openssl移到其他位置

25. [root@192 bin]# ln -s /usr/local/bin/openssl /usr/bin/openssl      //创建软链接

十、 linux自动清理日志(示例)

1.先安装crontabs这个软件(类似于windows的任务计划管理),并设置这个软件服务开机启动

#安装crontabs软件
yum -y install crontabs

#查看crond.service服务的状态
systemctl status crond.service

#启动crond.service服务
systemctl start crond.service

#设置开机自动启动crond.service服务
systemctl enable crond.service

2.在指定位置创建一个shell文件,并添加执行权限

cd /home/XXX/XXX/logs/
touch auto-del-30-days-ago-log.sh
chmod +x auto-del-30-days-ago-log.sh

3.编辑该shell文件,内容如下

vim auto-del-30-days-ago-log.sh
#!/bin/sh
find /home/XXX/XXX/logs/ -mtime +30 -name "*.log" -exec rm -rf {} \;

4.编辑crontab任务计划,内容如下(表示每天0点10分执行auto-del-30-days-ago-log.sh)

crontab -e
10 0 * * * /home/XXX/XXX/logs/auto-del-30-days-ago-log.sh

5.查看crontab任务计划

crontab -l

十一、 linux使用FTP客户端命令行

apt install ftp          #ubuntu安装ftp客户端
yum install ftp       #centos安装ftp客户端

[root@192 ~]# ftp 192.168.80.1 21      #指定IP地址和端口默认21
Connected to 192.168.80.1 (192.168.80.1).
220 Microsoft FTP Service
Name (192.168.80.1:root): anonymous     #匿名登录用户
331 Anonymous access allowed, send identity (e-mail name) as password.
Password:                              #随便输入一个邮箱格式,如123@123.com
230 User logged in.          #表示登录成功
Remote system type is Windows_NT.
ftp> help             #查看有哪些命令可用

ftp> dir    #显示ftp的目录
ftp> cd     #切换ftp所在目录
ftp> pwd    #查看ftp所在目录
ftp> lcd    #查看本地目录
ftp> binary   #以二进制方式传输(建议)
ftp> get 1.txt  #下载文件
ftp> put 2.txt    #上传文件
ftp> bye    #退出ftp

十二、 linux中断telnet

Ctrl + ] (右中括号) 然后输入 quit

示例:

[root@192 ~]# telnet 192.168.80.1 21
Trying 192.168.80.1...
Connected to 192.168.80.1.
Escape character is '^]'.
220 Microsoft FTP Service
^]
telnet> quit
Connection closed.
[root@192 ~]# 

十三、 查看linux系统内核版本及发行版本

#查看系统发行版本
cat /etc/issue 

#查看CentOS版本
cat /etc/redhat-release 

#查看linux内核版本
cat /proc/version

#查看系统信息
uname -a 

#查看linux系统内核版本
uname -r

#查看系统是32位还是64位
file /bin/ls

十四、 redhat官网下载镜像地址

https://access.redhat.com/downloads/

https://access.redhat.com/downloads/content/69/ver=/rhel—7/7.3/x86_64/product-software

十五、CentOS7关闭SELinux

#查看SELinux状态
getenforce

#查看SELinux状态
/usr/sbin/sestatus -v

#将SELINUX=enforcing改为SELINUX=disabled
#重启后生效
nano /etc/selinux/config

十六、vbox安装centos7的增强功能报错

VBoxClient: the VirtualBox kernel service is not running. Exiting.

vbox上安装centos7后,再安装vbox的增强功能后,进入桌面右上角提示 VBoxClient: the VirtualBox kernel service is not running. Exiting. 并且vbox增强功能明显没有运行成功,安装成功后是可以实现自动适应窗口大小的。

1.先关闭SELinux

2.更新kernel后重启

yum update kernel

3.安装kernel-devel gcc gcc-c++

yum install kernel-devel gcc gcc-c++

4.再次尝试安装Vbox增强功能,图像化操作即可

总结

未完待续

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神秘剑客_CN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值