首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从源代码重新安装后卸载libav软件包

从源代码重新安装后卸载libav软件包
EN

Ask Ubuntu用户
提问于 2015-03-26 20:34:48
回答 1查看 1.1K关注 0票数 0

我正在运行kubuntu 14.04,并且至少在这些暑假之前不打算升级。所提供的libav包有些过时(后面有两个主要版本),并为我的一些用例产生了不令人满意的输出。为此,我尝试从源代码构建和安装,这证明了我的问题解决了。我希望保持这种状态(我对git相当有经验,应该不会在更新快照和保持do更新方面出现问题),现在我想卸载我拥有的几个libav包,以便进行一些清理和防止奇怪的冲突。

当我尝试这样做时,apt-get想要删除一堆其他(元)-packages,因为它们依赖libav (vlc、海豚、kubuntu桌面(!)等等)。

如何将所有这些应用程序重新绑定到我构建的新的libav可执行文件(我想使用sudo make install全局安装它们应该是相当直接的),然后如何安全地卸载过期包而不破坏我的设置?

编辑:按照@MoonSweep建议,我试着构建一个equivs包,但我在完成它时遇到了问题:如果我试图删除没有设备的libav包来填充dep,下面是输出:

代码语言:javascript
复制
$sudo apt-get remove libavcodec-* libavformat* libavutil*
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'libavcodec-dev' for regex 'libavcodec-*'
[...more regex gibberish...]
The following packages were automatically installed and are no longer required:
libechonest2.1 libftgl2 libglew1.10 libprojectm2 libprotobuf8 libqxt-core0
libqxt-gui0 projectm-data
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
baloo clementine dolphin gstreamer1.0-libav gstreamer1.0-plugins-bad
kubuntu-desktop libavcodec-dev libavcodec-extra libavcodec-extra-54
libavformat-dev libavformat54 libavutil-dev libavutil52 libbaloowidgets4
libchromaprint-dev libchromaprint0 libk3b6-extracodecs libkfilemetadata4
libopencv-contrib2.4 libopencv-highgui2.4 libopencv-legacy2.4
libopencv-objdetect2.4 libswscale-dev libswscale2
nepomuk-core-ffmpegextractor phonon-backend-vlc vlc vlc-nox
vlc-plugin-notify vlc-plugin-samba
0 upgraded, 0 newly installed, 30 to remove and 0 not upgraded.
After this operation, 64.2 MB disk space will be freed.
Do you want to continue? [Y/n]

这是我安装的equivs软件包

代码语言:javascript
复制
### Commented entries have reasonable defaults.
### Uncomment to edit them.
# Source: <source package name; defaults to package name>
Section: misc
Priority: optional
# Homepage: <enter URL here; no default>
Standards-Version: 3.9.2

Package: libav-source
# Version: <enter version here; defaults to 1.0>
# Maintainer: Your Name <yourname@example.com>
# Pre-Depends: <comma-separated list of packages>
# Depends: <comma-separated list of packages>
# Recommends: <comma-separated list of packages>
# Suggests: <comma-separated list of packages>
Provides: libavcodec-extra,libavcodec-extra-54,libavformat,libavformat54,libavutil52,libswscale2,libswscale2,gstreamer1.0-libav,libavcodec-dev,libavformat-dev,libavutil-dev,libswscale-dev
# Replaces: <comma-separated list of packages>
# Architecture: all
# Copyright: <copyright file; defaults to GPL2>
# Changelog: <changelog file; defaults to a generic changelog>
# Readme: <README.Debian file; defaults to a generic one>
# Extra-Files: <comma-separated list of additional files for the doc directory>
# Files: <pair of space-separated paths; First is file to include, second is destination>
#  <more pairs, if there's more than one file to include. Notice the starting space>
Description: <short description; defaults to some wise words>
 long description and info
 .
 second paragraph

但是它似乎没有提供足够的结果,因为前面的remove命令具有完全相同的结果。我做错了什么?

EN

回答 1

Ask Ubuntu用户

发布于 2015-03-26 21:44:23

您不需要“重新绑定”这些应用程序;如果您的库安装正确(即使在/usr/local中),应用程序应该能够找到它们。

您需要构建并安装一个假装提供这些库的假包,以便从包管理器的角度满足依赖关系。请看一下equivs包。

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/601738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档