栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

创建本地APT软件包仓库

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

创建本地APT软件包仓库

有些情况下,由于一些安全原因Ubuntu机器没有连接到互联网。在这种情况中,你可以设置自己的本地APT软件包仓库,并在Ubuntu机器上安装软件包。

系统环境

Ubuntu 20.04 LTS

安装dpkg-dev

需要安装dpkg-dev软件包,才能为本地APT仓库创建软件包元数据。

bob@ubuntu-20-04:~$ sudo apt install -y dpkg-dev

安装http服务

如果该软件仓库需要为其他ubuntu 20.04服务器使用,可以安装web服务器为其他ubuntu 20.04服务器提供软件仓库。

bob@ubuntu-20-04:~$ sudo apt install -y apache2

创建本地仓库的存储目录

创建/var/www/html/repo目录,用来存放软件包:

bob@ubuntu-20-04:~$ sudo mkdir /var/www/html/repo

创建挂载点,并挂载ubuntu 20.04的光盘到/mnt/cdrom目录。

bob@ubuntu-20-04:~$ sudo mkdir /mnt/cdrom
bob@ubuntu-20-04:~$ sudo mount /dev/cdrom /mnt/cdrom
mount: /mnt/cdrom: WARNING: device write-protected, mounted read-only.

查找/mnt/cdrom里面所有deb软件包并将其复制到我们的本地APT仓库目录中。

bob@ubuntu-20-04:~$ sudo find /mnt/cdrom -iname "*.deb" -exec cp {} /var/www/html/repo ;

编写一个脚本来更新Package.gz文件

创建一个脚本文件以扫描更新Packages.gz文件因为你可能会不时的在本地APT仓库中添加新的deb软件包。因此,每次在repo目录中添加新的deb软件包之后,都需要更新Packages.gz文件。

https://www.51cto.com/it/news/2020/0407/19877.html
https://www.donews.com/news/detail/4/2982630.html
https://www.pcpop.com/article/4498652.shtml

bob@ubuntu-20-04:~$ sudo vim /bin/update-debs

#!/bin/bash
cd /var/www/html/repo
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz

给update-debs脚本文件添加可执行权限:

bob@ubuntu-20-04:~$ sudo chmod +x /bin/update-debs

现在执行此脚本以创建Packages.gz文件:

bob@ubuntu-20-04:~$ sudo /bin/update-debs 

将本地APT仓库地址添加到sources.list文件中

首先备份一下sources.list文件,然后添加:

bob@ubuntu-20-04:~$ cd /etc/apt/
bob@ubuntu-20-04:/etc/apt$ sudo cp -p sources.list sources.list.back

打开sources.list文件,在文件底部添加下面内容:

bob@ubuntu-20-04:/etc/apt$ sudo vim sources.list

# Local APT Repository
deb [allow-insecure=yes] http://192.168.43.174/repo ./


更新一下软件源:

bob@ubuntu-20-04:~$ sudo apt update

总结

在本文中,介绍了如何在Ubuntu 20.04 LTS创建本地APT仓库。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/871420.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号