Ubuntu 20.04中创建本地APT软件包仓库

Crq
Crq
Crq
1159
文章
0
评论
2021年5月5日02:07:57
评论
533 1699字阅读5分39秒
摘要

有些情况下,由于一些安全原因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文件。

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 ./

Ubuntu 20.04中创建本地APT软件包仓库
更新一下软件源:

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

总结

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

本文原创地址:https://www.linuxprobe.com/ubuntu-create-local-apt.html编辑:逄增宝,审核员:逄增宝

weinxin
我的微信
这是我的微信扫一扫
Crq
  • 本文由 发表于 2021年5月5日02:07:57
  • 转载请注明:https://www.cncrq.com/9205.html
总说Linux,到底什么是Linux? Linux教程

总说Linux,到底什么是Linux?

Linux是最知名和最常用的开源操作系统。作为一个操作系统,Linux是一个软件,位于计算机上的所有其他软件的下面,从这些程序接收请求并将这些请求转发到计算机硬件。
Ubuntu12.04嵌入式交叉编译环境搭建 Linux教程

Ubuntu12.04嵌入式交叉编译环境搭建

在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译,这个编译过程就叫交叉编译。简单地说,就是在一个平台上生成另一个平台上的可执行代...
在Linux下如何使用JNI Linux教程

在Linux下如何使用JNI

本文简要介绍了 JNI 调用规范,及常用函数。我会通过具体示例程序展示了实现一个本地调用的基本步骤。希望对大家有帮助哈。
U盘安装Ubuntu Linux物理机 Linux教程

U盘安装Ubuntu Linux物理机

Linux系统越来越受欢迎,想要学习linux的前提是必须要有一个linux系统。虚拟机的安装方法就在《linux就该这么学》第零章,这里和大家分享一个物理机安装的方法。
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: