Bağımlılık sorunlarına neden olmadan 64 bit sisteme 32 bit özel bir deb nasıl yükleyebilirim?


15

Guitar pro'nun 64 bit'i desteklemediğini biliyorum, ancak bu komutla çalışmayı başardım

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

Ve ben bu hatayı aldıktan sonra bile program mükemmel çalışıyor ve güncelleme ve sisteme PPA ekleyerek harika çalışıyor, ama başka bir yazılım yüklemeye çalışırken bu hatayı alıyorum:

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).

Ve ne zaman "apt-get -f install" yazsam bunu anlıyorum

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 ...

Ve şimdi Guitar Pro silinmiştir.
Guitar Pro'yu nasıl kurabilirim ve daha sonra başka yazılımlar yükleyebilirim?

Yanıtlar:


30

Uyarı:

Guitar Pro deb olan tehlikeli paketlenmiş!

  • Bir 64 bit sistemde, apt-get -f installyüklemeye çalıştıktan sonra , Ubuntu kurulumunuzu bozabilecek aşağıdaki sistem kritik paketlerini kaldırmakapt-get isteyeceksiniz !

    Aşağıdaki paketler KALDIRILACAK:
     gksu guitarpro6: i386 libgksu2-0 libpam-gnome-keyring  sudo ubuntu-desktop
    ubuntu-minimal güncelleme yöneticisi güncelleme-notifier xauth xinit  xorg
  • sudo ? güncelleme yöneticisi ?? X! Geliştiriciler ne düşünüyor ?! Ayrıca apt-get, hiçbiri olmadığında bir grup i386 paketinin kurulu olduğunu düşünür. İşte tam kanlı macun.


GuitarPro'yu apt-getkaldırmak istemeden güvenle kurun

  • Yukarıdaki davranışın deb'in aptal bağımlılığından geldiğine inanıyorum gksu:i386(bu grafiksel kök yükseltme paketi)
  • Ne yazık ki, bunu kurmanın veapt-get sızlanma ile uğraşmak zorunda kalmanın tek güvenli yolu, onu ve bağımlılıklarını manuel olarak kurmaktır . Bunu nasıl yapacağınız aşağıda açıklanmıştır:

İkili i386 hatalarını bağımlılıklarıyla el ile nasıl inceler ve güvenle yüklerim

  • İlk olarak, şu anda yüklü olan yarı yüklüleri çıkarın sudo dpkg --remove guitarpro:i386
  • Şimdi, deb dosyanızın saklandığı dizine geçin. Kolay yazım için kısa bir symlink oluşturalım - benim hatam denir gp6-full-linux-demo-r11100.deb, sizinki farklı olabilir:
    • ln -s gp6-full-linux-demo-r11100.deb gp6.deb

1. Deb'in mimarisini ve bağımlılıklarını inceleyin

İlk olarak, borunun bağımlılıklarını kurmadan inceliyoruz.

  • dpkg-deb -I gp6.deb bize gösterir:

     yeni debian paketi, sürüm 2.0.
    boyut 172147458 bayt: kontrol arşivi = 75020 bayt.
     375 bayt, 10 satır kontrol 
    335109 bayt, 2770 satır md5sums
    Paket: GuitarPro6 Sürüm: 6.1.3 Bölüm: özgür olmayan / ses Öncelik: isteğe bağlı Mimari: i386 Bağımlı: libc6 (> = 2.1.3), libstdc ++ 6, libasound2, libxml2, libxslt1.1, libportaudio0, libportaudio2, libglu1-mesa, gksu, libssl0.9.8 Kurulu Boyut: 222632 Bakımcı: Arobas Müzik Açıklama: http://www.guitar-pro.com Guitar Pro 6, Linux Sürümü.

  • Yani bu bir i386 uygulaması ve tüm bağımlılıkları da i386 olacak.

  • Ilk şey yapmak yüklemektir ia32-libsEğer henüz yapmadıysanız, i386 uyumluluk paketi:
    • sudo apt-get install ia32-libs
  • Daha sonra paketin bağımlılıklarını bir metin dosyasına kopyalayıp yapıştıralım.

2. Boruyu katran arşivine "çıkarın" ve içeriğini inceleyin

  • Diyelim ayıklamak yüklemek zorunda kalmadan biz içeriğini incelemek için şimdi bir katran arşive deb:
    • dpkg-deb --fsys-tarfile gp6.deb > gp6.tar
  • Ve Dosya Yöneticisi'ni (Nautilus) açıngp6.tar ve sağ tıklayıp Arşiv Bağlayıcısında Aç'ı seçerek bir arşiv olarak bağlayın ; bundan sonragp6.tar , sol kenar çubuğunun altına, yanında bir çıkar simgesiyle eklendiğini göreceksiniz :

    resim açıklamasını buraya girin

  • Dosya Yöneticisi için Görünüm Menüsüne gidin ve Kenar Çubuğunu Yerler yerine Ağaç görünümü seçeneğiyle değiştirin :

    resim açıklamasını buraya girin

  • Şimdi gp6.tarüçgenlere tıklayarak kenar çubuğundaki ağacı genişletin ; Dosyanın klasör yapısını görene kadar her seviye için tekrarlayın :

    resim açıklamasını buraya girin

  • Yapıdan, programın dosyalarının iki konuma girdiğini görüyoruz: /optve /usr/share:

    • Giren /opthiçbir şey kendi kendine yetmez ve sistemdeki başka hiçbir şeyi etkilemez.
    • /usr/shareSadece zararsız simgeler / bitmapler içerdiğini görüyoruz .

3. Güvenliyse, tar dosyasını çıkararak programı "yükleyin"

  • Terminale geri dönün ve indirilen deb / tar dosyalarını içeren dizinde olduğunuzdan emin olun. Sonra şunu yazın:

    sudo katranı -C / -xvf gp6.tar
    
  • Bu, program dosyalarını uygun konumlara çıkararak dosya adlarını ve ilerlemeyi gösterir. ( Örnek Çıktı )

    • -CAnahtar söyler tarkök dizininde değil, geçerli dizin için bu işlem göreceli gerçekleştirmek için.

4. Hangi bağımlılıkların eksik olduğunu anlayın ldd, kurun ve sallayın!

  • /opt/GuitarPro6Dosya Yöneticisi klasörü:

    resim açıklamasını buraya girin

    • Yürütülebilir dosyanın GuitarPro (elmas "dişliler" simgesiyle) olarak adlandırıldığını lib-xxxxve klasöre çok sayıda dosyanın eklendiğini görüyoruz .
    • Bu yalnızca ikili programlar için normaldir; belirli bir dağıtımın depolarından bulunamayabileceğinden, ihtiyaç duydukları belirli kitaplıkların sürümlerini eklemeye çalışırlar.
  • Bu dahil edilmiş kütüphaneler ve ia32-libspaketle birlikte, 32 bitlik bağımlılıkların çoğu yüklenmiş olmalıdır. Deb dosyası bilgisinde gördüğümüz bağımlılıkları körü körüne yüklemek yerine - apt-getki bu hangi sorunlara neden olabilir-- aslında şey eksik .

    • Terminale geri dönün ve GuitarPro dizinine cd /opt/GuitarPro6

kullanma ldd

  • Tür ldd GuitarPro | grep foundve çıkış olacaklibportaudio.so.2 => not found

    • ldd bir programın bağımlılıklarını (paylaşılan kütüphaneler) ve sistemde var olup olmadıklarını yazdırır. GuitarPro'nun tam çıktısı şuna benziyor.
    • Hayatı kolaylaştırmak için, var olmayanlara filtre uyguluyoruz grep found.
  • Burada yalnızca libportaudio2 kütüphanesi eksik. Ama bağımlılıklar libportaudio 0 dedi ? (1. adıma bakın.) Hangisi ??

    • Mevcut sürümleri apt-cache search libportaudioterminalden arayalım .
    • En That söyler hem libportaudio2 ve libportaudio0paketleri mevcuttur. Önce 2'yi kuralım,
      sudo apt-get install libportaudio2 : i386
    • : İ386 parçasıdır çok önemli program 32 bit olduğundan,. Eğer apt-get/ kaldırmayı yerine sorar libportaudio2bazı kütüphaneler hem 32 hem 64 bit sürümlerinde aynı anda yüklenemez çünkü Tamam ve / veya diğer dosyaları.
  • Bağımlılıkları son bir kez daha kontrol edelim: ldd GuitarPro6 | grep foundbize hiçbir şey vermiyor (istediğimiz bu!)

    • Hatayı alırsanız ./GuitarPro: /opt/GuitarPro6/./libz.so.1: version ZLIB_1.2.3.3 not found (required by /usr/lib/i386-linux-gnu/libxml2.so.2)bu, Guitar Pro'nun yanlış bir libz sürümü kullandığı , libz.so.1 dosyasını GuitarPro6 dizininden kaldırarak bunu düzeltin:
      sudo rm libz.so.1
      Guitar Pro, sisteminizin libz sürümüne geri dönecektir.
  • Terminalden çıkın ve /opt/GuitarPro6Dosya Yöneticisi'ndeki klasöre geri dönün . GuitarPro öğesini çift tıklatın ve ...

    resim açıklamasını buraya girin

  • Tar dosyasını File Manager'dan silerek Download klasörünü temizleyin.

5. Başlatıcı kısayolu zaten eklenmiş

  • Paket zaten GuitarPro6.desktopayıklanan bir kısayol içerdiğinden, /usr/share/applicationselle bir tane oluşturmaya gerek yoktur. Başlatıcıda orada oturuyor:

    resim açıklamasını buraya girin


Evet, son kez ldd GuitarPro6 kullandığım sürece her şey yolunda gitti. grep bana bir yanıt verdiğini buldu: ./GuitarPro: /opt/GuitarPro6/./libz.so.1: sürüm `ZLIB_1.2.3.3 'bulunamadı (/ usr / lib / i386-linux-gnu / libxml2 için gerekli) .so.2)
Shahe Tajiryan

Bunu başka bir bilgisayara (12.10 64bit) yüklemeye çalıştım ve başka bir hatayla karşılaştım ve bu düzeltildi: bit.ly/X7nvJ5 . Başkaları bazı sorunlarla karşılaşırsa, burada paylaşmak istedim
Jeggy

Ne harika bir cevap. Bu, Ubuntu 14.10 64 bit üzerinde mükemmel çalıştı. Keşke bir kereden fazla upvote olabilir ... FYI, ben de sudo apt-get install libssl0.9.8:i386ek yapmak zorundalibportaudio2:i386
friederbluemle


1

Bir şey denedim ve işe koyuldum!

  1. Bir yere "/ opt / GuitarPro6" kopyaladım.

  2. Yaptığım sudo apt-get -f installGuitar Pro kaldırın.

  3. Klasörü tekrar kopyaladım /opt/GuitarPro6ve oradaki her şeyi değiştirdim.

  4. Aşağıdaki gibi daha fazla paket yükledim:

    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. Bu resmi GuitarPro simgesini indirdim ve /opt/GuitarPro6/icon.pngkendi dosyamı oluşturmak için bir görüntüye sahip olabilmek için kaydettim .desktop.

  6. Şununla bir .desktopdosya oluşturdum 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
    

    Bu dosyayı /usr/share/applicationsadıyla kaydettim GuitarPro6.desktop.

Şimdi her şey çalışıyor ve Guitar Pro'yu çizgi içinde bulabiliyorum.


1
Bu korkunç bir çözüm.
tgm4883

1
Daha iyi bir çözüm var mı? Diğerlerinin cevapladığı her şeyi denedim. daha iyisini biliyor musun? ve bu aslında iyi çalışıyor.
Jeggy

Guitar Pro'nun tüm bağımlılıklarını yüklediniz mi?
tgm4883

şimdi bunu yaptım 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. ve o kadar iyi çalışıyor.
Jeggy

Gelecekte koşmamalısın sudo gedit. Bunun yerine gksu geditveya gksudo geditkullanmalısınız. Gibi grafiksel programları Koşu rootovasını kullanarak sudouygulama kullanıcı başına yapılandırma dosyaları, teneke sahip olduğunda, olmayan için bu programların kadar karışıklık rootkullanıcı .
Eliah Kagan

1

Ayrıca son birkaç gündür bununla mücadele ediyorum. Ben şarap altında Windows çalıştırılabilir kullanmak için en iyi yolu buldum. Çok daha sağlam görünüyor.


0

Sorunuzu cevaplamak için, apt-get -f installyazılımı kaldırmayı durdurmak --no-removeiçin çalıştırdığınız komuta eklemeniz gerekir . Bir şey kaldırılacaksa ve yazılımınız kaldırılmayacaksa, apt-get çalıştırmasını hemen durduracaktır.

Bununla birlikte, muhtemelen aradığınız şey, bir sistemin normal çalışmasını sağlamanın yanı sıra bu yazılımı yüklemenin bir yoludur. Yapmanız gereken şey, paketin kurulumunu dpkg ile zorladığınızda çıktıya bakmak ve neyin başarısız olduğunu görmek, ardından bu bağımlılığı yüklemek

apt-get install package-name

Sizin durumunuzda, bu gksu'dur (özellikle gksu). Şimdi gksu'yu yüklemeye çalıştığınızda, yüklenmesi gereken bağımlılıklara sahip olduğunu görebilirsiniz. 32 bit paket yüklemesini zorladığınızdan, bu bağımlılıkları yukarıdaki aynı komutu kullanarak el ile yüklemeniz gerekir.


0

LinuxMint 14 32-Bit altında gp6'yı kurdum, zlib.so1.2.27'yi / opt / GuitarPro'ya kopyalayarak, zlib.so.1 olarak yeniden adlandırarak, güncelleyici ve zlib ile ilgili sorunları düzelttim, güncelleyiciyi tekrar çalıştırdım hepsini güncel tuttuğunuz için. Daha sonra 64 bit Linux'umu balık yoluyla 3s-Bit Linux'a bağladım: // username @ mymachineIP / opt Dolphin'de ve tüm GuitarPro6 dizinini 64-bit Linux üzerindeki ev dizinime ve oradan / opt dizinine kopyaladım. İşler.


-2

Bunu dene:

Http://www6.guitar-pro.com/en/index.php?pg=dk .deb dosyasını indirin ancak yüklemeyin.

Getlibs'i indirin ve yükleyin Sonra:

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

Son olarak, ile başlatın (hataları yoksay):

/opt/GuitarPro6/gp-launcher.sh

Bu, daha önce yaptığımdan daha iyi çalışmadı :(
Jeggy
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.