Bagaimana cara saya menginstal debbit proprietary 32-bit pada sistem 64-bit tanpa menyebabkan masalah ketergantungan?

15

Saya tahu Guitar pro tidak mendukung 64 bit, tetapi saya bisa membuatnya bekerja dengan perintah ini

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

Dan bahkan setelah saya mendapatkan kesalahan itu, program tersebut bekerja dengan baik dan memperbarui dan menambahkan PPA ke sistem berfungsi dengan baik, tetapi ketika saya mencoba untuk menginstal beberapa perangkat lunak lain saya mendapatkan kesalahan ini:

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

Dan setiap kali saya menulis "apt-get -f install" saya mendapatkan ini

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

Dan sekarang Guitar Pro dihapus.
Bagaimana saya bisa menginstal Guitar Pro dan masih dapat menginstal perangkat lunak lain sesudahnya?

Jeggy
sumber

Jawaban:

30

Peringatan:

The GuitarPro deb yang berbahaya dikemas!

  • Pada sistem 64-bit, jika Anda apt-get -f installsetelah mencoba menginstalnya, apt-getakan ingin menghapus paket-paket sistem kritis berikut , yang dapat merusak instalasi Ubuntu Anda!

    Paket-paket berikut akan DIHAPUS:
     gksu guitarpro6: i386 libgksu2-0 libpam-gnome-keyring  sudo ubuntu-desktop
    ubuntu- update minimal -manajer pembaruan-notifier xauth xinit  xorg
  • sudo ? pembaruan-manajer ?? X! Apa yang dipikirkan pengembang ?! Ini juga membuat saya apt-getberpikir banyak paket i386 diinstal ketika belum ada. Inilah kue berdarah penuh.


Instal GuitarPro dengan aman tanpa apt-getingin menghapusnya

  • Saya percaya perilaku di atas berasal dari ketergantungan bodoh pada deb gksu:i386(yang merupakan paket elevasi root grafis)
  • Sayangnya, satu-satunya cara aman untuk menginstal ini dan tidak harus berurusan dengan apt-getrengekan adalah dengan menginstalnya secara manual dan dependensinya. Begini caranya:

Cara memeriksa secara manual dan aman menginstal deb binary i386 dengan dependensinya

  • Pertama, hapus setengah diinstal saat ini dikemas dengan sudo dpkg --remove guitarpro:i386
  • Sekarang, ubah ke direktori tempat file deb Anda disimpan. Untuk mengetik dengan mudah, mari kita buat symlink pendek - deb saya dipanggil gp6-full-linux-demo-r11100.deb, milik Anda mungkin berbeda:
    • ln -s gp6-full-linux-demo-r11100.deb gp6.deb

1. Periksa arsitektur deb dan dependensi

Pertama, kami memeriksa dependensi deb tanpa menginstalnya.

  • dpkg-deb -I gp6.deb menunjukkan kepada kita:

     paket debian baru, versi 2.0.
    ukuran 172147458 byte: arsip kontrol = 75020 byte
     375 byte, 10 baris kontrol 
    335109 byte, 2770 baris md5sums
    Paket: GuitarPro6 Versi: 6.1.3 Bagian: tidak bebas / audio Prioritas: opsional Arsitektur: i386 Tergantung: libc6 (> = 2.1.3), libstdc ++ 6, libasound2, libxml2, libxslt1.1, libportaudio0, libportaudio2, libglu1-mesa, gksu, libssl0.9.8 Ukuran Terpasang: 222632 Maintainer: Arobas Music Deskripsi: http://www.guitar-pro.com Guitar Pro 6, Versi Linux.

  • Jadi ini adalah aplikasi i386, dan semua dependensinya juga akan menjadi i386.

  • Hal pertama yang harus dilakukan adalah menginstal ia32-libspaket kompatibilitas i386, jika Anda belum:
    • sudo apt-get install ia32-libs
  • Mari juga salin dan tempel dependensi paket dalam file teks, untuk nanti.

2. "Ekstrak" deb ke arsip tar dan periksa isinya

  • Mari kita ekstrak deb ke arsip tar sekarang sehingga kita dapat memeriksa isinya tanpa harus menginstalnya:
    • dpkg-deb --fsys-tarfile gp6.deb > gp6.tar
  • Dan buka File Manager (Nautilus), dan pasang gp6.tarsebagai arsip dengan mengklik kanan dan memilih Open in Archive Mounter ; setelah itu Anda akan melihat gp6.tarditambahkan ke bawah sidebar kiri, dengan ikon eject di sebelahnya:

    masukkan deskripsi gambar di sini

  • Buka Menu Tampilan untuk Manajer File, dan ubah bilah sisi ke opsi Tampilan pohon alih-alih Tempat :

    masukkan deskripsi gambar di sini

  • Sekarang perluas gp6.tarpohon di bilah sisi dengan mengklik segitiga; ulangi untuk setiap level hingga Anda dapat melihat struktur folder file:

    masukkan deskripsi gambar di sini

  • Dari struktur, kita melihat bahwa file program masuk ke dua lokasi: /optdan /usr/share:

    • Segala sesuatu yang masuk /optadalah mandiri dan tidak akan mempengaruhi hal lain pada sistem.
    • Kami melihat bahwa /usr/sharehanya berisi ikon / bitmap, yang tidak berbahaya.

3. Jika aman, "instal" program dengan mengekstrak file tar

  • Kembali ke terminal, dan pastikan Anda berada di direktori yang berisi file deb / tar yang diunduh. Kemudian ketik:

    sudo tar -C / -xvf gp6.tar
    
  • Ini akan mengekstrak file program di lokasi yang sesuai, menunjukkan kepada Anda nama file dan perkembangannya. ( Output Sampel )

    • The -Cberalih mengatakan taruntuk melakukan operasi ini relatif ke direktori root, bukan direktori saat ini.

4. Cari tahu dependensi mana yang tidak ada ldd, instal, dan rock-and-roll!

  • Buka /opt/GuitarPro6folder di File Manager:

    masukkan deskripsi gambar di sini

    • Kita melihat bahwa executable disebut GuitarPro (dengan ikon "gigi" berlian), dan juga bahwa banyak lib-xxxxfile termasuk dalam folder.
    • Ini normal untuk program biner saja; mereka mencoba untuk memasukkan versi perpustakaan tertentu yang mereka butuhkan, karena itu mungkin tidak tersedia dari gudang distribusi tertentu.
  • Bersama dengan pustaka dan ia32-libspaket yang disertakan ini , sebagian besar dependensi 32-bit seharusnya diinstal. Alih-alih menginstal secara buta dependensi yang kita lihat di info file deb via apt-get--yang dapat menyebabkan masalah-- mari kita cari tahu apakah kita benar - benar kehilangan sesuatu.

    • Kembali ke terminal, dan ubah ke direktori GuitarPro dengan cd /opt/GuitarPro6

Menggunakan ldd

  • Ketik ldd GuitarPro | grep found, dan hasilnya akanlibportaudio.so.2 => not found

    • lddmencetak dependensi (shared library) dari suatu program, dan apakah ada atau tidak pada sistem. Beginilah tampilan lengkap GuitarPro.
    • Untuk membuat hidup lebih mudah, kami cukup menyaring yang tidak ada via grep found.
  • Di sini, hanya perpustakaan libportaudio2 yang hilang. Tetapi dependensi mengatakan libportaudio 0 ? (lihat langkah 1.) Mana itu ??

    • Mari mencari versi yang tersedia menggunakan apt-cache search libportaudiodari terminal.
    • Itu memberitahu kita bahwa keduanya libportaudio2 dan libportaudio0paket tersedia. Mari kita instal 2 terlebih dahulu, dengan
      sudo apt-get install libportaudio2 : i386
    • The : i386 Bagian ini sangat penting , karena program kami adalah 32-bit. Jika apt-getdiminta untuk mengganti / menghapus libportaudio2dan / atau file lain, tidak apa-apa, karena beberapa perpustakaan tidak dapat diinstal secara bersamaan dalam versi 32-dan 64-bit.
  • Mari kita periksa dependensi untuk terakhir kalinya: tidak ldd GuitarPro6 | grep foundmemberi kita apa-apa (itulah yang kita inginkan!)

    • Jika Anda mendapatkan kesalahan ./GuitarPro: /opt/GuitarPro6/./libz.so.1: version ZLIB_1.2.3.3 not found (required by /usr/lib/i386-linux-gnu/libxml2.so.2)ini berarti Guitar Pro menggunakan versi libz yang salah , perbaiki ini dengan menghapus file libz.so.1 dari direktori GuitarPro6:
      sudo rm libz.so.1
      Guitar Pro akan kembali ke versi libz sistem Anda.
  • Keluar dari terminal dan kembali ke /opt/GuitarPro6folder di dalam File Manager. Klik dua kali GuitarPro dan ...

    masukkan deskripsi gambar di sini

  • Bersihkan folder Unduh dengan menghapus file tar dari Manajer File.

5. Pintasan peluncur telah ditambahkan

  • Karena paket sudah berisi jalan GuitarPro6.desktoppintas yang diekstraksi /usr/share/applications, tidak perlu membuatnya secara manual. Itu duduk di sana di Peluncur:

    masukkan deskripsi gambar di sini

ish
sumber
Ya, semuanya berjalan dengan baik, kecuali ketika terakhir kali saya menggunakan ldd GuitarPro6 | grep menemukannya memberi saya respons: ./GuitarPro: /opt/GuitarPro6/./libz.so.1: versi `ZLIB_1.2.3.3 'tidak ditemukan (diperlukan oleh / usr / lib / i386-linux-gnu / libxml2 .so.2)
Shahe Tajiryan
Saya mencoba untuk menginstal ini di komputer lain (12.10 64bit), dan saya mengalami kesalahan lain, dan ini memperbaikinya: bit.ly/X7nvJ5 . Hanya ingin membagikannya di sini, jika ada orang lain yang mengalami masalah
Jeggy
Sungguh jawaban yang luar biasa. Ini bekerja dengan baik di Ubuntu 14.10 64-bit. Saya berharap saya bisa lebih baik daripada sekali ... FYI, saya juga harus melakukan sudo apt-get install libssl0.9.8:i386selainlibportaudio2:i386
friederbluemle
Ini bekerja dengan sempurna dalam 14,04
caisara
1

Saya mencoba sesuatu dan berhasil!

  1. Saya menyalin "/ opt / GuitarPro6" di suatu tempat.

  2. Saya lakukan sudo apt-get -f installuntuk menghapus Guitar Pro.

  3. Saya menyalin kembali folder itu /opt/GuitarPro6dan mengganti semua yang ada di sana.

  4. Saya menginstal lebih banyak paket sebagai berikut:

    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. Saya mengunduh gambar ini ikon GuitarPro dan menyimpannya /opt/GuitarPro6/icon.pngsehingga saya dapat memiliki gambar untuk membuat .desktopfile saya sendiri .

  6. Saya membuat .desktopfile dengan 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
    

    Saya menyimpan file ini /usr/share/applicationsdengan nama GuitarPro6.desktop.

Sekarang semuanya berfungsi dan saya dapat menemukan Guitar Pro di dasbor.

Jeggy
sumber
1
Itu solusi yang mengerikan.
tgm4883
1
Solusi apa yang lebih baik di sana? Saya sudah mencoba semua yang lain telah menjawab. apakah kamu tahu yang lebih baik? dan yang ini benar-benar berfungsi dengan baik.
Jeggy
Anda telah menginstal semua dependensi Guitar Pro?
tgm4883
nah sekarang saya melakukan ini 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. dan itu berfungsi dengan baik.
Jeggy
Di masa depan, Anda tidak harus berlari sudo gedit. Anda harus menggunakan gksu geditatau gksudo geditsebagai gantinya. Menjalankan program grafis rootmenggunakan plain sudo, ketika aplikasi memiliki file konfigurasi per-pengguna, dapat mengacaukan program tersebut untuk non- rootpengguna .
Eliah Kagan
1

Saya juga telah berjuang dengan ini selama beberapa hari terakhir. Saya telah menemukan cara terbaik adalah menggunakan executable Windows di bawah anggur. Tampak jauh lebih solid.

mk444
sumber
0

Untuk menjawab pertanyaan Anda, untuk berhenti apt-get -f installmenghapus perangkat lunak, Anda perlu menambahkan --no-removeperintah yang Anda jalankan. Ini akan segera membatalkan apt-get run jika sesuatu akan dihapus dan perangkat lunak Anda tidak akan dihapus.

Namun, apa yang mungkin Anda cari adalah cara agar sistem berjalan secara normal, namun juga menginstal perangkat lunak itu. Yang perlu Anda lakukan adalah melihat output dari saat Anda memaksa instalasi paket dengan dpkg, dan lihat apa yang gagal, kemudian instal dependensi itu menggunakan

apt-get install package-name

Dalam kasus Anda, ini adalah gksu (khususnya, gksu). Sekarang Anda mungkin menemukan bahwa ketika Anda mencoba untuk menginstal gksu yang memiliki dependensi juga yang perlu diinstal. Karena Anda memaksa instalasi paket 32-bit, Anda harus menginstal dependensi ini secara manual menggunakan perintah yang sama di atas.

tgm4883
sumber
0

Saya cukup menginstal gp6 di LinuxMint 14 32-Bit, menjalankan updater dan memperbaiki masalah dengan zlib dengan menyalin zlib.so1.2.27 ke / opt / GuitarPro, mengubah nama menjadi zlib.so.1, menginstal gksu dan dependensinya, menjalankan pembaru lagi untuk membawa semua yang terbaru. Setelah itu saya menghubungkan Linux 64-bit saya ke Linux 3s-Bit melalui fish: // username @ mymachineIP / opt in Dolphin dan menyalin seluruh dir GuitarPro6 ke direktori home saya di Linux 64-Bit dan dari sana ke / opt. Bekerja

Michael Bergmann
sumber
-2

Coba ini:

Unduh dari http://www6.guitar-pro.com/en/index.php?pg=download file .deb tetapi jangan instal.

Unduh dan instal getlibs Kemudian:

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

Akhirnya, luncurkan dengan (abaikan kesalahan):

/opt/GuitarPro6/gp-launcher.sh
melati
sumber
Itu tidak bekerja lebih baik daripada yang saya lakukan sebelumnya :(
Jeggy