[Seek Help] 知道一个deb包的网址,如何在终端安装
Tofloor
poster avatar
delsin
deepin
2022-05-18 03:09
Author

各位大佬,请教一个问题:

我知道一个deb包的网址,http://mirrors.nju.edu.cn/raspbian/raspbian/pool/main/b/breeze-icons/breeze-icon-theme-rcc_5.90.0-1_all.deb

我如何在终端中利用一条命令直接安装它?我不知道命令怎么写。

ps.我知道可以用下载器下载这个deb包到电脑上,再双击安装它。我想知道可不可以直接利用一条命令就能在终端直接安装这个deb包?

我想打包一款软件,这款软件依赖于这个deb应用,所以我准备写一条preinst。

Reply Favorite View the author
All Replies
sukanka
deepin
2022-05-18 03:11
#1

sudo dpkg -i YOUR_URL

Reply View the author
delsin
deepin
2022-05-18 03:13
#2
sukanka

sudo dpkg -i YOUR_URL

截图_选择区域_20220517191320.png

Reply View the author
sukanka
deepin
2022-05-18 03:14
#3
delsin

截图_选择区域_20220517191320.png

那你可能要先把那个包下载到本地了。

Reply View the author
callcz
deepin
2022-05-18 03:20
#4

wget http://xxx/yyy.deb&&sudo dpkg -i yyy.deb &&sudo apt -f install

PS.最后一个apt -f install修正依赖关系注意别因为依赖关系把重要包删除了。

PS2.preinst应该可以不加sudo执行。

PS3.为什么不把deb包的内容也打包进去?

Reply View the author
delsin
deepin
2022-05-18 03:23
#5
callcz

wget http://xxx/yyy.deb&&sudo dpkg -i yyy.deb &&sudo apt -f install

PS.最后一个apt -f install修正依赖关系注意别因为依赖关系把重要包删除了。

PS2.preinst应该可以不加sudo执行。

PS3.为什么不把deb包的内容也打包进去?

不至于,这个deb只是一个图标主题,是kdenlive要用的。官方库里有,只是版本低了一点,导致最新的kdenlive的图标有些显示不出来。

Reply View the author
delsin
deepin
2022-05-18 03:26
#6
callcz

wget http://xxx/yyy.deb&&sudo dpkg -i yyy.deb &&sudo apt -f install

PS.最后一个apt -f install修正依赖关系注意别因为依赖关系把重要包删除了。

PS2.preinst应该可以不加sudo执行。

PS3.为什么不把deb包的内容也打包进去?

卡在等待回应了。。。

截图_选择区域_20220517192538.png

Reply View the author
delsin
deepin
2022-05-18 03:32
#7
delsin

卡在等待回应了。。。

截图_选择区域_20220517192538.png

换了一个阿里的镜像,好像可以了

截图_选择区域_20220517193230.png

Reply View the author
callcz
deepin
2022-05-18 04:08
#8
delsin

换了一个阿里的镜像,好像可以了

截图_选择区域_20220517193230.png

1.dpkg -i 没有加进去呢

2.你这个动态连接可能要用wget -O来重命名文件名,不然下载文件名是乱的

3.如果包没有依赖关系可以不加apt -f install

Reply View the author
delsin
deepin
2022-05-18 04:13
#9
It has been deleted!
delsin
deepin
2022-05-18 04:19
#10
It has been deleted!
delsin
deepin
2022-05-18 04:44
#11
callcz

1.dpkg -i 没有加进去呢

2.你这个动态连接可能要用wget -O来重命名文件名,不然下载文件名是乱的

3.如果包没有依赖关系可以不加apt -f install

感谢,搞定了。

wget -O breeze-icon-theme_5.90.0-1_all.deb https://mirrors.aliyun.com/debian/pool/main/b/breeze-icons/breeze-icon-theme_5.90.0-1_all.deb?spm=a2c6h.13651111.0.0.3c882f70DmlBim&file=breeze-icon-theme_5.90.0-1_all.deb &&sudo dpkg -i breeze-icon-theme_5.90.0-1_all.deb

Reply View the author
delsin
deepin
2022-05-18 04:54
#12
delsin

感谢,搞定了。

wget -O breeze-icon-theme_5.90.0-1_all.deb https://mirrors.aliyun.com/debian/pool/main/b/breeze-icons/breeze-icon-theme_5.90.0-1_all.deb?spm=a2c6h.13651111.0.0.3c882f70DmlBim&file=breeze-icon-theme_5.90.0-1_all.deb &&sudo dpkg -i breeze-icon-theme_5.90.0-1_all.deb

我改了一下,改成了apt命令安装

wget -O breeze-icon-theme_5.90.0-1_all.deb -P /home/$USER/Downloads/ https://mirrors.aliyun.com/debian/pool/main/b/breeze-icons/breeze-icon-theme_5.90.0-1_all.deb?spm=a2c6h.13651111.0.0.3c882f70DmlBim&file=breeze-icon-theme_5.90.0-1_all.deb &&sudo apt install /home/$USER/Downloads/breeze-icon-theme_5.90.0-1_all.deb -y

Reply View the author
ucSec
deepin
2022-05-18 05:04
#13

你这里的 ?spm=a2c6h.13651111.0.0.3c882f70DmlBim&file=breeze-icon-theme_5.90.0-1_all.deb 应该可以删去吧?

Reply View the author
delsin
deepin
2022-05-18 05:10
#14
ucSec

你这里的 ?spm=a2c6h.13651111.0.0.3c882f70DmlBim&file=breeze-icon-theme_5.90.0-1_all.deb 应该可以删去吧?

还真是,多谢提醒!

Reply View the author
神末shenmo
deepin
Spark-App
Q&A Team
2022-05-18 05:19
#15
delsin

还真是,多谢提醒!

wget -O- xxx |

用管道就可以了

等等,你在dpkg进程里可以再开一个dpkg?!!

Reply View the author
callcz
deepin
2022-05-18 06:22
#16
神末shenmo

wget -O- xxx |

用管道就可以了

等等,你在dpkg进程里可以再开一个dpkg?!!

想了一下,dpkg会加锁,这个在一般情况下还真不可以

不过楼主可以用sh脚本安装deb,不用内置preinst

Reply View the author
sukanka
deepin
2022-05-18 06:55
#17

我想打包一款软件,这款软件依赖于这个deb应用,所以我准备写一条preinst。

这种情况只要在 control 的 depends 里面加上这个软件就好了。举例

Depends: libgtk-3-0, libnotify4, libnss3, libxss1, libxtst6, xdg-utils, libatspi2.0-0, libuuid1, libappindicator3-1, libsecret-1-0

Reply View the author
delsin
deepin
2022-05-18 21:11
#18
神末shenmo

wget -O- xxx |

用管道就可以了

等等,你在dpkg进程里可以再开一个dpkg?!!

是的,报错dpkg加锁了。我索性把这个breeze-icon-theme解包一起打包到kdenlive的deb包里了,然后做了postlinst,将breeze-icon-theme的文件复制到指定目录。

Reply View the author
delsin
deepin
2022-05-18 21:13
#19
sukanka

我想打包一款软件,这款软件依赖于这个deb应用,所以我准备写一条preinst。

这种情况只要在 control 的 depends 里面加上这个软件就好了。举例

Depends: libgtk-3-0, libnotify4, libnss3, libxss1, libxtst6, xdg-utils, libatspi2.0-0, libuuid1, libappindicator3-1, libsecret-1-0

不行吧,直接在control加依赖项,安装deb时确实会先安装依赖项。但是deepin源的这个依赖项版本低,不能满足kdenlive的需要。

Reply View the author