【Ubuntu】Ubuntu上搭建本地源,做离线安装

2023-05-16

一、实验背景

Ubuntu作为最优秀的Linux发行版之一,是初学者入门的不二选择,但Linux有个最大的问题,就是离了网络就废了。

在Windows系统中,安装软件十分方便,下载安装程序,直接setup就可以了。

其实Linux安装软件也非常方便,前提是在联网的情况下,但要是离线安装,就无法享用apt的优势了,而直接使用dpkg安装,各种软件的依赖关系绝对让你头疼。

在某些对安全要求比较严的地方,是没有上网环境的,如果我们要在不能联网的Ubuntu上安装特定的软件包(比如nginx),怎么办?

类比CentOS,聪明如果你,一定想到了将指定的软件包及其依赖先在有网的机器上下载下来,然后拷贝到不能联网的机器,搭建本地仓库(源),执行安装。

那么问题来了:

1. 怎么在有网的机器上将一个特定软件包及其依赖一次性下载下来?

2. 怎么在不能联网的机器,搭建本地仓库(源)?

 

二、实验环境

操作系统: Ubuntu16.04 

serverA   192.168.1.101    能联网

serverB  192.168.1.102    不能联网

 

三、在serverA上制作nginx离线安装包

 

1. 添加nginx官方仓库

 

Official Debian/Ubuntu packages

https://www.nginx.com/resources/wiki/start/topics/tutorials/install

 

#  vim  /etc/apt/sources.list.d/nginx.list

##############################################

deb http://nginx.org/packages/ubuntu/ xenial nginx

deb-src http://nginx.org/packages/ubuntu/ xenial nginx

##############################################

 

# apt-get update

# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys  ABF5BD827BD9BF62

 

添加仓库(源)信任的另一种方式

 

#  vim  /etc/apt/sources.list.d/nginx.list

##########################################################

deb       [trusted=yes]      http://nginx.org/packages/ubuntu/   xenial nginx

deb-src  [trusted=yes]     http://nginx.org/packages/ubuntu/   xenial nginx

###########################################################

# apt-get update

列出添加的nginx源中软件包

 

#  ll /var/lib/apt/lists/*nginx*

#  grep -E "Package:|Version:" Package /var/lib/apt/lists/nginx.org_packages_ubuntu_dists_xenial_nginx_binary-amd64_Packages

# grep  -E "Package:|Version:" Package  /var/lib/apt/lists/nginx.org_packages_ubuntu_dists_xenial_nginx_binary-amd64_Packages | awk '{print $2}'

 

# apt-cache madison nginx

# apt-cache policy nginx

 

2. 下载nginx主包及其依赖

 

# mkdir -p /root/nginxDeps

# cd   /root/ngixDeps

# apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances nginx=1.16.0-1~xenial | grep -v i386| grep "^\w" | sort -u

#  apt-get download  $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances nginx=1.16.0-1~xenial | grep -v i386| grep "^\w" | sort -u)

 

# dpkg-scanpackages . | gzip -9c > Packages.gz

 

 

3.将/root/nginxDeps目录打包,拷贝到serverB离线机器

#  tar  -zcf   nginxDeps.tar.gz     nginxDeps

 

 

四、在serverB利用离线安装包搭建本地源

 

# tar  -zxf    nginxDeps.tar.gz  -C  /tmp

注意:不能解压在/root 目录下,否则会报没有读取权限!

 

# cp /etc/apt/sources.list    /etc/apt/sources.list.bak

# echo  >  /etc/apt/sources.list 

#  vi   /etc/apt/sources.list  

#########################################

deb [trusted=yes] file:///tmp/nginxDeps/    ./

#########################################

 

# apt-get clean all

# apt-get update

 

# apt -y install nginx

 

 

 

还原仓库文件

#   cp  /etc/apt/sources.list.bak   /etc/apt/sources.list

#  rm  -rf  /tmp/nginxDeps

 

如上,我们实现了nginx在Ubuntu上的离线安装,其他软件的安装方法类似,触类旁通,举一反三。

 

六、参考

 

Get Docker CE for Ubuntu

https://docs.docker.com/install/linux/docker-ce/ubuntu

 

How To Build Local APT Repositories?

https://www.centos.bz/2017/07/apt-mirror-deploy-ubuntu-local-repositry

https://odzangba.wordpress.com/2006/10/13/how-to-build-local-apt-repositories

 

How To Install Softwares Offline In Ubuntu 16.04

https://www.ostechnix.com/install-softwares-offline-ubuntu-16-04

https://www.jb51.net/article/99570.htm

 

Is there an apt command to download a deb file from the repositories to the current directory?

https://askubuntu.com/questions/30482/is-there-an-apt-command-to-download-a-deb-file-from-the-repositories-to-the-curr

 

How to list/download the recursive dependencies of a debian package?

https://stackoverflow.com/questions/22008193/how-to-list-download-the-recursive-dependencies-of-a-debian-package

 

How to download all dependencies and packages to directory?

https://stackoverflow.com/questions/13756800/how-to-download-all-dependencies-and-packages-to-directory

 

How To Create A Local Debian/Ubuntu Mirror With apt-mirror?

https://www.howtoforge.com/local_debian_ubuntu_mirror

 

How do I download a package from apt-get without installing it?

https://stackoverflow.com/questions/4419268/how-do-i-download-a-package-from-apt-get-without-installing-it

 

How to Force update from unsigned repository Ubuntu 16.04 ?

https://askubuntu.com/questions/732985/force-update-from-unsigned-repository-ubuntu-16-04

 

How to download .deb package and all dependencies?

https://superuser.com/questions/876727/how-to-download-deb-package-and-all-dependencies

 

Ubuntu 16.04: Download deb package and all package dependencies

https://www.hiroom2.com/2016/08/10/ubuntu-16-04-download-deb-package-and-all-package-dependencies

 

How to list all packages from a repository in ubuntu / debian?

https://serverfault.com/questions/252333/list-all-packages-from-a-repository-in-ubuntu-debian

https://www.linuxuprising.com/2018/11/how-to-list-all-packages-in-repository.html

https://askubuntu.com/questions/220478/how-to-get-list-of-installable-packages-from-repositories

 

THE DEB AND DEB-SRC TYPES: GENERAL FORMAT

https://manpages.debian.org/testing/apt/sources.list.5.en.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Ubuntu】Ubuntu上搭建本地源,做离线安装 的相关文章

随机推荐

  • Windows server 2022 组策略软件分发

    1 首先们需要安装ad域并让另一个系统加入域这里可以查看我的上一篇文章 http t csdn cn xMVxa 在服务器中创建一个文件夹 xff0c 并给文件夹起名 2 右键属性 gt 共享 gt 共享添加everyone用户组 gt 确
  • /u字符串

    utf 8 1 4个字节表示字符 一个字节8位
  • verilog语言的ps2键盘驱动设计

    PS 2接口是目前最常见的鼠标接口 xff0c 最初是IBM公司的专利 xff0c 俗称 小口 这是一种鼠标和键盘的专用接口 xff0c 是一种6针的圆型接口 本设计完成了ps2键盘驱动 xff0c 并将键盘对应的16进制ascii码值在数
  • 【23M1W1】菊厂入职前的一些小复习

    文章目录 总结Day1 Day2 Day3 Day4Day5 知识点 总结 Day1 Day2 Day3 Day4 做计划 xff0c 找资源 xff1a 1 代码实操 xff1a acwing和leetcode日常刷题 2 看书 xff1
  • SQl复杂一点的查询

    复杂一点的查询 视图 我们先来看一个查询语句 xff08 仅做示例 xff0c 未提供相关数据 xff09 span class token keyword SELECT span stu name span class token key
  • 虚拟机本地搭建Hadoop集群教程

    Hadoop概述 狭义下Hadoop是Apache的一套开源软件 xff0c 用java实现 xff0c 广义上是围绕Hadoop打造的大数据生态圈 http hadoop apache org Hadoop核心组件 xff1a HDFS
  • windows下编译64位ffmpeg的问题。以64位 zlib为例

    x264 265 等等10几个库都很顺利的编译过去了 xff0c zlib的64位库在vs2015下下编译通过了 放到ffmpeg环境里 死活找不到 卡了我整整两天 怎么折腾 xff0c 始终提升error zlib requested b
  • windows11安装kali linux子系统

    一 开启windows子系统 打开控制面板 系统和安全 程序 程序和功能 启用或关闭Windows功能 适用于linux的Windows子系统 打勾 在微软商店搜索Kali 下载安装并打开 二 配置子系统 刚安装完成的Kali Linux是
  • 使用 Ajax 发送的PUT、DELETE请求

    一 方式一 xff1a 将 POST 请求转化为相应的 PUT 和 DELETE 请求 1 在 Web xml 中添加如下配置 xff1a 用于将 POST 请求转化为相应的 PUT 和 DELETE 请求 lt filter gt lt
  • python+pycharm+pyqt5安装教程

    现在教大家在Windows系统下如何安装Python 43 PyCharm 43 PyQt5 1 安装Python 访问官网https www python org xff0c 下载对应Python版本 2 安装PyQt5 1 xff09
  • pytest+seleniumUI自动化框架设计

    前言 selenium自动化 43 pytest测试框架 本章你需要 一定的python基础 一定的selenium基础 不讲selenium xff0c 不会的自己去看selenium中文翻译网 测试框架简介 测试框架有什么优点呢 xff
  • selenium的UI自动化时遇到了谷歌浏览器与驱动不兼容的问题解决方案

    问题背景 xff1a 在做selenium的UI自动化时 xff0c 遇到了谷歌浏览器与驱动不兼容的问题 去很多其他网站下载谷歌浏览器驱动 xff0c 结果下载下来的都是2 23版本的 xff08 困扰了很久啊 xff0c 一群骗子 xff
  • 如何使用apipost做接口测试?

    今天给大家推荐一款好用的接口测试工具 xff1a apipost 这是一款国产的接口测试工具 xff0c 非常类似于postman xff0c 但是整体使用上感觉要比postman更适合咱们使用 xff0c 毕竟是全中文的 话不多说直接上图
  • 如何使用pycharm将github上的代码同步到本地

    1 首先确定你安装了git exe 具体的话是在pycharm里面的settings version control 2 打开pycharm xff0c 新建版本使用git 3 从github上复制代码链接 4 填入相关内容点击clone即
  • StrokeStart与StrokeEnd动画

    通过修改CAShapeLayer的StrokeStart与StrokeEnd的值来实现画图动画 效果图 代码部分 import 34 ViewController h 34 64 interface ViewController 64 pr
  • GUI编程之路内计费工具

    span class token keyword import span os span class token keyword import span sys span class token keyword from span PyQt
  • 提高测试人员测试效率之GUI工具

    如何有效的去提高测试效率 xff0c 在一个团队当中 xff0c 肯定会存在部分人员无法熟悉数据库操作的情况 xff0c 这个时候我们就可以通过GUI编程将工具界面会 xff0c 使之快速的上手 本次通过一个GUI工具来带领大家如何制作这么
  • GUI编程之智慧交通自动化测试计费

    最终实现效果 本工具实现了案例搜索 xff0c 导入案例 xff0c 测试类型选择 xff0c 自动化测试 xff0c 测试报告 xff0c 邮件发送等功能 xff0c 能有效的提升回归测试效率 xff0c 保证测试质量 源码暂不提供 xf
  • Ubuntu14.04 Wifi 连接不稳定、掉线重连问题(终极解决办法)

    Ubuntu14 04 Wifi 连接不稳定 上不了网 掉线问题 xff08 终极解决办法 xff09 这可能是我写的最短的一篇博客 用Ubuntu系统的人知道 xff0c 有线连接比较稳定 xff1b 一般台式机不带网卡 xff0c 自己
  • 【Ubuntu】Ubuntu上搭建本地源,做离线安装

    一 实验背景 Ubuntu作为最优秀的Linux发行版之一 xff0c 是初学者入门的不二选择 xff0c 但Linux有个最大的问题 xff0c 就是离了网络就废了 在Windows系统中 xff0c 安装软件十分方便 xff0c 下载安