下面教你玩转Linux云服务器中的四大主流操作系统RHEL、CentOS、Debian、Ubuntu的软件包管理器。本文所要讲的内容跟你需要安装环境或者是升级环境有很大的关系,如果你遇到无法升级的情况,那可能需要更换软件源了。
文章的主题 RHEL、CentOS 的 yum 工具和 Debian、Ubuntu 的 APT 工具都是一个非常好的前端软件包管理器,它们可以帮助我们便捷的安装二进制软件无需编译,同时还可以自动安装该软件依赖的库或其他软件,还可以帮助操作系统保持最新状态。 这里就介绍一下 yum 和 apt 的用法。
一、升级系统,更新软件 1.RHEL、CentoS RHEL、CentOS 通过如下命令就可以自动更新操作系统以及通过软件源安装的全部软件: yum update 会同时更新软件的缓存,获取软件版本信息,然后再通过比较当前系统的软件版本,如果软件源的更新,那么就进行更新。 注意安装完成后, 你下载用于安装的包仍然保留在系统中,要释放空间,需要使用如下命令: yum clean packages #清除缓存目录下的软件包 yum clean headers #清除缓存目录下的 headers yum clean oldheaders #清除缓存目录下旧的 headers yum clean 或 yum clean all #清除缓存目录下的软件包及旧的headers 2.Debian、Ubuntu Debian、Ubuntu 通过如下命令就可以自动更新操作系统以及通过软件源安装的全部软件: apt update && apt upgrade apt update 是更新软件源缓存,apt upgrade 是更新软件,判断原理也是比较软件源和本地软件的版本并进行升级。 Debian 和 Ubuntu 还有 apt-get dist-upgrade 和 do-release-upgrade 命令可用,但是会升级整个系统到最新版本,例如 Debian 8.10 会升级到 Debian 9.4,这可能会导致云计算没有识别你的 Linux 内核而无法进入系统,同时系统镜像功能也会失效。 注意安装完成后,你下载用于安装的包仍然在你的 /var 目录下,要释放空间,记得用 apt-get clean 和 apt-get autoclean 将它们删除或移到别的地方。
二、更换软件源 这里就是重点来了,如何解决本次的软件源暂时无法使用的问题呢? 那就是提前换一个可以使用的软件源。 这里需要用到代码编辑器和SFTP软件。 1.RHEL、CentoS 修改 /etc/yum.repos.d/ 目录下的文件,例如:CentOS-Base.repo 、epel.repo 等,这里以修改 CentOS 7 本身的软件源文件 CentOS-Base.repo 为例: 将 CentOS-Base.repo 修改为 CentOS-Base.repo.old 然后创建一个新的 CentOS-Base.repo 文件,写入清华源的内容: # CentOS-Base.repo # # The mirror system uses the connecting IP address of the client and the # update status of each mirror to pick mirrors that are updated to and # geographically close to the client. You should use this for CentOS updates # unless you are manually picking other mirrors. # # If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead. # # [base] name=CentOS-$releasever - Base baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #released updates [updates] name=CentOS-$releasever - Updates baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/updates/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/extras/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/centosplus/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 然后运行 yum makecache 更新软件源缓存即可。 等问题修复,将该文件删除并将 CentOS-Base.repo.old 重新命名回来并更新缓存即可。 如果是 CentOS 6 可以把上面的7改成6,或者其他 CentOS 版本可以参考:https://mirror.tuna.tsinghua.edu.cn/help/centos/ 2.Debian、Ubuntu 修改 /etc/apt/sources.list 文件,重命名为 /etc/apt/sources.list.old 然后重新创建 /etc/apt/sources.list 文件,内容为: # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE-updates main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE-backports main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE-security main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE-security main restricted universe multiverse # 预发布软件源,不建议启用 # deb https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE-proposed main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE-proposed main restricted universe multiverse 注: 其中,OS 代表 debian 或者 ubuntu,CODE 代表发型代号,例如 Ubuntu 18.04 是 artful,Debian 9 是 stretch 展示一下 Ubuntu 18.04 的清华源替换方式: # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse # 预发布软件源,不建议启用 # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse 等问题修复,将该文件删除并将 /etc/apt/sources.list.old 重新命名回来并更新缓存即可。 使用阿里云提供的默认软件源的话,走的是 ECS 的内网速度更加的快而且走的公网也更加安全可靠。
三、添加第三方软件源 由于安全和维护的考量,当操作系统版本冻结后,这个发型的版本的操作系统下所有的软件版本号就会冻结,不再进行功能性升级只进行安全更新。就比如说 Debian 9 默认的 MariaDB 是 10.0,CentOS 7 默认的 MariaDB 是 5.5 ,那如果我们想用 10.2 的特性就不行了。 这时候通过添加第三方软件源就可以解决了,这里已添加 MariaDB 官方提供的软件源为例: 1.RHEL、CentOS 创建 /etc/yum.repos.d/nginx.repo 文件,内容如下,以 CentOS 7 为例: # MariaDB 10.2 CentOS repository list - created 2018-07-24 08:16 UTC # http://downloads.mariadb.org/mariadb/repositories/ [mariadb] name = MariaDB baseurl = http://mirrors.aliyuncs.com/mariadb/yum/10.2/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 更新缓存: yum makecache 安装 MariaDB: yum install MariaDB-server MariaDB-client 2.Debian、Ubuntu 这里以 Debian 9 为例 1]、安装一下 software-properties-common 和 dirmngr : apt-get install software-properties-common dirmngr Ubuntu 不需要安装 dirmngr,直接 apt-get install software-properties-common 就行 2]、导入 Key 以校验软件的真实性: apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8 3]、加入软件源: add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirrors.aliyuncs.com/mariadb/repo/10.2/debian stretch main' Ubuntu 将 10.2/debian 改成 ubuntu 就行。 4]、更新软件源缓存并安装 MariaDB apt update & apt install mariadb-server
相关主题 |