Как мне установить 32-битную проприетарную deb в 64-битной системе, не вызывая проблем с зависимостями?

Я знаю, что 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», я получаю это

[ 112]

А теперь Guitar Pro удален.
Как я могу установить Guitar Pro и в дальнейшем иметь возможность устанавливать другое программное обеспечение?

15
задан 4 August 2014 в 01:45

6 ответов

Предупреждение:

GuitarPro deb опасно упаковывается!

  • В 64-разрядной системе, если Вы apt-get -f install после попытки установить его, apt-get захочет удалить следующую систему критические пакеты, которые могут разрушить Вашу установку Ubuntu!

    The following packages will be REMOVED:
    gksu guitarpro6:i386 libgksu2-0 libpam-gnome-keyring sudo ubuntu-desktop
    ubuntu-minimal update-manager update-notifier xauth xinit xorg
  • sudo? менеджер обновления?? 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 показывает нам:

     new debian package, version 2.0.
    size 172147458 bytes: control archive= 75020 bytes.
     375 bytes,    10 lines      control
    335109 bytes, 2770 lines md5sums
    Package: GuitarPro6 Version: 6.1.3 Section: non-free/audio Priority: optional Architecture: i386 Depends: libc6 (>= 2.1.3), libstdc++6, libasound2, libxml2, libxslt1.1, libportaudio0, libportaudio2, libglu1-mesa, gksu, libssl0.9.8 Installed-Size: 222632 Maintainer: Arobas Music Description: http://www.guitar-pro.com Guitar Pro 6, Linux Version.
  • Таким образом, это - i386 приложение, и все его зависимости также будут i386.

  • Первое, что нужно сделать является установкой ia32-libs пакет совместимости i386, если Вы уже не имеете:
    • sudo apt-get install ia32-libs
  • Давайте также скопируем и вставим зависимости пакета в текстовом файле на потом.

2. "Извлеките" deb в tar, архивируют и исследуют его содержание

  • Давайте извлечем deb в архив tar теперь, таким образом, мы можем исследовать его содержание, не имея необходимость устанавливать его:
    • dpkg-deb --fsys-tarfile gp6.deb > gp6.tar
  • И откройте Файловый менеджер (Наутилус) и смонтируйтесь gp6.tar как архив путем щелчка правой кнопкой и выбора Открытый в Архиве Mounter; после этого Вы будете видеть gp6.tar добавленный к нижней части левая боковая панель, с извлечь значком рядом с ним:

    enter image description here

  • Войдите в Меню Представления для Файлового менеджера и измените Боковую панель на опцию Структурного вида вместо Мест:

    enter image description here

  • Теперь расширьтесь gp6.tar дерево на боковой панели путем нажатия на треугольники; повторитесь для каждого уровня, пока Вы не будете видеть структуры папок файла:

    enter image description here

  • От структуры мы видим, что файлы программы входят в два места: /opt и /usr/share:

    • Что-либо, что входит /opt является автономным и не будет влиять ни на что больше в системе.
    • Мы видим это /usr/share только содержит значки/битовые массивы, которые безопасны.

3. Если это безопасно, "установите" программу путем извлечения файла tar

  • Вернитесь к терминалу и удостоверьтесь, что Вы находитесь в каталоге, содержащем загруженные deb/tar файлы. Затем введите:

    sudo tar -C / -xvf gp6.tar
    
  • Это извлечет программные файлы в соответствующих местоположениях, показывая Вам имена файлов и прогресс. (Демонстрационный Вывод)

    • -C переключатель говорит tar выполнить эту операцию относительно корневого каталога, не текущий каталог.

4. Фигура, с которой отсутствуют зависимости ldd, установите их и рок-н-ролл!

  • Откройтесь /opt/GuitarPro6 папка в Файловом менеджере:

    enter image description here

    • Мы видим, что исполняемый файл называют GuitarPro (с ромбом - значок "механизмов"), и также что много из lib-xxxx файлы включены в папку.
    • Это нормально для программ только для двоичного файла; они пытаются включать версии определенных библиотек, в которых они нуждаются, так как это не может быть доступным из репозиториев определенного распределения.
  • Наряду с этими включенными библиотеками и ia32-libs пакет, большинство 32-разрядных зависимостей должно было быть установлено. Вместо того, чтобы вслепую установить зависимости мы видели в deb информации о файле через apt-get- который может вызвать проблемы - давайте выясним, пропускаем ли мы на самом деле что-нибудь.

    • Вернитесь к терминалу и изменитесь на каталог GuitarPro с cd /opt/GuitarPro6

Используя ldd

  • Ввести ldd GuitarPro | grep found, и вывод будет libportaudio.so.2 => not found

    • ldd печатает зависимости (совместно использованные библиотеки) программы, и существуют ли они или не в системе. Вот то, на что похож полный вывод GuitarPro.
    • Для создания жизни легче мы просто фильтруем для тех, которые не существуют через grep found.
  • Здесь, только libportaudio2 библиотека отсутствует. Но зависимости сказанный libportaudio0? (см. шаг 1.), Который является этим??

    • Давайте искать доступное использование версий apt-cache search libportaudio от терминала.
    • Это, говорит нам это оба libportaudio2 и libportaudio0 пакеты доступны. Давайте установим первые 2, с
      sudo apt-get install 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) это означает, что Гитара Pro использует неверную версию libz, зафиксируйте это путем удаления libz.so.1 файла из каталога GuitarPro6:
      sudo rm libz.so.1
      Гитара Pro отступит к libz версии Вашей системы.
  • Выйдите из терминала и вернитесь к /opt/GuitarPro6 папка в Файловом менеджере. Дважды щелкните по GuitarPro и...

    enter image description here

  • Очистка папка Download путем удаления файла tar из Файлового менеджера.

5. Ярлык средства запуска был уже добавлен

  • Поскольку пакет уже содержал a GuitarPro6.desktop ярлык, который был извлечен к /usr/share/applications, нет никакой потребности вручную создать ту. Это находится там в Средстве запуска:

    enter image description here

30
ответ дан 4 August 2014 в 01:45

Я попробовал кое-что и заставил это работать!

  1. Я где-то скопировал "/ opt / GuitarPro6".

  2. Я сделал sudo apt-get -f install, чтобы удалить Guitar Pro.

  3. Я скопировал папку обратно в /opt/GuitarPro6 и заменил там все.

  4. Я установил больше пакетов следующим образом:

    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
    
  5. Я скачал это изображение Значок GuitarPro и сохранил его в /opt/GuitarPro6/icon.png, чтобы я мог У меня есть изображение для создания моего собственного файла .desktop.

  6. Я создал файл .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 в тире.

0
ответ дан 4 August 2014 в 01:45

Я просто установил gp6 в LinuxMint 14 32-Bit, запустил программу обновления и исправил проблемы с zlib, скопировав zlib.so1.2.27 в / opt / GuitarPro, переименовав его в zlib.so.1, установил gksu и его зависимости, запустил обновление для того, чтобы привести все в актуальное состояние. После этого я подключил свой 64-битный Linux к 3s-Bit Linux через fish: // username @ mymachineIP / opt в Dolphin и скопировал весь каталог GuitarPro6 в мой домашний каталог на 64-битном Linux и оттуда в / opt. Работы.

0
ответ дан 4 August 2014 в 01:45

Я также боролся с этим в последние несколько дней. Я обнаружил, что лучший способ - использовать исполняемый файл Windows под Wine. Кажется намного более солидным.

0
ответ дан 4 August 2014 в 01:45

Попробуйте это:

Загрузите с http://www6.guitar-pro.com/en/index.php?pg=download файл .deb, но не устанавливайте она.

Загрузите и установите getlibs Затем:

sudo apt-get install libportaudio0
getlibs -l libportaudio.so.2
dpkg -i –force-all /path/to/GuitarPro6Demo2.deb

Наконец, запустите его с (игнорировать ошибки):

/opt/GuitarPro6/gp-launcher.sh
0
ответ дан 4 August 2014 в 01:45

Ответить на Ваш вопрос, остановиться apt-get -f install от удаления программного обеспечения необходимо добавить --no-remove к команде Вы работаете. Это сразу прервется, Кв. - выполняется, если что-то должно быть удалено, и Ваше программное обеспечение не будет удалено.

Однако то, что Вы, вероятно, ищете, является способом выполнить систему обычно, все же также установите то программное обеспечение. То, что необходимо будет сделать, посмотреть на вывод от того, когда Вы вызываете установку пакета с dpkg, и посмотрите то, на чем это перестало работать, затем установите то использование зависимости

apt-get install package-name

В Вашем случае это - gksu (а именно, gksu). Теперь можно найти что, когда Вы пытаетесь установить gksu, что он имеет зависимости также, которые должны быть установлены. Так как Вы вызываете 32-разрядную установку пакета, необходимо будет вручную установить эти зависимости с помощью той же команды выше.

0
ответ дан 4 August 2014 в 01:45

Другие вопросы по тегам:

Похожие вопросы: