Mic*_*ann 7 packaging dpkg software-installation 14.04
我正在开发一个名为fman的专有跨平台文件管理器。我想将它作为.deb文件分发给 Ubuntu 用户,可以从我的网站下载。我fpm用来创建这个文件,它可以正常工作。
当用户安装fman时,我想添加一个文件到 /etc/apt/sources.list.d/指向我的更新服务器的文件。这将允许用户通过 Ubuntu 的包管理器(或通过apt-get)自动更新 fman 。
我做了很明显的:我把里面的文件.deb在存档etc/apt/sources.list.d/fman.list。问题是:下没有创建这个文件/etc/apt/...当用户从.deb文件安装fman时,这个文件。
当我这样做时dpkg -x fman.deb some_dir/,文件fman.list在some_dir/etc/apt/sources.list.d/fman.list. 同样,当我dpkg-query -L fman安装后,我确实得到了输出
/. /等等 /etc/apt /etc/apt/sources.list.d /etc/apt/sources.list.d/fman.list ...
当我.deb通过命令行安装文件时,我没有收到任何错误或警告sudo dpkg -i fman.deb。我尝试通过sudo dpkg -D 100 -i fman.deb. 与输出相关的仅有两行fman.list是:
D000100: setupvnamevbs main='/etc/apt/sources.list.d/fman.list' tmp='/etc/apt/sources.list.d/fman.list.dpkg-tmp' new='/etc/apt /sources.list.d/fman.list.dpkg-new' D000100: setupvnamevbs main='/etc/apt/sources.list.d/fman.list' tmp='/etc/apt/sources.list.d/fman.list.dpkg-tmp' new='/etc/apt /sources.list.d/fman.list.dpkg-new'
在之前的某个时间点,我找到了一个文件/etc/apt/sources.list.d/fman.list.dpkg-dist. 但是当我卸载 fman 时,该文件被删除了。fman 的后续安装不会再次生成该文件。
有人知道为什么/etc/apt/sources.list.d/fman.list我从.deb文件安装 fman 时没有创建吗?
我明白问题出在哪里了。
我.deb通过以下两个命令的循环测试了我的文件:
sudo dpkg -i fman.debsudo dpkg -r fman(相当于,sudo apt-get remove fman)我发现... -r不包括配置文件。要同时删除配置文件,必须使用sudo dpkg -P fman.
在我的测试过程中,我一定/etc/apt/sources.list.d/fman.list在某个时候手动删除了。但dpkg(/ apt) 仍然记得它已经安装了该文件,因此下次我安装时它没有重新安装它dpkg -i(相当于,apt-get install)。
因此,解决方案是调用sudo dpkg -P fman. 下次我这样做时,dpkg -i fman.deb文件fman.list已按预期创建。
| 归档时间: |
|
| 查看次数: |
369 次 |
| 最近记录: |