当前位置: 首页 > news >正文

银河麒麟桌面版V10SP1下载安装包并离线安装

       银河麒麟桌面版操作系统和Ubuntu是类似的,同样采用apt管理安装下载。在无法连接互联网的环境里,安装软件是个比较麻烦的事情。

       apt-mirror可以把软件源都镜像下来本地做软件源,不过实在太重了,可操作性差了一些。所以,直接下载deb软件包安装是最方便的。但是,在Linux系统中,安装软件包时经常会遇到依赖问题。这些依赖指的是安装目标软件包所需的其它软件包。如果系统中缺少这些依赖,安装可能会失败。所以安装软件除了下载软件安装包,其相关依赖安装包同样要下载。

一、关于不同CPU架构软件安装包

        目前,经常会使用到龙芯、飞腾等处理器,他们和之前的intel、amd的x86架构处理器完全不同,无法兼容,响应的软件安装包也不一样。默认的系统只会下载当前系统CPU架构的安装包,所以下载其他CPU架构会更麻烦,建议还是同CPU类型。

        如果想下载其他CPU架构安装包,可以用sudo dpkg --add-architecture xxx 命令,比如sudo dpkg --add-architecture arm64可以增加arm64CPU架构,飞腾、华为麒麟处理器都是这种。下载软件的时候需要增加CPU架构名,比如下载arm64的zsh,可以用zsh:arm64。但是,如果遇到安装包名适合所有架构的,添加arm64反而会找不到安装包。

二、各种下载软件包和依赖软件包的方法

       下载的方法网上一搜索很多,但操作起来,很多方法并不完美。太多的方法也给了用户选择和使用上的麻烦。

1. 使用apt-get download  XXX 下载安装包

       这个命令可以下载指定安装包名称的安装包。比如下载apt-offonline这个安装包。

kyuser@kyuser-pc:~/deb-pkgs$ apt-get download apt-offline
获取:1 http://archive.kylinos.cn/kylin/KYLIN-ALL 10.1/universe arm64 apt-offline all 1.8.2-1 [53.6 kB]
已下载 53.6 kB,耗时 0秒 (577 kB/s)kyuser@kyuser-pc:~/deb-pkgs$ ll
总用量 68
-rw-r--r--  1 kyuser kyuser 53584 5月  25  2021 apt-offline_1.8.2-1_all.deb

        下载位置就是当前目录,这个方法的缺点是不会下载依赖。

2. 使用apt install -d xx 下载安装包

       apt install -d xx 命令,其中的-d是--download-only的缩写,实现只下载软件安装包,而不安装软件。这个命令不仅下载软件安装包,而且会根据本机软件环境,下载缺少的依赖安装包。因为是针对本机系统软件环境,所以要求离线系统和联网下载软件的系统,必须保持一致,否则容易出错。

3. 使用apt-cache depends查询依赖并下载软件安装包

      apt-cache通过存储在本地的source.list中所有的软件包信息,可以查询指定软件信息,比如通过参数depends可以查询指定软件安装包的依赖关系。然后可以借此下载相关依赖安装包。

sudo apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances 包名 | grep "^\w" | sort -u)

      但是,apt-cache depends命令不迭代查询,就是说软件A ->依赖->软件B,但软件B是否还依赖软件C并不查询,我测试目前是如此。安装时缺少软件C导致安装软件B安装失败,所以这里需要请出apt-rdepends了。

4. 使用apt-rdepends迭代查询依赖并下载

       apt-rdepends默认是迭代查询,类似apt-cache depends却明显加强了。apt-rdepends需要手动安装,系统不自带。

apt-get download $(apt-rdepends 软件名称 | grep -v "^ " | sort -u)

       还是用apt-get download下载,只不过查询换成了能迭代的apt-rdepends。但是还是不完美,第一,apt-rdepends迭代查询所有依赖关系,并不管你是否真的缺少依赖包,导致会下载很多你已有的包。第二,apt-rdepends返回的结果并不是指定CPU架构,所以负责下载的主机最好和离线主机CPU架构一致。

5. 使用apt-offline下载软件

         (https://github.com/rickysarraf/apt-offline)这是多次搜索之后,感觉最好用的工具,感谢开发者。

        这个软件就是为在没有互联网的环境上下载软件包而编写的,而且对下载软件的计算机要求比较低,不所谓cpu架构,甚至无所谓操作系统,Windows也可以运行apt-offline。

        关于它的使用,开发者在自己的官网写了一个说明(这里)。

        1. 首先肯定是先在互联网和无互联网的两台计算机上分别安装apt-offline,apt-offline也有自己的依赖,需要靠之前的工具去下载依赖。

        2. 然后在离线环境上使用apt-offline先生成一个特征文件,软件会根据本机环境自动生成需要下载的文件信息。这个文件名后缀是什么并无所谓,实际就是一个文本文件。set参数用于生成特征文件。

       set如果没有额外参数,默认是update,也就是根据软件源更新软件包列表。如果长时间没有更新软件包列表,可以先运行这个生成一个更新软件包列表的特征文件。

       如果本地缓存的软件包列表比较新,可以直接加--install-packages参数指定要下载的软件包。软件包名要正确,具体软件包名可以用apt search 关键字 命令来搜索,也可以上网搜索。

# 什么额外参数都不加,默认update和upgrade,可用于更新软件包数据库
sudo apt-offline set ./apt-offline.sig# 加--install-packages参数,可以根据本机数据库生成下载软件包和对应依赖的特征文件
sudo apt-offline set apt-offline.sig --install-packages <包名>

        3. 在有互联网的计算机上运行apt-offline get命令获取软件包。额外使用 --bundle可以把下载的软件包自动压缩成一个zip文件。--threads可以设置并发下载数。

apt-offline get apt-offline.sig --bundle apt-offline.zip

        4. 把下载好的zip文件复制到无互联网计算机上,运行apt-offline install可以更新软件包列表并把安装包复制到/var/cache/apt/archives目录下,然后用apt upgrade或apt install可以很方便的安装软件不需要考虑依赖。或者解压后,手动安装软件包。

apt-offline install ./apt-offline.zip# 因为apt-offline已经更新的软件包信息,并复制安装包到缓存目录
# 所以这里安装并不会触发下载,而是直接安装成功。
sudo apt install <包名>

三、在无互联网计算机上用dpkg安装deb软件包

         不管用什么方式下载软件包文件,下载后的deb文件都可以用dpkg命令来手动安装。

sudo dpkg -i ./*.deb

          dpkg手动安装软件包时可能会因为安装顺序原因触发依赖失败。更好的方法是建立本地软件源,但是更麻烦。

1. 进入存放deb文件的本地的软件包目录cd /var/cache/apt2. 生成Packages.gz文件
sudo dpkg-scanpackages archives/ /dev/null |gzip >archives/Packages.gz3. 添加本地源 sudo vi /etc/apt/sources.list添加一行 deb[trusted=yes] file:///var/cache/apt ./ 4.更新源列表sudo apt-get update5. 安装软件,不用担心依赖顺序
sudo apt install xxx

四、总结

      apt-offline对下载计算机无额外要求,这一点很强大,而且可以离线更新新本地缓存的最新软件包列表。其他方法,下载计算机最好和无互联网计算机同CPU架构、同操作系统版本,对计算机和系统要求比较高,但命令和操作更简单。相对的讲,还是推荐apt-offline作为最佳的离线下载工具。

http://www.dtcms.com/a/566152.html

相关文章:

  • C#中Winform开发限制同一窗口打开一次的方法
  • 可以在线做c语言的网站如何查网站空间大小
  • 怎样在网站上做超链接wordpress 图片 分离
  • KP4050LGA副边同步整流芯片典型应用电路
  • UNet++
  • git多个账号管理
  • 网站后台怎么打开北京网站优化wyhseo
  • 永州市住房和城乡建设局网站下载小程序
  • OSI网络模型(通信方向)
  • SiC MOSFET米勒平台/米勒效应详解
  • halcon分类器使用标准流程
  • 哈尔滨建设银行网站常州建站程序
  • 网站建设用源码建设报名系统
  • 大模型-vllm云端部署模型快速上手体验-5
  • 20.旋转图像(原地矩阵)
  • 网站建设与管理试卷Aphp网站开发视频网站
  • 中间件的前世今生:起源与发展历程
  • InfluxDB 应用场景与使用指南
  • Linux execve系统调用深度解析:从用户空间到进程替换的完整旅程
  • 蓝牙钥匙 第37次 企业车队管理场景下的智能化解决方案:从权限管理到访问控制
  • 福州做企业网站中山住房和建设局网站
  • 做网站活动利于优化的网站要备案吗
  • 南京网站关键词优化丫丫影院
  • auto-tracking自动埋点插件
  • 什么叫网站维护建购物网站难吗
  • 公司做网页要多少钱佛山seo
  • 美术馆网站建设概述网站如何收录快
  • 避免出现重复的属性方法:Python高级编程技巧详解
  • 营销型网站建设的五力原则包括深圳在线官网
  • 德州口碑好的网站制作公司爱站网关键词挖掘工具熊猫