所有的依赖已经下载好了,只是要安装的话,如何保证按正确的顺序进行?另外就是没有外网可用。。要的包,都是本地的,而且都有
dpkg -i *.deb 这样中间很多报错,就是因为顺序不正确
1
imn1 2019-11-28 15:22:54 +08:00
写个 sh 不难吧?
|
2
ysc3839 2019-11-28 15:25:05 +08:00
试试在文件名前加上编号?
|
4
wangkun025 2019-11-28 15:32:34 +08:00
@css3 对
|
5
ysc3839 2019-11-28 15:36:10 +08:00
@css3 要先安装的包文件名前面加上小的数字,后安装的加上大的数字,这样的话 shell 的 * 展开后应该是按文件名排序的。
另外想了想这么做可能也很麻烦,也许可以试试写个脚本什么的把这些包里面的元数据提取出来生成 Packages 文件,然后加入 apt 源列表再安装就好了。 |
6
hoyixi 2019-11-28 15:37:42 +08:00 1
sudo cp <your path>/*.deb /var/cache/apt/archives/
sudo dpkg -i <你想装的那一个 deb> sudo apt-get install -f |
7
css3 OP @hoyixi 一个 python,可能有几十个 deb, 我要 ```dpkg -i <你想装的那一个 deb>``` 几十次吗😂
|
8
imn1 2019-11-28 15:41:34 +08:00
|
9
MicrosoftAccount 2019-11-28 15:44:03 +08:00 via Android
@css3 #6 认真理解一下,再执行一下能死?
|
10
pmispig 2019-11-28 15:44:29 +08:00
做一个本地源,把包全部放到源里,建立依赖关系,用 apt 安装
|
11
hoyixi 2019-11-28 15:44:29 +08:00
@css3 #7
你自己说的,“安装一个软件”, “所有的依赖已经下载好了” 比如你要装 a.deb, 依赖 1.deb, 2.deb, 3.deb 。。。都下好了,那你就 sudo dpkg -i a.deb |
12
n37r06u3 2019-11-28 15:45:39 +08:00
用 gdebi 吧 自动的
|
13
pmispig 2019-11-28 15:45:50 +08:00
还有另一种办法是,弄一台试错的机器,写一个循环,直到所有的包都成功安装为止,记录成功安装的顺序,然后生成一个列表就可以了
|
14
css3 OP @hoyixi 下载是按 apt-get install a 下载下来的 deb, 这样获取的 deb, 安装是用的 dpkg 安装的,不能直接 dpkg -i a 啊
|
15
lihongjie0209 2019-11-28 17:06:42 +08:00
centos 下安装流程:
1. 建立一个本地 repo, 地址指向 file://some/path/ 2. 使用 createrepo 建立 repo 索引数据 3. yum makecache 使 yum 客户端读取到索引数据 4. yum install xxx 依赖自动安装 Ubuntu 估计也是一样的,google Ubuntu localrepo 之类的 |
16
lihongjie0209 2019-11-28 17:08:16 +08:00 1
|
17
nightwitch 2019-11-28 23:06:59 +08:00
6 楼答案都写好了,你试下不就行了
你把 a 的所有依赖都放到 apt 的缓存目录里,用 dpkg -i 安装 a,然后 apt install -f 会自动帮你按顺序装好 a 的所有依赖 |
18
css3 OP @MicrosoftAccount
@nightwitch 有点不太明白哈,举个例子说明一下,我要安装 python-dev 这个包(他就一个包,不是个 deb 文件,安装他,其实就是安装下边我说的 19 个 deb ),19 个 deb 包已放到 /var/cache/apt/archives/目录,如下图 https://t1.picb.cc/uploads/2019/11/29/kI7G2c.md.png 现在机器上断网状态 按 6 楼同学说的,我是执行 dpkg -i python-dev ? 肯定执行不了啊?? https://t1.picb.cc/uploads/2019/11/29/kI7HmK.png 要用 dpkg -i *.deb 才行,他会安装这 19 个 deb, 但顺序不是按依赖顺序来的,是乱序的,我现在的问题就是,如何尊重他的依赖啊,按正确的顺序安装下来, |
20
nightwitch 2019-11-29 16:25:06 +08:00
@css3 python-dev 是一个名字,它的实际包名是 python-dev_xxxx_amd64.deb, 你要用 dpkg 手动安装它,再用 apt 修复它的所有依赖
|
21
css3 OP @nightwitch python-dev_xxxx_amd64.deb 这样的 deb 有多个的话,执行哪个呢
|
22
killeder 2019-12-02 10:35:50 +08:00
Gdebi
|