debian 实现离线批量安装软件包

前言

实现在线缓冲需要的软件和对应依赖的包,离线进行安装 ,用于软件封装。

测试下载一个gcc和依赖环境,关闭默认在线源,测试离线安装gcc和依赖环境

  • 兼容 debian ubuntu

  • /test 测试下载安装包到目录

    vim /repo_download.sh

    #!/bin/bash

    -- coding: utf-8 --

    Author: make.han

    Email: CIASM@CIASM

    Date: 2024/07/16

    echo "Installing Basic Tools"
    apt install -y sudo
    apt install -y apt-utils apt-show-versions apt-rdepends

    echo "stop Interactive mode"
    sed -i -e "s|#$nrconf{restart} = 'i';|#$nrconf{restart} = 'a';|g" /etc/needrestart/needrestart.conf

    echo "create directory"
    mkdir -p /test && cd /test

    #使用 xargs 和 apt-get 来下载所有依赖项和主包
    echo "Download gcc and its dependencies"
    apt-get download (apt-rdepends --state-follow=Installed firewalld curl | grep -v "^ " | grep -v "^")

    echo "backup Default Mirror Source Test"
    mv /etc/apt/sources.list /etc/apt/sources.list.backupe

    echo "update repo"
    apt update

    关闭源后,可用此方式解决离线安装的依赖问题,实现离线批量安装

    echo "install gcc and its dependencies"
    apt install -y /test/*.deb

    连接在线源批量安装插件,不能解决依赖只是安装。

    #echo "install gcc"
    #dpkg -i /test/*.deb

执行测试

复制代码
bash /repo_download.sh
相关推荐
minji...2 小时前
Linux 线程同步与互斥(二) 线程同步,条件变量,pthread_cond_init/wait/signal/broadcast
linux·运维·开发语言·jvm·数据结构·c++
虚伪的空想家3 小时前
k8s集群configmap和secrets备份脚本
linux·容器·kubernetes
the sun343 小时前
从 QEMU 直接启动到 U-Boot 引导:嵌入式 Linux 启动流程的本质差异
linux·运维·服务器
草莓熊Lotso3 小时前
【Linux 线程进阶】进程 vs 线程资源划分 + 线程控制全详解
java·linux·运维·服务器·数据库·c++·mysql
ShineWinsu3 小时前
对于Linux:文件操作以及文件IO的解析
linux·c++·面试·笔试·io·shell·文件操作
-SGlow-3 小时前
Linux相关概念和易错知识点(52)(基于System V的信号量和消息队列)
linux·运维·服务器
江畔何人初3 小时前
TCP的三次握手与四次挥手
linux·服务器·网络·网络协议·tcp/ip
Trouvaille ~3 小时前
【MySQL篇】数据库操作:从创建到管理
linux·数据库·mysql·oracle·xshell·ddl
酸钠鈀3 小时前
AI WB2 SDK Ubuntu 环境搭建
linux·运维·ubuntu
Robot_Nav3 小时前
双系统Linux死机解决方法
linux·运维·服务器