184 package-management uninstall compiling
我使用源代码构建了一个包,如下所示:
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib --with-package-name="Myplugin" --with-package-origin="http://www.ubuntu.org/" --enable-gtk-doc --disable-static
make
make install
Run Code Online (Sandbox Code Playgroud)
但不幸的是,我发现它是最新版本,并且有很多错误,所以我需要删除它/卸载它。但我怎么能这样做呢?我试过了,make clean; make uninstall但我仍然看到它存在:
# pkg-config --list-all | grep Myplugin
myplugin-....
$ ls /usr/lib/myplugin/libXYZ.so
exist....
Run Code Online (Sandbox Code Playgroud)
你现在如何删除这个?
Jav*_*era 234
通常你可以只使用:
make uninstall
Run Code Online (Sandbox Code Playgroud)
或者
sudo make uninstall
Run Code Online (Sandbox Code Playgroud)
如果应用程序是以 root 身份安装的。
但这只有在软件包的开发人员已经制定了良好的卸载规则时才有效。
您还可以尝试通过运行以下命令来查看用于安装软件的步骤:
make -n install
Run Code Online (Sandbox Code Playgroud)
然后尝试手动反转这些步骤。
将来为了避免这种问题,请尽量使用checkinstall而不是make install尽可能使用(AFAIK 始终,除非您想同时保留编译版本和打包版本)。它将创建并安装一个 deb 文件,然后您可以使用您喜欢的包管理器卸载该文件。
make clean通常清理构建目录,它不会卸载包。当您想确保编译整个内容时使用它,而不仅仅是更改的文件。
Sab*_*con 29
我不认为这是一个错误,从源代码安装时阅读并学习使用 checkinstall 是个好主意。
您可以从存储库安装 checkinstall,这是对软件包的简短描述;
CheckInstall 跟踪由您的安装脚本(“make install”、“make install_modules”、“setup”等)创建或修改的所有文件,构建一个标准的二进制包并将其安装在您的系统中,使您能够卸载它您的发行版的标准包管理实用程序。
下面的这些链接可能有助于更好地理解。 http://en.wikipedia.org/wiki/CheckInstall
dv3*_*0ea 17
这不是错误 - 从源代码编译是一种不受支持的安装软件的方法,它完全绕过了包管理系统(由软件中心使用)。
没有安装或卸载从源代码编译的软件的标准方法,因此 Ubuntu 无法知道该怎么做。该软件甚至未列为已安装程序。
您应该按照分销商的说明安装和删除此类自定义软件。您也可以联系开发人员,要求他们创建一个 Debian 软件包,以便可以使用软件包管理系统。
制作
\nMake 是\xe2\x80\x99s 用来从源代码编译和安装程序的程序。它\xe2\x80\x99s 不是包管理器,因此它\xe2\x80\x99t 不跟踪它安装的文件。这使得之后卸载文件变得困难。
\n该make install命令将构建的程序和包复制到库目录和 makefile 中的指定位置。这些位置可能会根据配置脚本执行的\xe2\x80\x99s 检查而有所不同。
检查安装
\nCheckInstall 是\xe2\x80\x99s 用于安装或卸载从源代码编译的程序的程序。它监视并复制使用 make 程序安装的文件。它还使用包管理器安装文件,这使得它可以像任何常规包一样被卸载。
\n该checkinstall命令是调用make install命令。它监视已安装的文件并从中创建二进制包。它还使用 Linux 包管理器安装二进制包。
将屏幕截图中的source_location.deb和替换为您自己的信息:name
在源码包目录下执行以下命令:
\n安装检查安装
\nsudo apt-get install checkinstall\nRun Code Online (Sandbox Code Playgroud)\n运行配置脚本
\n./configure\nRun Code Online (Sandbox Code Playgroud)\n运行制作命令
\nmake\nRun Code Online (Sandbox Code Playgroud)\n运行检查安装
\nsudo checkinstall\nRun Code Online (Sandbox Code Playgroud)\n重新安装包
\nsudo dpkg --install --force-overwrite source_location.debRun Code Online (Sandbox Code Playgroud)\n取出包装
\nsudo apt remove nameRun Code Online (Sandbox Code Playgroud)\n这是我写的一篇文章,详细介绍了整个过程并进行了解释。
\n| 归档时间: |
|
| 查看次数: |
273361 次 |
| 最近记录: |