[步骤] CentOS Linux & RHEL YUM 的使用(添加软件源)

步骤一:移除不可用的 YUM 软件源配置文件

1.1 方法一:备份系统自带的 YUM 软件源配置文件

# mkdir /etc/yum.repos.d/repobackup
# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repobackup/

1.2 方法二:删除系统自带的 YUM 软件源配置文件

# rm -rf /etc/yum.repos.d/*.repo

步骤二:添加指定的 YUM 软件源配置

2.1 方法一:使用 yum-config-manager 工具建立新配置文件

# yum-config-manager --add-repo http://example.com/

(补充:这里的 http://example.com/ 指的是官方提供的公共 yum 库链接)

(注意:添加了这个源之后确保对应的 /etc/yum.repos.d/ 配置文件中的 enable=0)

2.2 方法二:手动写一个 YUM 软件源配置文件指定 YUM 软件源

# vim  /etc/yum.repos.d/local.repo

创建以下内容:

[local]
name=local
baseurl=file:///temp
enabled=1
gpgcheck=0 

(补充:这里以软件仓库在 /temp 为例)

步骤三:确认新配置的 YUM 软件源可用

3.1 清理过时 YUM 库的缓存

# yum clean all

3.2 刷新并列出所有可用的软件源

# yum repolist 

[步骤] KVM 虚拟机模板的创建 (CentOS Linux 7 版)

注意:

在创建 KVM 虚拟机之前要先安装 KVM 并创建 KVM 虚拟网络

镜像准备:

在 CentOS 官网上下载安装系统所需要的镜像:

https://centos.org/download/

正文:

步骤一:理解创建 KVM 虚拟机模板的目的

主要用于批量克隆出新的 KVM 机器,节约创建新虚拟机的时间

步骤二:为这个虚拟机创建硬盘文件

2.1 创建硬盘文件

(只在真机上执行以下步骤)

# qemu-img create -f qcow2 /var/lib/libvirt/images/template_centos_7_10g.qcow2 10G

(补充:这里以创建 10G 大小的 template_centos_7_10g.qcow2 硬盘文件为例)

2.2 确认硬盘文件已创建

(只在真机上执行以下步骤)

# ls /var/lib/libvirt/images/ | grep template_centos_7_10g.qcow2

(补充:这里以确认 template_centos_7_10g.qcow2 硬盘文件为例)

步骤三:使用 KVM 和刚刚创建的硬盘文件新安装一台虚拟机

3.1 启动 KVM 的 virt-manager

(只在真机上执行以下步骤)

# virt-manager

3.2 在 virt-manager 上的左上角点击文件之后 “点击新建虚拟机”

(只在真机上执行以下步骤)

(步骤略)

3.2.1 选择以本地安装介质的方式安装系统

(只在真机上执行以下步骤)

(图:1)
3.2.2 选择安装系统的系统镜像

(只在真机上执行以下步骤)

(图:2)

(补充:这里以使用 centos-7.6-x86_64-everythin-1810.iso 系统镜像为例)

3.2.3 设置内存大小和 CPU 核心数
(只在真机上执行以下步骤)
(图:3)

(补充:这里以设置 2048 MiB 内容和 2 核 CPU 为例)

3.2.4 选择用刚刚创建的硬盘文件来安装系统

(只在真机上执行以下步骤)

(图:4)

(补充:这里以使用 template_centos_7_10g.qcow2 硬盘文件为例)

3.2.5 给虚拟机命名为并选择虚拟网络

(注意:虚拟网络必须提前创建好)

(只在真机上执行以下步骤)

(图:5)

(补充:这里以将虚拟机命名为 template_centos_7_10g 并使用 vlan001 网络为例)

3.2.6 开始安装系统

(只在真机上执行以下步骤)

(图:6)
3.2.7 选择系统语言

(只在真机上执行以下步骤)

(图:7)
3.2.8 之后进行系统配置界面

(只在真机上执行以下步骤)

需要手动配置的地方有两个:
1) “INSTALLATION DESTINATION”
2) “KDUMP”
分别点击以后就可以配置了

3.2.8.1 通过 “INSTALLATION DESTINATION” 对硬盘进行分区

(只在真机上执行以下步骤)

(补充:完成后点击左上角的 “DONE”)

(注意:只分一个分区,只设置一个挂载点挂载到根 “/”,使用标准硬盘类型,硬盘格式设置为 XFS)

(图:8)
(图:9)
3.2.8.2 取消 “KDUMP”

(只在真机上执行以下步骤)

(补充:完成后点击左上角的 “DONE”)

(图:10)
3.2.9 设置完成之后点击右下角的 “Begin installation”

(只在真机上执行以下步骤)

(图:11)
3.2.10 在安装的过程中设置 root 密码,安装完成后重启

(只在真机上执行以下步骤)

(图:12)
3.2.11 在安装系统的过程中需要注意的内容总结

1) 一定要使用刚刚创建的 /var/lib/libvirt/images/template_centos_7_10g.qcow2 作为安装虚拟机的硬件文件
2) 虚拟机网络 “vlan001” 要提前创建好
3) 只分一个分区,只设置一个挂载点挂载到根 “/”,使用标准硬盘,硬盘格式是 XFS
4) 取消 “KDUMP”

步骤四:进入新创建虚拟机修改配置

4.1 修改网卡个性化设置

4.1.1 修改网卡配置文件

(只在虚拟机上执行以下步骤)

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

将全部内容进行如下修改:

BOOTPROTO=dhcp
NAME=eth0
DEVICE=eth0
ONBOOT=yes
TYPE=Ethernet
4.1.2 使修改的网卡配置生效

(只在虚拟机上执行以下步骤)

# service network restart

4.2 禁用 selinux

(只在虚拟机上执行以下步骤)

# vi /etc/selinux/config

将全部内容进行如下修改:

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

4.3 禁用空路由

(只在虚拟机上执行以下步骤)

# vi /etc/sysconfig/network

将全部内容修改如下:

# Created by anaconda
NOZEROCONF="yes"

4.4 添加 Console 配置

4.4.1 修改 grub 内核配置文件

(只在虚拟机上执行以下步骤)

# vi /etc/default/grub

将全部内容修改如下:

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL="serial console"
GRUB_SERIAL_COMMAND="serial --unit=1 --speed=115200"
GRUB_CMDLINE_LINUX="biosdevname=0 net.ifnames=0 console=tty0 console=ttyS0,115200n8"
GRUB_DISABLE_LINUX_UUID="true"
GRUB_ENABLE_LINUX_LABEL="true"
GRUB_DISABLE_RECOVERY="true"
4.4.2 使修改的 grub 内核配置生效

(只在虚拟机上执行以下步骤)

# grub2-mkconfig -o grub

4.5 将系统自动挂载的硬盘从使用 UUID 换成硬件路径

4.5.1 显示根 “/” 分区的 UUID

(只在虚拟机上执行以下步骤)

# blkid
/dev/vda1: UUID="84ccf593-a924-4949-b7ef-584be43deef5" TYPE="xfs"

(补充:这里的 UUID 是: 84ccf593-a924-4949-b7ef-584be43deef5)

4.5.2 在自动挂载文件里将根 “/” 分区的 UUID 换成硬件路径
# vi /etc/fstab

将以下内容:

......
UUID=84ccf593-a924-4949-b7ef-584be43deef5 /                   xfs     defaults        0 0

(补充:这里的 UUID 是: 84ccf593-a924-4949-b7ef-584be43deef5)

修改为:

......
/dev/vda1 /                   xfs     defaults        0 0

4.6 删除不用的程序

(只在虚拟机上执行以下步骤)

# yum -y remove NetworkManager-* firewalld-* python-firewall

4.7 配置虚拟系统的 yum 源

4.7.1 备份旧 yum 源
4.7.1.1 创建备份目录

(只在虚拟机上执行以下步骤)

# mkdir /etc/yum.repos.d/backup
4.7.1.2 备份旧 yum 源

(只在虚拟机上执行以下步骤)

# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup
4.7.2 创建新的 yum 源文件

(只在虚拟机上执行以下步骤)

# vi /etc/yum.repos.d/lan.repo

创建以下内容:

[CentOS7]
name=CentOS7
baseurl=http://192.168.100.254/CentOS7/
enabled=1
gpgcheck=0

(注意:这里的 http://192.168.1.250/centos7/ 需要根据真实环境的情况进行更改)

4.7.3 删除旧的 yum 源数据

(只在虚拟机上执行以下步骤)

# yum clean all
4.7.4 刷新新的 yum 源

(只在虚拟机上执行以下步骤)

# yum repolist

4.8 对虚拟系统进行升级

(只在虚拟机上执行以下步骤)

# yum -y update

4.9 进行分区扩展

4.9.1 安装分区扩展软件

(只在虚拟机上执行以下步骤)

# yum install -y cloud-utils-growpart
4.9.2 给开机自启配置文件相应的权限

(只在虚拟机上执行以下步骤)

# chmod 755 /etc/rc.local
4.9.3 设置开机自动扩容根 “/” 目录

(只在虚拟机上执行以下步骤)

# vi /etc/rc.local

添加以下内容:

/usr/bin/growpart /dev/vda1 
/usr/sbin/xfs_growfs /
4.10 修改虚拟机系统的名称

(只在虚拟机上执行以下步骤)

# vi /etc/hostname

将全部内容修改如下:

template_centos_7_10g
4.11 启用 serial 服务实现通过 virsh console 命令控制虚拟机

(只在虚拟机上执行以下步骤)

# systemctl start serial-getty@ttyS0
# systemctl enable serial-getty@ttyS0
4.12 清除虚拟系统的历史命令

(只在虚拟机上执行以下步骤)

# history -c
4.13 关闭虚拟机

(只在虚拟机上执行以下步骤)

# poweroff

步骤五:在真机上对虚拟机进行清理优化

(只在真机上执行以下步骤)

# sudo virt-sysprep -d template_centos_7_10g

(补充:这里以清理 template_centos_7_10g 虚拟机为例)


注意:如果此命令不存在
1) CentOS 系统的话需要安装 libguestfs-tools
2) openSUSE 系统的话需要安装 guestfs-tools

步骤六:此时就可以将此虚拟机的硬件文件作为模块进行批量克隆虚拟机了

(只在真机上执行以下步骤)

(步骤略)

[内容] Linux 硬件信息的显示 (处理器、内存、硬盘和其他硬件信息)

内容一:显示处理器信息

1.1 显示处理器进程 (虚拟核心) 数

# cat /proc/cpuinfo | egrep "core id|physical id|processor" | tr -d "\n" | sed s/processor/\\nprocessor/g | sed 's/physical/     physical/' | sed 's/core/     core/' | grep -v ^$ | wc -l

1.2 显示处理器物理核心数

# cat /proc/cpuinfo | egrep "core id|physical id" | tr -d "\n" | sed s/physical/\\nphysical/g | grep -v ^$ | sort | uniq | wc -l

1.3 显示物理封装处理器 (处理器 socket) 数

# cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l

1.4 显示处理器的详细信息

# lscpu

或者:

# cat /proc/cpuinfo

(补充链接:Linux 处理器详细信息的显示 (显示 /proc/cpuinfo 文件里的信息)

内容二:显示内存信息

2.1 显示内存使用情况

# free -m

(注意:这里显示的内存会比真实的硬件内存大小小一点)

2.2 显示内存详细信息

# cat /proc/meminfo

2.3 显示内存的总大小

# memunit=`dmidecode -t memory | egrep -i 'Size:' | egrep -i 'kb|mb|gb' | egrep -v -i 'Volatile|Maximum|Memory|Installed|Enabled' | awk '{print $NF}' | head -1`;memsize=`dmidecode -t memory | egrep -i 'Size:' | egrep -i 'kb|mb|gb' | egrep -v -i 'Volatile|Maximum|Memory|Installed|Enabled' | awk 'BEGIN{memtotal=0}{memtotal+=$2}END{print memtotal}'`; echo "$memsize $memunit"

内容三:显示硬盘信息

3.1 显示硬盘使用情况

# df -h

3.2 显示硬盘信息

# lsblk

3.3 显示硬盘总大小

# disksizeb=`lsblk -b | egrep -iv '\/|SWAP|NAME' | awk '$1!~/[0-9]/' | egrep 'disk' | awk 'BEGIN{disktotal=0}{disktotal=disktotal+$4}END{print disktotal}'`;let disksizek=$disksizeb/1024;let disksizem=$disksizek/1024;let disksizeg=$disksizem/1024;echo "$disksizeg GB"

内容四:显示其他硬件的信息

4.1 显示其他所有硬件的信息

# dmesg

4.2 显示某 1 个硬件的信息

# dmesg | grep -i mouse

(补充:这里以显示鼠标信息的方法为例)

[工具] Shell 检测性能指标 (例如:剩余硬盘空间、内存空间等)

介绍

基本信息

名称: 检测性能指标(例如:剩余硬盘空间、内存空间等)
作用: 检测性能指标(例如:剩余硬盘空间、内存空间等)

使用方法

1. 给此脚本添加执行权限
2. 执行此脚本

脚本

#!/bin/bash

ip=`ip a s | awk '/[1-2]?[0-9]{0,2}\.[1-2]?[0-9]{0,2}/&&!/127.0.0.1/{print $2}'`
host=`hostname`
disk=`df -h | awk '/\/$/{print $5}'`
mem=`free -m | awk '/Mem/{print $4}'`
cpu=`top -bn 1 | awk -F',' '/^%Cpu/{print $4 }' | awk '{print $1}'`
soft=`rpm -qa | wc -l`
port=`ss -ntulap | wc -l`

echo "$ip $host disk $disk"
echo "$ip $host mem $mem"
echo "$ip $host cpu $cpu"
echo "$ip $host soft $soft"
echo "$ip $host port $port"
echo

[命令] openSUSE & SLES 命令 zypper (管理软件和软件源)

内容一: 帮助文档相关

1.1 显示 zypper 帮助信息

# zypper help

或者:

# zypper --h

1.2 显示 zypper 选项的帮助信息

1.2.1 显示 zypper 选项帮助信息的格式
# zypper help <option>

或者:

# zypper <option> help
1.2.2 显示 zypper 选项帮助信息的案例
# zypper help install

(补充:这里以显示 install 子选项为例)

或者:

# zypper install help

(补充:这里以显示 install 子选项为例)

内容二:软件相关

2.1 安装软件包

2.1.1 安装软件包的格式
2.1.1.1 交互式安装软件包的格式
# zypper in <software>

或者:

# zypper install <software>

(补充:这里的 -f 参数是强制安装软件)

2.1.1.2 非交互式安装软件包的格式
# zypper -n in <software>

(补充:这里的 -n 代表会通过忽略交互式的步骤从而避免运行中断)

或者:

# zypper --no-gpg-checks --non-interactive install <software>


补充:
1) 这里的 –no-gpg-checks 代表不检验证书
2) 这里的 –non-interactive 代表会通过忽略交互式的步骤从而避免运行中断

2.1.2 安装软件包的案例

2.1.2.1 交互式安装软件包的案例
# zypper in httpd

(补充:这里以交互式安装 httpd 软件包为例)

或者:

# zypper install httpd

(补充:这里以交互式安装 httpd 软件包为例)

2.1.2.2 非交互式安装软件包的案例
# zypper -n in httpd


补充:
1) 这里以非交互式安装 httpd 软件包为例
2) 这里的 -n 代表会通过忽略交互式的步骤从而避免运行中断

或者:

# zypper --no-gpg-checks --non-interactive install httpd


补充:
1) 这里以交互式安装 httpd 软件包为例
2) 这里的 –no-gpg-checks 代表不检验证书
3) 这里的 –non-interactive 代表会通过忽略交互式的步骤从而避免运行中断

2.2 删除软件包

2.2.1 删除软件包的格式
2.2.1.1 交互式删除软件包的格式
# zypper rm <software>

或者:

# zypper remove <software>
2.2.1.2 非交互式删除软件包的格式
# zypper -n rm <software>

(补充:这里的 -n 代表会通过忽略交互式的步骤从而避免运行中断)

或者:

# zypper --no-gpg-checks --gpg-auto-import-keys --non-interactive remove <software>


补充:
1) 这里的 –no-gpg-checks 代表不检验证书
2) 这里的 –gpg-auto-import-keys 代表自动信任并导入新的签名密钥
3) 这里的 –non-interactive 代表会通过忽略交互式的步骤从而避免运行中断

2.2.2 删除软件包的案例
2.2.2.1 交互式删除软件包的案例
# zypper rm httpd

(补充:这里以交互式删除 httpd 软件包为例)

或者:

# zypper remove httpd

(补充:这里以交互式删除 httpd 软件包为例)

2.2.2.2 非交互式删除软件包的案例
# zypper -n rm httpd


补充:
1) 这里以非交互式删除 httpd 软件包为例
2) 这里的 -n 代表会通过忽略交互式的步骤从而避免运行中断

或者:

# zypper --no-gpg-checks --gpg-auto-import-keys --non-interactive remove httpd


补充:
1) 这里以非交互式删除 httpd 软件包为例
2) 这里的 –no-gpg-checks 代表不检验证书
3) 这里的 –gpg-auto-import-keys 代表自动信任并导入新的签名密钥
4) 这里的 –non-interactive 代表会通过忽略交互式的步骤从而避免运行中断

2.3 锁定软件包

2.3.1 锁定软件包的格式
# zypper addlock <software>

或者:

# zypper al <software>
2.3.2 锁定软件包的案例
# zypper addlock httpd

或者:

# zypper al httpd

(补充:这里以锁定 httpd 软件包的周期为例)

2.4 显示所有已锁软件包

# zypper locks

或者:

# zypper ll

2.5 解锁软件包

2.5.1 解锁软件包的格式
# zypper removelocks <software>

或者:

# zypper rl <software>
2.5.2 解锁软件包的案例
# zypper removelocks httpd

(补充:这里以解锁 httpd 软件包为例)

或者:

# zypper rl httpd

(补充:这里以解锁 httpd 软件包为例)

2.5.3 清除所有已锁软件包
# zypper cleanlocks

或者:

# zypper cl

2.6 升级软件包

2.6.1 升级软件包
2.6.1.1 升级软件包的格式
2.6.1.1.1 交互式升级软件包的格式
# zypper update <software>
2.6.1.1.2 非交互式升级软件包的格式
# zypper -n update <software>

(补充:这里的 -n 代表会通过忽略交互式的步骤从而避免运行中断)

或者:

# zypper --non-interactive update <software>

(补充:这里的 –non-interactive 代表会通过忽略交互式的步骤从而避免运行中断)

2.6.1.2 升级软件包的案例
2.6.1.2.1 交互式升级软件包的案例
# zypper update nginx

(补充:这里以交互式升级 nginx 软件包为例)

2.6.1.2.2 非交互式升级软件包的案例
# zypper -n update nginx


补充:
1) 这里以非交互式升级 nginx 软件包为例
2) 这里的 -n 代表会通过忽略交互式的步骤从而避免运行中断

或者:

# zypper --non-interactive update nginx


补充:
1) 这里以非交互式升级 nginx 软件包为例
2) 这里的 –non-interactive 代表会通过忽略交互式的步骤从而避免运行中断

2.6.2 升级所有软件包
2.6.2.1 升级所有软件包
2.6.2.1.1 交互式升级所有软件包
# zypper update
2.6.2.1.2 非交互式升级所有软件包
# zypper -n update
2.6.2.2 显示所有可升级的软件包
# zypper lp
2.6.3 升级软件包以后确认系统需不需要重启
# needs-restarting

2.7 查找软件包

2.7.1 查找软件包的格式
# zypper se <software>

或者:

# zypper search <software>

或者:

# zypper search --match-exact --type package --details <software>

(补充:这里 –match-exact 参数的作用是精确匹配,–type package 参数的作用是指定查找的对象是软件)

2.7.2 查找软件包的案例
# zypper se httpd

(补充:这里以查找 httpd 软件包为例)

或者:

# zypper search httpd

(补充:这里以查找 httpd 软件包为例)

或者:

# zypper se --match-exact --type package --details httpd

(补充:此方法会精确查找 httpd 软件包为例)

2.8 显示软件包所有可以安装的版本

2.8.1 显示某个软件包所有可以安装版本的格式
# zypper se -s <software>

或者:

# zypper search -details <software>
2.8.2 显示某个软件包所有可以安装版本的案例
# zypper se -s kernel-default

或者:

# zypper search -details kernel-default

(补充:这里以查找 httpd 软件为例)

2.9 显示软件的生命周期

2.9.1 显示软件的生命周期的格式
# zypper lifecycle <software>
2.9.2 显示软件的生命周期的案例
# zypper lifecycle httpd

(补充:这里以查找 httpd 软件的周期为例)

2.10 显示软件包的详细信息

# zypper if httpd

(补充:这里以显示 httpd 软件包的详细信息为例)

2.11 清理旧的内核软件包

2.11.1 交互式清理旧的内核软件包
# zypper purge-kernels
2.11.2 非交互式清理旧的内核软件包
# zypper -n purge-kernels

内容三:软件组相关

3.1 安装软件组

3.1.1 安装软件组的格式
3.1.1.1 交互式安装软件组的格式
# zypper in -t pattern <pattern>
3.1.1.2 非交互式安装软件组的格式
# zypper -n in -t pattern <pattern>
3.1.2 安装软件组的案例
3.1.2.1 交互式安装软件组的案例
# zypper in -t pattern kvm_server

(补充:这里以交互式安装 kvm_server 软件组为例)

3.1.2.2 非交互式安装软件组的案例
# zypper -n in -t pattern kvm_server

(补充:这里以非交互式安装 kvm_server 软件组为例)

3.2 删除软件组

3.2.1 删除软件组的格式
3.2.1.1 交互式删除软件组的格式
# zypper rm -t pattern <pattern>
3.2.1.2 非交互式删除软件组的格式
# zypper -n rm -t pattern <pattern>
3.2.2 删除软件组的案例
3.2.2.1 交互式删除软件组的案例
# zypper -n rm -t pattern kvm_server

(补充:这里以交互式删除 kvm_server 软件组为例)

3.2.2.2 非交互式删除软件组的案例
# zypper -n rm -t pattern kvm_server

(补充:这里以非交互式删除 kvm_server 软件组为例)

3.3 显示所有可用软件组
# zypper patterns

或者:

# zypper pt

或者:

# zypper se -t pattern

3.4 显示软件组的详细信息

3.4.1 显示软件组详细信息的格式
# zypper pattern-info <pattern>
3.4.2 显示软件组详细信息的案例
# zypper pattern-info kvm_server

(补充:这里以显示 kvm_server 软件组为例)

3.5 显示软件组所需要的所有软件包

3.5.1 显示软件组所需要的所有软件包的格式
# zypper info --requires <pattern>
3.5.2 显示软件组所需要的所有软件包的案例
# zypper info --requires kvm_server

(补充:这里以显示 kvm_server 软件组所需要的所有软件包为例)

内容四:安全相关

4.1 安全补丁

4.1.1 安装安全补丁
4.1.1.1 安装安全补丁的格式
4.1.1.1.1 交互式安装安全补丁的格式
# zypper in -t patch <patch>
4.1.1.1.2 非交互式安装安全补丁的格式
# zypper -n in -t patch <patch>
4.1.1.2 安装安全补丁的案例
4.1.1.2.1 交互式安装安全补丁的案例
# zypper in -t patch SUSE-SLE-SERVER-12-SP5-2022-323=1

(补充:这里以安装 SUSE-SLE-SERVER-12-SP5-2022-323=1 补丁为例)

4.1.1.2.2 非交互式安装安全补丁的案例
# zypper -n in -t patch SUSE-SLE-SERVER-12-SP5-2022-323=1

(补充:这里以安装 SUSE-SLE-SERVER-12-SP5-2022-323=1 补丁为例)

4.1.2 所有安全补丁
4.1.2 安装所有安全补丁
4.1.2.1 非交互式安装所有安全补丁
# zypper patch
4.1.2.2 交互式安装所有安全补丁
# zypper -n patch

内容五:软件源相关

5.1 新增软件源并指定软件源名

5.1.1 新增软件源并指定软件源名的格式
# zypper ar -fcg <software source link> <define software source name>
5.1.2 新增软件源并指定软件源名的案例
# zypper ar -fcg http://192.168.1.1/update-oss/ update-oss

(补充:这里以添加 http://192.168.1.1/update-oss/ 库并命名为 update-oss 为例)

5.2 删除软件源

5.2.1 删除软件源
5.2.1.1 删除软件源的格式
# zypper rr <software source name/software source URL>
5.2.1.2 删除软件源的案例
# zypper rr 'Main Repository'

或者:

# zypper rr http://download.opensuse.org/distribution/leap/15.3/repo/oss/

(补充:这里以删除名为 Main Repository 链接为 http://download.opensuse.org/distribution/leap/15.3/repo/oss/ 的软件源为例)

5.2.2 删除所有软件源
# zypper rr -a

或者:

# zypper rr `zypper ls | awk '{print $1}'`

5.3 启用软件源

5.3.1 启用软件源
5.3.1.1 启用软件源的格式
# zypper mr -e <software source name/software source URL>

或者:

# zypper modifyrepo -e <software source name/software source URL>
5.3.1.2 启用软件源的案例
# zypper mr -e 'Main Repository'

或者:

# zypper modifyrepo -e http://download.opensuse.org/distribution/leap/15.3/repo/oss/

(补充:这里以启用名为 Main Repository 链接为 http://download.opensuse.org/distribution/leap/15.3/repo/oss/ 的软件源为例)

5.3.2 启用所有软件源
# zypper mr -ea

或者:

# zypper modifyrepo -ea

或者:

# zypper mr -e `zypper ls | awk '{print $1}'`

或者:

# zypper modifyrepo -e `zypper ls | awk '{print $1}'`

5.4 禁用软件源

5.4.1 禁用软件源
5.4.1.1 禁用软件源的格式
# zypper mr -d <software source name/software source URL>

或者:

# zypper modifyrepo -d <software source name/software source URL>
5.4.1.2 禁用软件源的案例
# zypper mr -d 'Main Repository'

或者:

# zypper modifyrepo -d http://download.opensuse.org/distribution/leap/15.3/repo/oss/

(补充:这里以禁用名为 Main Repository 链接为 http://download.opensuse.org/distribution/leap/15.3/repo/oss/ 的软件源为例)

5.4.2 禁用所有软件源
# zypper mr -da

或者:

# zypper modifyrepo -da

或者:

# zypper mr -d `zypper ls | awk '{print $1}'`

或者:

# zypper modifyrepo -d `zypper ls | awk '{print $1}'`

5.5 显示软件源

5.5.1 显示所有软件源
# zypper ls

或者:

# zypper lr

(补充:zypper ls 会多显示软件源的 Type)

5.5.2 显示所有软件源的链接
5.2.2.1 显示所有软件源的链接 (显示时进行软件源验证)
# zypper ls -d

或者:

# zypper ls -u

或者:

# zypper repos -d

或者:

# zypper repos -u

或者:

# zypper ls --details

或者:

# zypper ls --uri

或者:

# zypper repos --details

或者:

# zypper repos --uri
5.2.2.2 显示所有软件源的链接 (显示时不进行软件源言政)
# zypper --non-interactive --no-gpg-checks repos -d


补充:
1) –non-interactive 代表非交互式
2) –no-gpg-checks 代表不检查证书

5.6 缓存软件源列表

5.6.1 缓存所有已启用软件源列表
# zypper ref

或者:

# zypper refresh
5.6.2 清除所有软件源列表缓存
# zypper clean

内容六:系统本版相关

升级系统版本

# zypper migration