前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux 挂载光盘镜像配置本地 yum 源安装软件

Linux 挂载光盘镜像配置本地 yum 源安装软件

作者头像
JiekeXu之路
发布2019-09-16 15:43:11
11K0
发布2019-09-16 15:43:11
举报
文章被收录于专栏:JiekeXu之路JiekeXu之路

Yum(全称为 Yellowdog Updater, Modified)是一个在 Fedora 和 RedHat 以及 CentOS 中的 Shell 前端软件包管理器。CentOS 和 Redhat 版本的 Linux 一般安装软件包选择 rpm 和 yum 安装方式,这也是比较常见的方式。不过 rpm 安装时如果有其他依赖的包则需要先安装依赖包,比较麻烦, yum 则可以解决依赖关系,也可同时安装多个 rpm 包。当然 deb 软件包安装以及源码方式安装也有使用。deb 软件包一般以 .deb 后缀结尾,dpkg -i 包名即可安装。源码方式的包一般都以.tar.gz 或者 .tar.bz2 结尾,下载后校检md5值,解压后经过配置(./configure)、编译(make)、安装(make install)便可以完成。

一般传统行业的公司的生产环境均是内网环境,是没有办法上网的,故网络 yum 源就不用考虑了,大公司基本上会使用局域网内的 FTP 服务器,配置 ftp 方式的 yum 源,通过局域网安装软件,也可挂载光盘镜像。个人学习使用或小公司基本上会配置本地 yum 源,以后有时间可以说说网络 yum 源,下面就先说说配置本地 yum 源以及安装软件的方式。

本次演示使用 Oracle VM VirtualBox 下的 Redhat6.4 以及 VMware Workstation Pro 下的 CentOS 7.6 以及简略说明 linuxone 下的 suse12sp4 环境

  • Redhat6.4 下配置 yum 源

一、插入光盘镜像

图形化界面上能够看到新增光盘图标,默认自动弹出窗口显示光盘中文件

二、 查看光盘对应路径

切换到光盘目录,使用 Tab 补齐的方法进入,便可以看到很多软件包,但由于默认路径有空格,不方便配置 yum 源,故需要重新挂载光盘。

代码语言:javascript
复制
[root@JiekeXu ~]# cd /media/RHEL_6.4\ x86_64\ Disc\ 1/
[root@JiekeXu RHEL_6.4 x86_64 Disc 1]# ls

三、创建目录

光盘加载到光驱后默认挂载点(访问入口)为 /media/RHEL_6.4 x86_64 Disc 1 路径中包含空格,不方便使用。

创建目录 作为新挂载点 (访问光盘的入口)

代码语言:javascript
复制
[root@JiekeXu ~]# mkdir /mnt/dvd
[root@JiekeXu ~]# ls -ld /mnt/dvd

四、重新挂载

df -Th 查看光盘对应设备名称 /dev/sr0

挂载光盘到新建的挂载点

代码语言:javascript
复制
[root@JiekeXu ~]# mount /dev/sr0 /mnt/dvd
[root@JiekeXu ~]# df -Th

使用新挂载点即可访问光盘中文件

[root@JiekeXu ~]# ls /mnt/dvd

/mnt/dvd/Server 是配置 yum 仓库要用到的路径

五、修改配置文件配置 yum 源

代码语言:javascript
复制
[root@JiekeXu ~]# cd /etc/yum.repos.d/
[root@JiekeXu yum.repos.d]# ll
total 16K
-r--r--r--  1 root root 114 Jul  2  2015 packagekit-media.repo
-rw-r--r--. 1 root root 358 Oct 19  2017 redhat.repo
-rw-r--r--  1 root root 656 Oct 20  2017 rhel64.repo
-rw-r--r--. 1 root root 529 Jun 12  2015 rhel-source.repo
[root@JiekeXu yum.repos.d]#

配置文件目录 /etc/yum.repos.d/

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 表示公钥文件地址

编辑配置文件,在最后追加写入内容 baseurl 中 file:// 表示本地文件,第三个 / 表示 根目录

代码语言:javascript
复制
[root@JiekeXu yum.repos.d]# cp rhel-source.repo rhel-source.repo.bak
[root@JiekeXu yum.repos.d]# vi rhel-source.repo
[rhel64]
name=rhel64 repo
baseurl=file:///mnt/dvd/Server
gpgcheck=0
[root@JiekeXu yum.repos.d]# tail -5 rhel-source.repo

六、yum 基本操作

清除缓存

代码语言:javascript
复制
[root@JiekeXu yum.repos.d]# yum clean all 
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Repository rhel-source is listed more than once in the configuration
Repository rhel-source-beta is listed more than once in the configuration
Cleaning repos: InstallMedia rhel67 rhel67rpm
Cleaning up Everything

列出软件包

代码语言:javascript
复制
[root@JiekeXu yum.repos.d]# yum list
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
[root@JiekeXu yum.repos.d]# yum list | grep zsh
Repository rhel-source is listed more than once in the configuration
Repository rhel-source-beta is listed more than once in the configuration
zsh.x86_64                             4.3.11-4.el6                    @rhel64

yum 安装、查看、删除软件包

代码语言:javascript
复制
[root@JiekeXu yum.repos.d]# yum install zsh
[root@JiekeXu yum.repos.d]# yum info zsh
[root@JiekeXu yum.repos.d]# yum remove zsh

七、 yum install XXX 安装其他的包

本地镜像源内的 rpm 包便可以自由安装了,使用 -y 则不用提示直接安装。

代码语言:javascript
复制
[root@JiekeXu yum.repos.d]# yum install vim* -y
[root@JiekeXu yum.repos.d]# yum install x11*
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Repository rhel-source is listed more than once in the configuration
Repository rhel-source-beta is listed more than once in the configuration
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package xorg-x11-apps.x86_64 0:7.7-6.el6 will be installed
--> Finished Dependency Resolution
  • CentOS 7.6 下配置 yum 源

CentOS 系列的 Linux 操作系统目前市场上使用的还是比较多的,而且很多公司也都陆陆续续使用 7 系列版本,那么本次将使用 CentOS 7.6 作为演示版本。

一、关闭防火墙

  • 临时关闭防火墙 systemctl stop firewalld
  • 永久防火墙开机自关闭 systemctl disable firewalld
  • 临时打开防火墙 systemctl start firewalld
  • 防火墙开机启动 systemctl enable firewalld
  • 查看防火墙状态 systemctl status firewalld
代码语言:javascript
复制
[root@JiekeXu ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since 六 2019-09-07 08:33:48 CST; 18h ago
     Docs: man:firewalld(1)
Main PID: 8220 (firewalld)
    Tasks: 2
   CGroup: /system.slice/firewalld.service
           └─8220 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

9月 07 08:33:40 JiekeXu systemd[1]: Starting firewalld - dynamic firewall daemon...
9月 07 08:33:48 JiekeXu systemd[1]: Started firewalld - dynamic firewall daemon.
9月 07 08:33:55 JiekeXu firewalld[8220]: WARNING: /etc/sysconfig/network-scripts/ifcfg-ens32: Duplicate option definition: 'BOO...tatic"'
Hint: Some lines were ellipsized, use -l to show in full.
[root@JiekeXu ~]#
[root@JiekeXu ~]# systemctl stop firewalld
[root@JiekeXu ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since 日 2019-09-08 03:19:50 CST; 3s ago
     Docs: man:firewalld(1)
  Process: 8220 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
Main PID: 8220 (code=exited, status=0/SUCCESS)

9月 07 08:33:40 JiekeXu systemd[1]: Starting firewalld - dynamic firewall daemon...
9月 07 08:33:48 JiekeXu systemd[1]: Started firewalld - dynamic firewall daemon.
9月 07 08:33:55 JiekeXu firewalld[8220]: WARNING: /etc/sysconfig/network-scripts/ifcfg-ens32: Duplicate option definition: 'BOO...tatic"'
9月 08 03:19:46 JiekeXu systemd[1]: Stopping firewalld - dynamic firewall daemon...
9月 08 03:19:50 JiekeXu systemd[1]: Stopped firewalld - dynamic firewall daemon.
Hint: Some lines were ellipsized, use -l to show in full.
[root@JiekeXu ~]#
[root@JiekeXu ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@JiekeXu ~]#
[root@JiekeXu ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

9月 07 08:33:40 JiekeXu systemd[1]: Starting firewalld - dynamic firewall daemon...
9月 07 08:33:48 JiekeXu systemd[1]: Started firewalld - dynamic firewall daemon.
9月 07 08:33:55 JiekeXu firewalld[8220]: WARNING: /etc/sysconfig/network-scripts/ifcfg-ens32: Duplicate option definition: 'BOO...tatic"'
9月 08 03:19:46 JiekeXu systemd[1]: Stopping firewalld - dynamic firewall daemon...
9月 08 03:19:50 JiekeXu systemd[1]: Stopped firewalld - dynamic firewall daemon.
Hint: Some lines were ellipsized, use -l to show in full.

二、关闭 SELINUX

编辑 /etc/selinux/config 文件,将其设置为 disabled,注意编辑 /etc/sysconfig/selinux 文件也可。

代码语言:javascript
复制
[root@JiekeXu sysconfig]# pwd
/etc/sysconfig
[root@JiekeXu sysconfig]# ls -l selinux
lrwxrwxrwx. 1 root root 17 7月   4 02:03 selinux -> ../selinux/config
[root@JiekeXu ~]# cat /etc/sysconfig/selinux
[root@JiekeXu ~]# more /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

四、设置域名解析

代码语言:javascript
复制
[root@JiekeXu ~]# vi /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.32.1
nameserver 192.168.32.0
nameserver 8.8.8.8
nameserver 114.114.114.114

五、挂载镜像

首先插入光盘镜像

六、建立目录,挂载镜像,将其写入开机自启动文件

代码语言:javascript
复制
mkdir /mnt/centos
mount -t iso9660 -o loop /dev/sr0 /mnt/centos
vim /etc/fstab

添加如下一行

代码语言:javascript
复制
/dev/cdrom /mnt/contos iso9660 defaults 0 0 0 0

[root@JiekeXu sysconfig]# cat /etc/fstab
# /etc/fstab
# Created by anaconda on Thu Jul  4 01:57:56 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=d40ff30e-48ce-4286-8e3f-bc9e30f3a6bb /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults,size=1024M        0 0
/dev/cdrom /mnt/centos                          iso9660 defaults        0 0               0 0

七、配置 yum 源

进入/etc/yum.repos.d 目录修改CentOS-Media.repo文件

代码语言:javascript
复制
mv CentOS-Base.repo CentOS-Base.repo_bak
vi CentOS-Media.repo
[local] //id:local 表示本地
name=CentOS-$releasever - local
baseurl=file:///mnt/centos //挂载镜像的文件夹路径
gpgcheck=0 //设置此源是否检验文件,1为校验,0为不校验
enabled=1 //启用该yum源
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7//公钥文件地址

注意:如果没有注释掉 CentOS-Base.repo 则会出现如下未知错误。

代码语言:javascript
复制
[root@JiekeXu yum.repos.d]# yum clean all;
已加载插件:fastestmirror, langpacks
正在清理软件源:base extras local updates
Cleaning up list of fastest mirrors
[root@JiekeXu yum.repos.d]# yum repolist
已加载插件:fastestmirror, langpacks
Determining fastest mirrors
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误"
Loading mirror speeds from cached hostfile
Loading mirror speeds from cached hostfile
Loading mirror speeds from cached hostfile
Loading mirror speeds from cached hostfile
源标识                                                            源名称                                                              状态
base/7/x86_64                                                     CentOS-7 - Base                                                     0
extras/7/x86_64                                                   CentOS-7 - Extras                                                   0
local                                                             CentOS-7 - local                                                    0
updates/7/x86_64                                                  CentOS-7 - Updates                                                  0
repolist: 0

八、简单应用

代码语言:javascript
复制
清空缓存 yum clean all
查看可用 yum 源 yum repolist
[root@JiekeXu yum.repos.d]# yum clean all;
已加载插件:fastestmirror, langpacks
正在清理软件源:local
Cleaning up list of fastest mirrors
[root@JiekeXu yum.repos.d]# yum repolist
已加载插件:fastestmirror, langpacks
Determining fastest mirrors
local                                                                                                              | 3.6 kB  00:00:00     
(1/2): local/group_gz                                                                                              | 166 kB  00:00:00     
(2/2): local/primary_db                                                                                            | 3.1 MB  00:00:00     
源标识                                                       源名称                                                                  状态
local                                                        CentOS-7 - local                                                        4,021
repolist: 4,021
  • SUSE 12sp4 环境下 zypper 源配置

1. zypper 的几个重要选项:

选项

说明

repos, lr

列出库

sl

列出库(目的是与rug兼容)

addrepo, ar

添加库

sa

添加库(目的是与rug兼容)

renamerepo, nr

重命名指定的安装源

modifyrepo, mr

修改指定的安装源

refresh, ref

刷新所有安装源

clean

清除本地缓存

2. zypper 软件管理:

选项

说明

install, in

安装软件包

remove, rm

删除软件包

verify, ve

检验软件包依赖关系的完整性

update, up

更新已安装的软件包到新的版本

dist-upgrade, dup

整个系统的升级

source-install, si

安装源代码软件包和它们的编译依赖

3. zypper 的查询选项:

选项

说明

search, se

安装软件包

packages, pa

列出所有可用的软件包

patterns, pt

列出所有可用的模式

products, pd

列出所有可用的产品

what-provides, wp

列出能够提供指定功能的软件包

下面实操说明配置 zypper 源

代码语言:javascript
复制
JiekeXu2:~ # zypper clean
All repositories have been cleaned up.
JiekeXu2:~ # zypper clean all
Repository 'all' not found by its alias, number, or URI.
Use 'zypper repos' to get the list of defined repositories.
Could not clean the repositories because of errors.
JiekeXu2:~ # cat /etc/issue
Welcome to SUSE Linux Enterprise Server 12 SP4  (s390x) - Kernel \r (\l).
JiekeXu2:~ # zypper rr 1
Removing repository 'SLES12-SP4 12.4-0' ......................................................................[done]
Repository 'SLES12-SP4 12.4-0' has been removed.
JiekeXu2:~ # zypper rr 1
Repository '1' not found by alias, number or URI.
JiekeXu2:~ # zypper rr 1
Repository '1' not found by alias, number or URI.
JiekeXu2:~ # zypper ar ftp://ftp@10.18.127.222/suse/suse12sp4s390x suse
Adding repository 'suse' .....................................................................................[done]
Repository 'suse' successfully added
URI         : ftp://ftp@10.18.127.222/suse/suse12sp4s390x
Enabled     : Yes                                         
GPG Check   : Yes                                         
Autorefresh : No                                          
Priority    : 99 (default priority)                       
Repository priorities are without effect. All enabled repositories share the same priority.
JiekeXu2:~ # zypper lr
Repository priorities are without effect. All enabled repositories share the same priority.
# | Alias | Name | Enabled | GPG Check | Refresh
--+-------+------+---------+-----------+--------
1 | suse  | suse | Yes     | ( p) Yes  | No     
JiekeXu2:~ # zypper ref
Retrieving repository 'suse' metadata ---------------------------------------------------------------------------[\]
Authentication required for 'ftp://ftp@10.18.127.222/suse/suse12sp4s390x'
User Name: ftpuser
Password:
Retrieving repository 'suse' metadata ........................................................................[done]
Building repository 'suse' cache .............................................................................[done]
All repositories have been refreshed.
JiekeXu2:~ # zypper -n in libaio-devel
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following NEW package is going to be installed:
  libaio-devel
1 new package to install.
Overall download size: 6.5 KiB. Already cached: 0 B. After the operation, additional 9.1 KiB will be used.
m                                     | 9.43-8.1                                | s390x                       | s390   | SLES12-SP4 12.4-0 | hfsutils                                   | 3.2.6-1240.71                           | s390x  | SLES12-SP4 12.4-0 | gnome-session-lang                         | 3.20.2-19.2                             | noari  | SLES12-SP4 12.4-0 | hicolor-icon-theme                         | 0.15-4.1                                | noarch | SLES12-SP4 12.4-0 | gnome-settings-daemon                      | 3.20.1-50.5.8                           | s390   | SLES12-SP4 12.4-0 | hmaccalc                                   | 0.9.13-2.3                              | s390x  | SLES12-SP4 12.4-0 | gnome-settings-daemon-lang                 | 3.20.1-50.5.8                           | noar   | SLES12-SP4 12.4-0 | hostinfo                                   | 1.0-17.12                               | noarch | SLES12-SP4 12.4-0 | gnome-shell                                | 3.20.4-77.17.1                          | s390   | SLES12-SP4 12.4-0 | hplip                                      | 3.16.11-1.33                            | s390x  | SLES12-SP4 12.4-0 | gnome-shell-browser-plugin                 | 3.20.4-77.17.1                          | s390   | SLES12-SP4 12.4-0 | hplip-hpijs                                | 3.16.11-1.33                            | s390x  | SLES12-SP4 12.4-0 | gnome-shell-classic                        | 3.20.1-24.27.44                         | noar   | SLES12-SP4 12.4-0 | hplip-sane                                 | 3.16.11-1.33                            | s390x  | SLES12-SP4 12.4-0 | gnome-shell-extensions-common              | 3.20.1-24.27.44                         | noari  | SLES12-SP4 12.4-0 | hunspell                                   | 1.3.2-18.1                              | s390x  | SLES12-SP4 12.4-0 | gnome-shell-extensions-common-lang         | 3.20.1-24.27.44                         | noar   | SLES12-SP4 12.4-0 | hunspell-32bit                             | 1.3.2-18.1                              | s390x  | SLES12-SP4 12.4-0 | gnome-shell-lang                           | 3.20.4-77.17.1                          | noari  | SLES12-SP4 12.4-0 | hunspell-tools                             | 1.3.2-18.1                              | s390x  | SLES12-SP4 12.4-0 | gnome-shell-search-provider-gnome-terminal | 3.20.2-8.62                             | s390Continue? [y/n/...? shows all options] (y): y
Retrieving package libaio-devel-0.3.109-17.15.s390x                            (1/1),   6.5 KiB (  9.1 KiB unpacked)
Retrieving: libaio-devel-0.3.109-17.15.s390x.rpm .............................................................[done]
Checking for file conflicts: .................................................................................[done]
(1/1) Installing: libaio-devel-0.3.109-17.15.s390x ...........................................................[done]

当然,局域网也有不通的时候,那么我们只要挂载光盘镜像或者上传镜像到系统某个目录下,如下 5 步也很方便配置 zypper 源,还等什么,赶快来试试吧。

1、首先建立挂载目录

mkdir /mnt/iso

2、上传光盘镜像到 /app 目录,并挂载镜像

mount -t iso9660 /app/SLES-11-SP4-DVD-x86_64-GM-DVD1.iso /mnt/iso

3、添加库,配置本地 repo

zypper ar file:///mnt/iso ss

4、查看列出本地库

zypper lr

代码语言:javascript
复制
JiekeXu2:/app/oracle # zypper lr
Repository priorities are without effect. All enabled repositories share the same priority.
# | Alias     | Name      | Enabled | GPG Check | Refresh
--+-----------+-----------+---------+-----------+--------
1 | suse12sp4 | suse12sp4 | Yes     | (r ) Yes  | No

5、 zypper install 或者 zypper in xxx 安装包

zypper in binutils-2.19

80%

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JiekeXu之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档