文章目录
前言
Linux 操作系统安装软件比较常用的一些命令 yum、dnf、apt-get、zypper 以及 pacman。这些命令分别对应不同的操作系统,大致可以分为 RHEL,DEB,SUSE 和 ARCH 四种。
Linux 系统安装软件必须要配置软件源,可以分为网络和本地两种方式。
- 网络源:必须要连接外网,连接到软件源 REPO 进行软件的下载安装。
- 本地源:使用安装的镜像文件(ISO)配置本地软件源,无需联网,比较适合内网使用,安全可控。
因为之前编写 Oracle 一键安装脚本 的缘故,对市面上 90% 的 Linux 操作系统都有安装过,比较熟悉,所以分享下如何在不同的 Linux 操作系统上快速的配置软件源,也方便大家进行查阅。
操作系统
本文主要介绍以下 Linux 操作系统如何配置软件源(点击链接可以下载 ISO 镜像):
配置本地软件源
配置本地软件源的方式需要先挂载本地 ISO 安装镜像,所以先介绍下如何在操作系统快速挂载 ISO 安装镜像。
挂载 ISO 镜像
挂载分为两种方式:
1、上传 iso 安装镜像到服务器主机指定目录下,以 /iso 为例:
1
| mount -o loop /iso/iso镜像包名称 /mnt
|
2、直接虚拟机或者物理主机层面挂载 iso 安装镜像:
挂载完之后,通过 df -Th /mnt 查看挂载情况:
以上两种方式都可以实现挂载,具体看情况使用即可。
下面命令均为一键配置本地软件源方式,默认 ISO 安装镜像挂载在 /mnt 目录下,直接复制使用即可。
RHEL 系
RHEL 系有以下操作系统:
- Centos
- RedHat
- OracleLinux
- RockyLinux
- AlmaLinux
- OpenCloudOS
- 阿里龙蜥 Anolis
- 中标麒麟 NeoKylin V7
RHEL 系的操作系统软件源配置目录均为:/etc/yum.repos.d。
6~7 全系
1 2 3 4 5 6 7 8 9 10 11 12 13
| mkdir -p /etc/yum.repos.d/bak mv /etc/yum.repos.d/* /etc/yum.repos.d/bak
cat<<-EOF>/etc/yum.repos.d/local.repo [server] name=server baseurl=file:///mnt enabled=1 gpgcheck=0 EOF
cat /etc/yum.repos.d/local.repo
|
8~9 全系
rhel 从 8 版本开始,安装命令从 yum 替换为 dnf,但是 yum 命令还是可以使用。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| mkdir -p /etc/yum.repos.d/bak mv /etc/yum.repos.d/* /etc/yum.repos.d/bak
cat <<-EOF > /etc/yum.repos.d/local.repo [BaseOS] name=BaseOS baseurl=file:///mnt/BaseOS enabled=1 gpgcheck=0 [AppStream] name=AppStream baseurl=file:///mnt/AppStream enabled=1 gpgcheck=0 EOF
cat /etc/yum.repos.d/local.repo
|
kylinV10/NingOS/红旗asianux/中科方德NFS
1 2 3 4 5 6 7 8 9 10 11 12 13
| mkdir -p /etc/yum.repos.d/bak mv /etc/yum.repos.d/* /etc/yum.repos.d/bak
cat<<-EOF>/etc/yum.repos.d/local.repo [server] name=server baseurl=file:///mnt enabled=1 gpgcheck=0 EOF
cat /etc/yum.repos.d/local.repo
|
SUSE
SUSE 系的操作系统软件源配置目录均为:/etc/zypp/repos.d/。
SUSE 12 全系
1 2 3 4 5
| mkdir -p /etc/zypp/repos.d/bak mv /etc/zypp/repos.d/* /etc/zypp/repos.d/bak
zypper ar -f /mnt sles
|
SUSE 15 全系
1 2 3 4 5 6 7
| mkdir -p /etc/zypp/repos.d/bak mv /etc/zypp/repos.d/* /etc/zypp/repos.d/bak
zypper ar -f /mnt/Module-Basesystem sles zypper ar -f /mnt/Module-Legacy sles-Legacy zypper ar -f /mnt/Module-Development-Tools sles-Tools
|
华为欧拉 openEuler
openEuler 软件源配置全版本通用:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| mkdir -p /etc/yum.repos.d/bak mv /etc/yum.repos.d/* /etc/yum.repos.d/bak
cat <<-EOF > /etc/yum.repos.d/local.repo [openEuler] name=openeuler baseurl=file://mnt enabled=1 gpgcheck=1 gpgkey=file://mnt/RPM-GPG-KEY-openEuler EOF
cat /etc/yum.repos.d/local.repo
|
统信 UOS
A 系
A 系采用的是 openAnolis 技术路线,使用命令方面:在线安装是 dnf 或 yum 命令,离线安装包是 rpm 包。
配置方式参考 RHEL 系。
C 系
C 系基于 CentOS 社区发行版进行二次商业化发行的 Linux 操作系统。使用命令方面:在线安装是 dnf 或 yum 命令,离线安装包是 rpm 包。
配置方式参考 RHEL 系。
D 系
D 系采用的是 Debian 技术路线,使用命令方面:在线安装是 apt 命令,离线安装包是 deb 包。
1 2 3 4 5 6 7 8 9 10
| uos_codename=$(grep -oP '^VERSION_CODENAME="?(\K[^"]+|[^"]+$)' /etc/os-release)
mkdir -p /etc/apt/bak mv /etc/apt/sources.list /etc/apt/bak
cat <<-EOF > /etc/apt/sources.list deb [trusted=yes] file:///mnt $uos_codename main EOF
cat /etc/apt/sources.list
|
E 系
E 系采用的是 openEuler 技术路线,使用命令方面:在线安装是 dnf 或 yum 命令,离线安装包是 rpm 包。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| mkdir -p /etc/yum.repos.d/bak mv /etc/yum.repos.d/* /etc/yum.repos.d/bak
cat <<-EOF > /etc/yum.repos.d/local.repo [BaseOS] name=BaseOS baseurl=file:///mnt/BaseOS enabled=1 gpgcheck=0 [AppStream] name=AppStream baseurl=file:///mnt/AppStream enabled=1 gpgcheck=0 EOF
cat /etc/yum.repos.d/local.repo
|
配置网络软件源
Linux 有部分操作系统的 ISO 安装镜像包不全,所以需要配置网络软件源,主要为 Deb 系、ARCH 系、华为 euleros以及 Fedora。
华为欧拉 EulerOS V2 全系
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| euler_codename=$(grep -oP '(?<=release )\d+\.' /etc/euleros-release)$(grep -oP '(?<=SP)\d+' /etc/euleros-release)
mkdir -p /etc/yum.repos.d/bak mv /etc/yum.repos.d/ /etc/yum.repos.d/bak
cat <<-EOF > /etc/yum.repos.d/EulerOS-base.repo [base] name=EulerOS baseurl=http://mirrors.huaweicloud.com/euler/$euler_codename/os/x86_64/ enabled=1 gpgcheck=1 gpgkey=http://mirrors.huaweicloud.com/euler/$euler_codename/os/RPM-GPG-KEY-EulerOS EOF
cat /etc/yum.repos.d/EulerOS-base.repo
|
Fedora 全系
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| cpu_type=$(uname -m) releasever=$(grep -oP '^VERSION_ID="?(\K[^"]+|[^"]+$)' /etc/os-release)
mkdir -p /etc/yum.repos.d/bak mv /etc/yum.repos.d/ /etc/yum.repos.d/bak
cat <<-EOF > /etc/yum.repos.d/fedora.repo [fedora] name=Fedora failovermethod=priority baseurl=http://mirrors.tuna.tsinghua.edu.cn/fedora/releases/$releasever/Everything/$cpu_type/os/ metadata_expire=28d gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$cpu_type skip_if_unavailable=False EOF
cat /etc/yum.repos.d/fedora.repo
|
ARCH 全系
1 2 3 4 5 6 7 8 9
| mkdir -p /etc/pacman.d/bak mv -f /etc/pacman.d/mirrorlist /etc/pacman.d/bak
cat <<-EOF > /etc/pacman.d/mirrorlist Server = http://mirrors.tuna.tsinghua.edu.cn/archlinux/\$repo/os/\$arch" EOF
cat /etc/pacman.d/mirrorlist
|
Deb 系
Deb 系有以下操作系统:
Deb 系的操作系统软件源配置文件均为:/etc/apt/sources.list。
Debian
Debian 8~10
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| debs_codename=$(grep DISTRIB_CODENAME /etc/lsb-release | cut -d '=' -f2)
wget http://deb.freexian.com/extended-lts/archive-key.gpg -O /tmp/elts-archive-key.gpg mv -f /tmp/elts-archive-key.gpg /etc/apt/trusted.gpg.d/freexian-archive-extended-lts.gpg
mkdir -p /etc/apt/bak mv /etc/apt/sources.list /etc/apt/bak
cat <<-EOF > /etc/apt/sources.list deb http://mirrors4.tuna.tsinghua.edu.cn/debian-elts $debs_codename main contrib non-free EOF
cat /etc/apt/sources.list
|
Debian 11~12
1 2 3 4 5 6 7 8 9 10 11
| debs_codename=$(grep DISTRIB_CODENAME /etc/lsb-release | cut -d '=' -f2)
mkdir -p /etc/apt/bak mv /etc/apt/sources.list /etc/apt/bak
cat <<-EOF > /etc/apt/sources.list deb http://mirrors4.tuna.tsinghua.edu.cn/debian/ $debs_codename main contrib non-free EOF
cat /etc/apt/sources.list
|
Ubuntu 全系
1 2 3 4 5 6 7 8 9 10 11
| debs_codename=$(grep DISTRIB_CODENAME /etc/lsb-release | cut -d '=' -f2)
mkdir -p /etc/apt/bak mv /etc/apt/sources.list /etc/apt/bak
cat <<-EOF > /etc/apt/sources.list deb http://mirrors4.tuna.tsinghua.edu.cn/ubuntu/ $debs_codename main restricted universe multiverse EOF
cat /etc/apt/sources.list
|
Deepin 全系
1 2 3 4 5 6 7 8 9 10 11
| debs_codename=$(grep DISTRIB_CODENAME /etc/lsb-release | cut -d '=' -f2)
mkdir -p /etc/apt/bak mv /etc/apt/sources.list /etc/apt/bak
cat <<-EOF > /etc/apt/sources.list deb https://community-packages.deepin.com/deepin/ $debs_codename main contrib non-free EOF
cat /etc/apt/sources.list
|
本次分享到此结束。