linux中制作网络本地yum源
一、制作网络源源
首先我们找到网络镜像的位置我们以centos为例:
镜像站有很多,可以从http://mirror.centos.org/网站找出你需要的版本我的是centos7版本
[root@zlf1 ~]# vi
/etc/yum.repos.d/centos.repo
1 [centos7]
2 name=centos7
3
baseurl=http://mirror.centos.org/centos/7/os/x86_64/
4 enbaled=1
5 keepcache=1
6 gpgcheck=0
~
注:#baseurl这个地址一般到repodata/
[....] 代表这个库的名字,必须是唯一的,不可以重复。
name= 是这个库的说明,没有太大的实际意义,只是一个字段说明。
baseurl= 说明采取什么方式传输,具体路径在哪里,可以使用的方式有,file://,ftp://,http://等
enabled=1 说明启用这个更新库,0表示不启用。
Keepcache=1保存yum安装的软件包,位置为/var/cache/yum/x86_64/7Server/centos7/packages/
gpgcheck=0 表示不使用gpg文件来检查软件包的签名
二、制作本地yum源
首先我们得有本地yum,安装系统的ios镜像并实现自动挂载
[root@zlf1 ~]# vim /etc/fstab
/dev/mapper/rhel-root / xfs defaults 0 0
UUID=45fbc6dc-e038-48ad-94ab-2c1edca67db1
/boot xfs defaults 0 0
/dev/mapper/rhel-swap swap swap defaults 0 0
/dev/sr0 /mnt iso9660
defaults 0 0
注:fstab中存放了与分区有关的重要信息,其中每一行为一个分区记录,每一行又可分为六个部份,
1.
第一项是您想要mount的储存装置的实体位置,也就是你挂载镜像的原来位置
2.
第二项就是您想要将其加入至哪个目录位置,也就是你要挂载到的地方
3. 第三项就是所谓的local
filesystem,其包含了以下格式:如ext、ext2、msdos、iso9660、nfs、swap等,rhel6
为ext4,rhel7为xfs
4.
第四项就是您mount时,所要设定的状态,如ro(只读)或如上例的defaults(包括了其它参数如rw、suid、exec、auto、nouser、async)」。
5.
第五项是提供DUMP功能,在系统DUMP时是否需要BACKUP的标志位,其内定值是0。
6.
第六项是设定此filesystem是否要在开机时做check的动作,除了root的filesystem其必要的check为1之外,其它皆可视需要设定,内定值是0。
查看挂载信息
[root@zlf1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 49G 1010M 48G 3% /
devtmpfs 2.1G 0 2.1G 0%
/dev
tmpfs 2.1G 0 2.1G 0%
/dev/shm
tmpfs 2.1G 8.6M 2.1G 1% /run
tmpfs 2.1G 0 2.1G 0%
/sys/fs/cgroup
/dev/sda1 3.0G 115M 2.9G 4% /boot
tmpfs 424M 0 424M 0%
/run/user/0
/dev/sr0 3.8G 3.8G 0 100% /mnt
编辑repo文件
[root@zlf1 ~]# vim /etc/yum.repos.d/base.repo
[base7]
name=base7.2
baseurl=file:///mnt
enabled=1
gpgcheck=0
完成后清除缓存信息:
[root@zlf1 ~]# yum clean all
[root@zlf1 ~]# yum
list #看到列出一系列软件就表示制作完成
三、如果我有许多保存的rpm软件,想要制作成一个yum源
首先安装cresterepo这个软件包
[root@zlf1 ~]# yum -y install createrepo
[root@zlf1 ~]# mkdir
/createrepo/ #创建一个文件夹放rpm软件包
[root@zlf1 /]# cd
/createrepo/ #查看里面的软件包
openssl-1.0.1e-42.el7.9.x86_64.rpm openssl-libs-1.0.1e-42.el7.9.x86_64.rpm
openssl-devel-1.0.1e-42.el7.9.x86_64.rpm
[root@zlf1 /]# createrepo -p -d -o /createrepo/
/createrepo/
Spawning worker 0 with 1 pkgs
Spawning worker 1 with 1 pkgs
Spawning worker 2 with 1 pkgs
Spawning worker 3 with 0 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@zlf1 /]# cd /createrepo/
openssl-1.0.1e-42.el7.9.x86_64.rpm openssl-libs-1.0.1e-42.el7.9.x86_64.rpm
openssl-devel-1.0.1e-42.el7.9.x86_64.rpm repodata/
注:这时候我们看到多了一个repodata/目录,接下来创建yum源
[root@zlf1 ~]# mv base.repo{,.bak}
[root@zlf1 ~]# mv
centos.repo{,.bak} #先把刚安装的两个源注释掉
[root@zlf1 ~]# vim /etc/yum.repos.d/create.repo
[create]
name=create
baseurl=file:///createrepo/
enabled=1
gpgcheck=0
[root@zlf1 ~]# yum -y remove openssl
[root@zlf1 ~]# yum -y install
openssl #先卸载刚才安装的openssl然后再次安装
显示以下信息表示制作成功
到此安装成功。
~
~
~
~