我知道 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
即使在我收到该错误之后,程序仍然可以正常运行,并且更新和添加 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).
每当我写“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 ...
现在 Guitar Pro 已被删除。
我怎样才能安装 Guitar Pro 并且之后仍能安装其他软件?
答案1
警告:
这吉他专业版deb 是包装危险!
在 64 位系统上,如果你
apt-get -f install
尝试安装后,apt-get
想要消除下列系统关键软件包,这可能会毁掉你的 Ubuntu 安装!下列软件包将被删除: 堪萨斯州立大学guitarpro6:i386 libgksu2-0libpam-gnome-密钥环 须藤Ubuntu 桌面 Ubuntu 最小版本更新管理器更新通知程序 xauth初始化 组织须藤?更新管理器??X!开发人员在想什么?!它还让人
apt-get
认为安装了一堆 i386 软件包,但实际上并没有安装。这是完整的血腥 pastebin。
安全安装 GuitarPro 而无需apt-get
将其删除
- 我相信上述行为来自于 deb 对
gksu:i386
(图形根提升包)的愚蠢依赖 - 不幸的是,安装此软件的唯一安全方法是和不必处理的
apt-get
抱怨是手动安装它及其依赖项。操作如下:
如何手动检查并安全安装二进制 i386 deb 及其依赖项
- 首先,删除当前半安装的
sudo dpkg --remove guitarpro:i386
- 现在,切换到存储 deb 文件的目录。为了方便输入,我们创建一个简短的符号链接 - 我的 deb 名为
gp6-full-linux-demo-r11100.deb
,您的可能有所不同:ln -s gp6-full-linux-demo-r11100.deb gp6.deb
1. 检查 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-libs
- 我们还将包的依赖项复制并粘贴到文本文件中,以供稍后使用。
2. 将 deb “提取” 到 tar 存档中并检查其内容
- 让我们提炼现在将 deb 复制到 tar 存档,以便我们无需安装它就可以检查其内容:
dpkg-deb --fsys-tarfile gp6.deb > gp6.tar
然后打开文件管理器 (Nautilus),
gp6.tar
右键单击并选择将其挂载为存档在存档安装器中打开;后您会看到它gp6.tar
添加到左侧边栏的底部,旁边有一个弹出图标:转到文件管理器的视图菜单,然后将侧边栏更改为树查看选项,而不是地点:
现在
gp6.tar
通过点击三角形展开侧边栏中的树;对每个级别重复此操作,直到你可以看到文件夹结构文件:从结构上看,我们可以看到程序的文件分为两个位置:
/opt
和/usr/share
:- 进入的任何东西
/opt
都是独立的,不会影响系统中的任何其他东西。 - 我们看到
/usr/share
仅包含图标/位图,它们是无害的。
- 进入的任何东西
3. 如果安全,请通过提取 tar 文件来“安装”该程序
返回终端,确保您位于包含下载的 deb/tar 文件的目录中。然后输入:
sudo tar -C / -xvf gp6.tar
这将在适当的位置提取程序文件,并显示文件名和进度。(示例输出)
- 该
-C
开关告诉tar
执行此操作相对于根目录,而不是当前目录。
- 该
4. 找出缺少的依赖项ldd
,安装它们,然后开始吧!
/opt/GuitarPro6
在文件管理器中打开文件夹:lib-xxxx
我们看到可执行文件名为 GuitarPro(带有菱形“齿轮”图标),并且文件夹中包含许多文件。- 对于纯二进制程序来说,这是正常的;它们尝试包含所需的特定库的版本,因为这些库可能无法从特定发行版的存储库中获得。
除了这些包含的库和
ia32-libs
软件包之外,大多数 32 位依赖项也应该已经安装。我们不必盲目地安装我们在 deb 文件信息中看到的依赖项apt-get
(这可能会导致问题),而是先弄清楚我们是否实际上缺少任何东西。- 返回终端,并使用以下命令切换到 GuitarPro 目录
cd /opt/GuitarPro6
- 返回终端,并使用以下命令切换到 GuitarPro 目录
使用ldd
输入
ldd GuitarPro | grep found
,输出将是libportaudio.so.2 => not found
ldd
打印程序的依赖项(共享库)以及它们是否存在于系统中。这是 GuitarPro 的完整输出。- 为了让生活更轻松,我们只需通过 过滤掉不存在的那些
grep found
。
这里,只有libportaudio2缺少库。但是依赖项说库文件0?(见步骤 1。)它是哪一个??
apt-cache search libportaudio
让我们从终端搜索可用的版本。- 这告诉我们两个都
libportaudio2
和libportaudio0
软件包都可用。让我们安装2首先,安装 libportaudio2:i386
- 这:i386部分是很重要因为我们的程序是 32 位的。如果
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 文件来解决这个问题:sudo rm libz.so.1
Guitar Pro 将恢复到系统的 libz 版本。
- 如果你收到错误,
退出终端并返回
/opt/GuitarPro6
文件管理器中的文件夹。双击 GuitarPro 然后...通过从文件管理器中删除 tar 文件来清理下载文件夹。
5. 启动器快捷方式已添加
由于软件包中已经包含一个
GuitarPro6.desktop
解压到的快捷方式/usr/share/applications
,因此无需手动创建。它位于启动器中:
答案2
我尝试了一些东西并且让它发挥作用!
我将“/opt/GuitarPro6”复制到了某个地方。
我确实
sudo apt-get -f install
删除了 Guitar Pro。我将该文件夹复制回去
/opt/GuitarPro6
并替换了其中的所有内容。我安装了更多软件包,如下所示:
sudo apt-get install dconf-gsettings-backend python-levenshtein python-indicate libav-tools libstartup-notification0 libxmuu1 libavfilter-extra-2 libbabl-0.0-0 libgegl-0.0-0 libgconf2-4 python-vobject libgtk-3-0 libpam-cap python-utidylib libdconf0 python-iniparse python-xmpp libpam-gnome-keyring libxcb-util0 python-farstream
我下载了这张图片GuitarPro 图标并将其保存,
/opt/GuitarPro6/icon.png
这样我就可以拥有一张图像来创建我自己的.desktop
文件。我创建了一个
.desktop
文件sudo gedit
:#!/usr/bin/env xdg-open [Desktop Entry] Type=Application Name=Guitar Pro 6 Comment=Guitar Pro 6 Icon=/opt/GuitarPro6/icon.png Exec=sh /opt/GuitarPro6/gp-launcher.sh Terminal=false Categories=Audio
我将该文件保存到
/usr/share/applications
名为 的文件中GuitarPro6.desktop
。
现在一切正常,我可以在仪表板上找到 Guitar Pro。
答案3
过去几天我也一直在为此苦苦挣扎。我发现最好的方法是使用 wine 下的 Windows 可执行文件。看起来更可靠。
答案4
我简单地在 LinuxMint 14 32 位下安装了 gp6,运行更新程序,并通过将 zlib.so1.2.27 复制到 /opt/GuitarPro、将其重命名为 zlib.so.1 来修复 zlib 问题,安装 gksu 及其依赖项,再次运行更新程序以使所有内容保持最新。之后,我通过 Dolphin 中的 fish://username@mymachineIP/opt 将我的 64 位 Linux 连接到 3s 位 Linux,并将整个 GuitarPro6 目录复制到 64 位 Linux 上的主目录,然后从那里复制到 /opt。有效。