Jeg*_*ggy 15 64-bit apt proprietary multiarch software-installation
我知道 Guitar pro 不支持 64 位,但我确实让它与这个命令一起工作
jeggy@jeggy-XPS:~$ sudo dpkg --force-architecture -i GuitarPro6-rev9063.deb
[sudo] password for jeggy:
Selecting previously unselected package guitarpro6:i386.
(Reading database ... 285729 files and directories currently installed.)
Unpacking guitarpro6:i386 (from GuitarPro6-rev9063.deb) ...
dpkg: dependency problems prevent configuration of guitarpro6:i386:
guitarpro6:i386 depends on gksu.
dpkg: error processing guitarpro6:i386 (--install):
dependency problems - leaving unconfigured
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf.index...
Processing triggers for desktop-file-utils ...
Processing triggers for gnome-menus ...
Errors were encountered while processing:
guitarpro6:i386
Run Code Online (Sandbox Code Playgroud)
即使在我收到该错误后,该程序也可以正常运行,并且更新和向系统添加 PPA 的效果很好,但是当我尝试安装其他一些软件时,我收到此错误:
jeggy@jeggy-XPS:~$ sudo apt-get install elinks
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
elinks : Depends: libfsplib0 (>= 0.9) but it is not going to be installed
Depends: liblua50 (>= 5.0.3) but it is not going to be installed
Depends: liblualib50 (>= 5.0.3) but it is not going to be installed
Depends: libtre5 but it is not going to be installed
Depends: elinks-data (= 0.12~pre5-7ubuntu1) but it is not going to be installed
guitarpro6:i386 : Depends: gksu:i386 but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
Run Code Online (Sandbox Code Playgroud)
每当我写“apt-get -f install”时,我都会得到这个
jeggy@jeggy-XPS:~$ sudo apt-get -f install
[sudo] password for jeggy:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
dconf-gsettings-backend:i386 python-levenshtein python-indicate libav-tools libstartup-notification0:i386
libxmuu1:i386 libavfilter-extra-2 libbabl-0.0-0 libgegl-0.0-0 libgconf2-4:i386 python-vobject libgtk-3-0:i386
libpam-cap:i386 python-utidylib libdconf0:i386 python-iniparse python-xmpp libpam-gnome-keyring:i386
libxcb-util0:i386 python-farstream
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
guitarpro6:i386
0 upgraded, 0 newly installed, 1 to remove and 7 not upgraded.
1 not fully installed or removed.
After this operation, 84,0 MB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 286979 files and directories currently installed.)
Removing guitarpro6:i386 ...
dpkg: warning: while removing guitarpro6:i386, directory '/opt/GuitarPro6/updater' not empty so not removed.
dpkg: warning: while removing guitarpro6:i386, directory '/opt/GuitarPro6/Data/Soundbanks' not empty so not removed.
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf.index...
Processing triggers for desktop-file-utils ...
Processing triggers for gnome-menus ...
Run Code Online (Sandbox Code Playgroud)
现在 Guitar Pro 被删除了。
如何在安装 Guitar Pro 之后仍然可以安装其他软件?
ish*_*ish 30
警告:
该GuitarPro DEB是危险的包装!
在 64 位系统上,如果您
apt-get -f install在尝试安装之后,apt-get想要删除以下系统关键软件包,这会破坏您的 Ubuntu 安装!下列软件包将被删除: gksu guitarpro6:I386 libgksu2-0 libpam可以-GNOME的钥匙圈 须藤Ubuntu的桌面 ubuntu-minimal update-manager update-notifier xauth xinit xorg须藤?更新管理器??X!开发商在想什么?!它还让人
apt-get认为安装了一堆 i386 软件包,而没有安装。这是完整的血腥粘贴箱。
apt-get不想删除它gksu:i386(这是图形根提升包)的愚蠢依赖apt-get的牢骚是要手动安装它和它的依赖。就是这样:sudo dpkg --remove guitarpro:i386gp6-full-linux-demo-r11100.deb,您的可能会有所不同:
ln -s gp6-full-linux-demo-r11100.deb gp6.deb首先,我们在不安装的情况下检查 deb 的依赖项。
dpkg-deb -I gp6.deb 向我们展示:
新的 debian 包,版本 2.0。 大小 172147458 字节:控制档案= 75020 字节。 375 字节,10 行控制
335109 字节,2770 行 md5sums
包装:GuitarPro6 版本:6.1.3 部分:非免费/音频 优先级:可选 架构:i386 依赖:libc6 (>= 2.1.3)、libstdc++6、libasound2、libxml2、libxslt1.1、libportaudio0、libportaudio2、libglu1-mesa、gksu、libssl0.9.8 安装尺寸:222632 维护者:Arobas Music 描述:http : //www.guitar-pro.com Guitar Pro 6,Linux 版。
所以这是一个 i386 应用程序,它的所有依赖项也将是 i386。
ia32-libs的i386兼容包,如果您尚未:
sudo apt-get install ia32-libsdpkg-deb --fsys-tarfile gp6.deb > gp6.tar并打开文件管理器(Nautilus),gp6.tar通过右键单击并选择Open in Archive Mounter将其挂载为存档;之后,您将看到gp6.tar左侧边栏的底部添加了一个弹出图标:

去为文件管理器视图菜单,并更改边栏的树视图选项,而不是地方:

现在gp6.tar通过单击三角形展开侧栏中的树;对每个级别重复,直到您可以看到文件的文件夹结构:

从结构中,我们看到程序的文件位于两个位置:/opt和/usr/share:
/opt都是独立的,不会影响系统上的任何其他内容。/usr/share只包含图标/位图,它们是无害的。返回终端,确保您位于包含下载的 deb/tar 文件的目录中。然后输入:
须藤焦油 -C / -xvf gp6.tar
这将在适当的位置提取程序文件,显示文件名和进度。(样本输出)
-C开关告诉tar执行此相对于根目录,而不是当前目录的操作。ldd,安装它们,然后摇滚!/opt/GuitarPro6在文件管理器中打开文件夹:

lib-xxxx文件夹中包含许多文件。连同这些包含的库和ia32-libs包,大多数 32 位依赖项应该已经安装。与其盲目地安装我们在 deb 文件信息中看到的依赖项——这apt-get可能会导致问题——让我们弄清楚我们是否真的遗漏了任何东西。
cd /opt/GuitarPro6使用 ldd
键入ldd GuitarPro | grep found,输出将是libportaudio.so.2 => not found
ldd打印程序的依赖项(共享库),以及它们是否存在于系统中。GuitarPro 的完整输出如下所示。grep found。此处,仅缺少libportaudio2库。但是依赖项说libportaudio 0?(见第 1 步。)它是什么?
apt-cache search libportaudio从终端搜索可用版本。libportaudio2和libportaudio0封装。让我们先安装2,用
须藤 apt-get 安装 libportaudio2 :i386
apt-get要求替换/删除libportaudio2和/或其他文件,那没关系,因为某些库不能同时安装在 32 位和 64 位版本中。让我们最后一次仔细检查依赖项:什么都不ldd GuitarPro6 | grep found给我们(这就是我们想要的!)
./GuitarPro: /opt/GuitarPro6/./libz.so.1: version ZLIB_1.2.3.3 not found (required by /usr/lib/i386-linux-gnu/libxml2.so.2)这意味着 Guitar Pro使用了错误版本的 libz,请通过从 GuitarPro6 目录中删除 libz.so.1 文件来解决此问题:
须藤rm libz.so.1Guitar Pro 将回退到您系统的 libz 版本。
退出终端并返回/opt/GuitarPro6文件管理器中的文件夹。双击 GuitarPro 并...

通过从文件管理器中删除 tar 文件来清理下载文件夹。
由于包中已经包含一个GuitarPro6.desktop提取到的快捷方式,因此/usr/share/applications无需手动创建。它位于启动器中:
