Ubuntu上离线安装包的制作与安装

本文详细介绍了如何在Ubuntu系统中制作离线安装包,包括下载所需deb包、生成依赖关系、打包成压缩文件,以及在另一台Ubuntu机器上进行离线安装的步骤。离线安装适用于多台电脑安装相同软件且无网络的情况,但需要注意系统版本和软件兼容性问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为没有在线的时候进行安装软件包,但是也是可以进行离线安装的,但是在Ubuntu系统中离线安装软件包要怎么的安装呢!会不会很是麻烦?所以现在我们一起去看看吧!
 
一.应用场景
a.当我们需要在多台电脑安装同一个软件,并且这个软件很大,下载需要很长时间时
b.需要安装软件的ubuntu不能上网
二.离线安装包的制作
2.1.通过如下指令下载XXXX软件所需要的deb包
        $ sudo apt-get -d install XXXXX
执行完上述指令后,XXXX软件的安装包就下载到了/var/cache/apt/archives目录下
2.2.生成依赖关系
1.根目录下新建一个文件夹
$ sudo mkdir offlinePackage
2.将下载的deb包拷贝到上述新建的文件夹下
$ sudo cp -r /var/cache/apt/archives  /offlinePackage
3.修改文件夹的权限,可读可写可执行
$ sudo chmod 777 -R /offlinPackage/
4.建立deb包的依赖关系
$ sudo dpkg-scanpackages /offlinePackage/ /dev/null |gzip >/offlinePackage/Packages.gz
如果出现错误:sudo: dpkg-scanpackages: command not found
则需要安装dpkg-dev工具:
$ sudo apt-get install dpkg-dev
5.将生成的Packages.gz包复制到和deb同目录下
$ sudo cp /offlinePackage/Packages.gz /offlinePackage/archi
步骤如下: 1. 创建一个文件夹用于存放制作镜像所需的文件和脚本。 2. 下载 PostgreSQL 12 的离线安装包,将其复制到该文件夹下。 3. 创建一个 Dockerfile 文件,编写以下内容: ``` # 基础镜像 FROM ubuntu:18.04 # 复制 PostgreSQL 的离线安装包到镜像中 COPY postgresql-12.0.tar.gz /opt/postgresql-12.0.tar.gz # 解压安装包安装 PostgreSQL RUN apt-get update \ && apt-get install -y \ build-essential \ zlib1g-dev \ libreadline-dev \ libxml2-dev \ libssl-dev \ libossp-uuid-dev \ && cd /opt \ && tar zxvf postgresql-12.0.tar.gz \ && cd postgresql-12.0 \ && ./configure \ && make \ && make install \ && rm -rf /opt/postgresql-12.0 \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* # 设置环境变量 ENV PGDATA /var/lib/postgresql/data ENV PATH $PATH:/usr/local/pgsql/bin # 创建运行 PostgreSQL 的用户和目录 RUN useradd postgres \ && mkdir -p /var/lib/postgresql/data \ && chown -R postgres:postgres /var/lib/postgresql # 暴露 PostgreSQL 默认端口 EXPOSE 5432 # 指定启动命令 CMD ["su", "postgres", "-c", "postgres -D $PGDATA"] ``` 4. 执行以下命令进行镜像构建: ``` docker build -t postgresql12 . ``` 其中,`postgresql12` 是镜像名称,可以根据需要进行修改。 5. 镜像构建完成后,可以通过以下命令运行容器: ``` docker run -d -p 5432:5432 --name postgresql12 postgresql12 ``` 其中,`postgresql12` 是镜像名称,可以根据需要进行修改;`5432:5432` 表示将容器内的 PostgreSQL 默认端口映射到宿主机的 5432 端口上;`--name postgresql12` 表示指定容器名称为 postgresql12。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值