Sum*_*man 8 python command-line dpkg
我必须从第三方安装两个包(libidb 和 python-idb,两者都相互依赖)。所以,我们无法访问源代码。我尝试使用以下这些方法进行安装,但也出现错误:
> > sumitkumars@administrator-Lenovo-U410:~$ sudo dpkg -i libidb-0.12.0-0b81d72-0.amd64.deb --instdir=/home/sumitkumars/mydir
> [sudo] password for sumitkumars: (Reading database ... 186372 files
> and directories currently installed.) Preparing to unpack
> libidb-0.12.0-0b81d72-0.amd64.deb ... Unpacking libidb (0.12.0) over
> (0.12.0) ... dpkg: error processing archive
> --instdir=/home/sumitkumars/mydir (--install): cannot access archive: No such file or directory Setting up libidb (0.12.0) ... Errors were
> encountered while processing: --instdir=/home/sumitkumars/mydir
Run Code Online (Sandbox Code Playgroud)
然后我尝试了这个:
sumitkumars@administrator-Lenovo-U410:~$ sudo dpkg-deb -x libidb-0.12.0-0b81d72-0.amd64.deb /home/sumitkumars/mydir/
Run Code Online (Sandbox Code Playgroud)
它没有给出错误,但它没有与另一个依赖(python-idb)一起工作
我添加了 python 也是因为它无法与“libidb”绑定。
小智 9
dpkg-deb -x $DEBFILE $TARGET_DIRECTORY
# Example
dpkg-deb -x somedeb.deb /home/yung/test
Run Code Online (Sandbox Code Playgroud)
在所有其他建议解压存档的答案中——这与安装不同!显着的区别之一是postinst使用 时不会运行脚本-x。\nOPs 问题的唯一令人满意的答案是这个选项,直接来自手册页:
--instdir=dir\n Change default installation directory which refers to the\n directory where packages are to be installed. instdir is also the \n directory passed to chroot(2) before running package's installation \n scripts, which means that the scripts see instdir as a root\n directory. (Defaults to \xc2\xab/\xc2\xbb)\nRun Code Online (Sandbox Code Playgroud)\n
.deb 只是一个存档,就像一个 zip 文件
sudo apt install binutils
ar x your.deb
Run Code Online (Sandbox Code Playgroud)
然后您提取 .tar 或 .deb 中的任何内容
tar xvf control.tar.gz
tar data.tar.gz
Run Code Online (Sandbox Code Playgroud)
然后您可以手动将文件复制到您希望的任何位置,我将使用 /usr/local 以便它们在您的路径上,由您决定。
您可能需要阅读/运行配置文件并安装脚本,不能从您发布的内容中说出来。
| 归档时间: |
|
| 查看次数: |
11556 次 |
| 最近记录: |