Làm cách nào để cài đặt một cuộc tranh luận độc quyền 32 bit trên hệ thống 64 bit mà không gây ra vấn đề phụ thuộc?


15

Tôi biết Guitar pro không hỗ trợ 64 bit, nhưng tôi đã làm cho nó hoạt động với lệnh này

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

Và ngay cả sau khi tôi gặp lỗi đó, chương trình vẫn hoạt động tốt và cập nhật và thêm PPA vào hệ thống vẫn hoạt động tốt, nhưng khi tôi đang cố gắng cài đặt một số phần mềm khác thì tôi gặp lỗi này:

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

Và bất cứ khi nào tôi viết "apt-get -f install" tôi sẽ nhận được

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

Và bây giờ Guitar Pro đã bị xóa.
Làm cách nào tôi có thể cài đặt Guitar Pro mà vẫn có thể cài đặt phần mềm khác sau đó?

Câu trả lời:


30

Cảnh báo:

Các cuộc tranh luận GuitarPro được đóng gói nguy hiểm!

  • Trên hệ thống 64 bit, nếu bạn apt-get -f installsau khi thử cài đặt nó, apt-getsẽ muốn xóa các gói quan trọng của hệ thống sau , có thể làm hỏng cài đặt Ubuntu của bạn!

    Các gói sau sẽ được KHẮC PHỤC :
     gksu guitarpro6: i386 libgksu2-0 libpam-gnome-keyring  sudo ub Ubuntu-desktop
    ubfox-tối thiểu trình quản lý cập nhật-trình quản lý cập nhật xauth xinit  xorg
  • sudo ? quản lý cập nhật ?? X! Các nhà phát triển đang nghĩ gì?! Nó cũng làm cho apt-getmột loạt các gói i386 được cài đặt khi không có gói nào. Đây là pastebin đầy đủ.


Cài đặt GuitarPro một cách an toàn mà không apt-getmuốn gỡ bỏ nó

  • Tôi tin rằng hành vi trên xuất phát từ sự phụ thuộc ngu ngốc của cuộc tranh luận gksu:i386(đó là gói độ cao gốc đồ họa)
  • Thật không may, cách an toàn duy nhất để cài đặt cái này không phải đối phó với apt-getrên rỉ là cài đặt thủ công và các phụ thuộc của nó. Đây là cách thực hiện:

Cách kiểm tra thủ công và cài đặt một cách an toàn một cuộc tranh luận i386 nhị phân với các phụ thuộc của nó

  • Đầu tiên, loại bỏ gói được cài đặt một nửa hiện tại với sudo dpkg --remove guitarpro:i386
  • Bây giờ, thay đổi thư mục lưu trữ tệp deb của bạn. Để dễ dàng nhập, hãy tạo một liên kết tượng trưng ngắn - cuộc gọi của tôi được gọi gp6-full-linux-demo-r11100.deb, bạn có thể khác:
    • ln -s gp6-full-linux-demo-r11100.deb gp6.deb

1. Kiểm tra kiến ​​trúc và sự phụ thuộc của Deb

Đầu tiên, chúng tôi kiểm tra các phụ thuộc của deb mà không cần cài đặt nó.

  • dpkg-deb -I gp6.deb cho chúng tôi thấy:

     gói debian mới, phiên bản 2.0.
    kích thước 172147458 byte: control archive = 75020 byte.
     375 byte, 10 dòng điều khiển 
    335109 byte, 2770 dòng md5sums
    Gói: GuitarPro6 Phiên bản: 6.1.3 Phần: không miễn phí / âm thanh Ưu tiên: tùy chọn Kiến trúc: i386 Phụ thuộc: libc6 (> = 2.1.3), libstdc ++ 6, libasound2, libxml2, libxslt1.1, libportaudio0, libportaudio2, libglu1-mesa, gksu, libssl0.9.8 Kích thước đã cài đặt: 222632 Người bảo trì: Arobas Music Mô tả: http : //www.g Ức-pro.com Guitar Pro 6, Phiên bản Linux.

  • Vì vậy, đây là một ứng dụng i386 và tất cả các phụ thuộc của nó cũng sẽ là i386.

  • Điều đầu tiên cần làm là cài đặt ia32-libsgói tương thích i386, nếu bạn chưa có:
    • sudo apt-get install ia32-libs
  • Sau đó, chúng ta cũng sao chép và dán các phụ thuộc của gói vào tệp văn bản.

2. "Trích xuất" cuộc tranh luận vào kho lưu trữ tar và kiểm tra nội dung của nó

  • Bây giờ chúng ta hãy trích xuất deb vào kho lưu trữ tar để chúng ta có thể kiểm tra nội dung của nó mà không cần phải cài đặt nó:
    • dpkg-deb --fsys-tarfile gp6.deb > gp6.tar
  • Và mở Trình quản lý tệp (Nautilus) và gắn kết gp6.tardưới dạng lưu trữ bằng cách nhấp chuột phải và chọn Mở trong Lưu trữ Lưu trữ ; sau đó bạn sẽ thấy gp6.tarđược thêm vào phía dưới thanh bên trái, với biểu tượng đẩy ra bên cạnh:

    nhập mô tả hình ảnh ở đây

  • Chuyển đến Menu View cho Trình quản lý tệp và thay đổi Thanh bên thành tùy chọn Chế độ xem dạng cây thay vì Địa điểm :

    nhập mô tả hình ảnh ở đây

  • Bây giờ mở rộng gp6.tarcây trong thanh bên bằng cách nhấp vào hình tam giác; lặp lại cho mỗi cấp độ cho đến khi bạn có thể thấy cấu trúc thư mục của tệp:

    nhập mô tả hình ảnh ở đây

  • Từ cấu trúc, chúng tôi thấy rằng các tệp của chương trình đi vào hai vị trí: /opt/usr/share:

    • Bất cứ điều gì đi vào /optlà khép kín và sẽ không ảnh hưởng đến bất kỳ điều gì khác trên hệ thống.
    • Chúng tôi thấy rằng /usr/sharechỉ chứa các biểu tượng / bitmap, vô hại.

3. Nếu an toàn, hãy "cài đặt" chương trình bằng cách giải nén tệp tar

  • Quay trở lại thiết bị đầu cuối và đảm bảo rằng bạn đang ở trong thư mục chứa các tệp deb / tar đã tải xuống. Sau đó gõ:

    sudo tar -C / -xvf gp6.tar
    
  • Điều này sẽ trích xuất các tệp chương trình ở các vị trí thích hợp, hiển thị cho bạn tên và tiến trình của tệp. ( Đầu ra mẫu )

    • Các -Cswitch kể tarđể thực hiện thao tác này tương đối so với thư mục gốc, không phải là thư mục hiện hành.

4. Chỉ ra những phụ thuộc nào bị thiếu ldd, cài đặt chúng và rock-and-roll!

  • Mở /opt/GuitarPro6thư mục trong Trình quản lý tệp:

    nhập mô tả hình ảnh ở đây

    • Chúng tôi thấy rằng tệp thực thi được gọi là GuitarPro (với biểu tượng "bánh răng" kim cương) và cũng có rất nhiều lib-xxxxtệp được bao gồm trong thư mục.
    • Điều này là bình thường đối với các chương trình chỉ nhị phân; họ cố gắng bao gồm các phiên bản của các thư viện cụ thể mà họ cần, vì chúng có thể không có sẵn trong kho của một bản phân phối cụ thể.
  • Cùng với các thư viện và ia32-libsgói bao gồm, hầu hết các phụ thuộc 32 bit đã được cài đặt. Thay vì mù quáng cài đặt các phụ thuộc mà chúng ta đã thấy trong thông tin tệp gỡ lỗi thông qua apt-get- điều này có thể gây ra sự cố-- hãy tìm hiểu xem chúng ta có thực sự thiếu thứ gì không.

    • Quay trở lại thiết bị đầu cuối và thay đổi thư mục GuitarPro với cd /opt/GuitarPro6

Sử dụng ldd

  • Loại ldd GuitarPro | grep foundvà đầu ra sẽ làlibportaudio.so.2 => not found

    • lddin các phần phụ thuộc (thư viện dùng chung) của chương trình và liệu chúng có tồn tại hay không trên hệ thống. Đây là kết quả đầy đủ của GuitarPro.
    • Để làm cho cuộc sống dễ dàng hơn, chúng tôi chỉ cần lọc những cái không tồn tại thông qua grep found.
  • Ở đây, chỉ có thư viện libportaudio2 bị thiếu. Nhưng phụ thuộc nói libportaudio 0 ? (xem bước 1.) Đó là cái gì ??

    • Hãy tìm kiếm các phiên bản có sẵn bằng cách sử dụng apt-cache search libportaudiotừ thiết bị đầu cuối.
    • Điều đó cho chúng tôi biết rằng cả hai libportaudio2libportaudio0gói có sẵn. Trước tiên hãy cài đặt 2 cái , với
      sudo apt-get cài đặt libportaudio2 : i386
    • Các : i386 phần là rất quan trọng , vì chương trình của chúng tôi là 32-bit. Nếu apt-getyêu cầu thay thế / xóa libportaudio2và / hoặc các tệp khác, điều đó không sao, vì một số thư viện không thể được cài đặt đồng thời ở cả phiên bản 32 và 64 bit.
  • Hãy kiểm tra lại các phụ thuộc một lần cuối cùng: không ldd GuitarPro6 | grep foundcho chúng tôi gì cả (đó là những gì chúng tôi muốn!)

    • Nếu bạn gặp lỗi, ./GuitarPro: /opt/GuitarPro6/./libz.so.1: version ZLIB_1.2.3.3 not found (required by /usr/lib/i386-linux-gnu/libxml2.so.2)điều này có nghĩa là Guitar Pro đang sử dụng sai phiên bản libz , hãy khắc phục điều này bằng cách xóa tệp libz.so.1 khỏi thư mục GuitarPro6:
      sudo rm libz.so.1
      Guitar Pro sẽ trở lại phiên bản libz của hệ thống của bạn.
  • Thoát khỏi thiết bị đầu cuối và quay trở lại /opt/GuitarPro6thư mục trong Trình quản lý tệp. Nhấp đúp vào GuitarPro và ...

    nhập mô tả hình ảnh ở đây

  • Dọn dẹp thư mục Tải xuống bằng cách xóa tệp tar khỏi Trình quản lý tệp.

5. Phím tắt launcher đã được thêm vào

  • Vì gói đã chứa một GuitarPro6.desktoplối tắt được trích xuất /usr/share/applications, nên không cần phải tạo thủ công. Nó đang ngồi ở đó trong Trình khởi chạy:

    nhập mô tả hình ảnh ở đây


Vâng, mọi thứ đều ổn, ngoại trừ lần cuối tôi sử dụng ldd GuitarPro6 | grep tìm thấy nó đã cho tôi một phản hồi: ./ideosPro: /opt/ideosPro6/./libz.so.1: phiên bản `ZLIB_1.2.3.3 'không tìm thấy (được yêu cầu bởi / usr / lib / i386-linux-gnu / libxml2 .so.2)
Shahe Tajiryan

Tôi đã cố cài đặt cái này trên một máy tính khác (12.10 64 bit) và tôi gặp phải một lỗi khác và nó đã sửa nó: bit.ly/X7nvJ5 . Chỉ muốn chia sẻ nó ở đây, nếu bất cứ ai khác chạy vào một số vấn đề
Jeggy

Thật là một câu trả lời tuyệt vời. Điều này hoạt động hoàn hảo trên Ubuntu 14.10 64-bit. Tôi ước tôi có thể nâng cao hơn một lần ... FYI, tôi cũng phải làm sudo apt-get install libssl0.9.8:i386ngoàilibportaudio2:i386
Friederbluemle

Nó hoạt động hoàn hảo trong 14.04
caisara

1

Tôi đã thử một cái gì đó và làm cho nó hoạt động!

  1. Tôi đã sao chép "/ opt / GuitarPro6" ở đâu đó.

  2. Tôi đã làm sudo apt-get -f installđể loại bỏ Guitar Pro.

  3. Tôi đã sao chép thư mục trở lại /opt/GuitarPro6và thay thế mọi thứ ở đó.

  4. Tôi đã cài đặt nhiều gói hơn như sau:

    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. Tôi đã tải xuống biểu tượng GuitarPro này và lưu nó vào /opt/GuitarPro6/icon.pngđể tôi có thể có một hình ảnh để tạo .desktoptập tin của riêng mình .

  6. Tôi đã tạo một .desktoptệp với 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
    

    Tôi đã lưu tập tin này vào /usr/share/applicationsvới tên GuitarPro6.desktop.

Bây giờ mọi thứ hoạt động và tôi có thể tìm thấy Guitar Pro trong dấu gạch ngang.


1
Đó là một giải pháp kinh khủng.
tgm4883

1
Giải pháp nào tốt hơn là có? Tôi đã thử tất cả những người khác đã trả lời. bạn có biết cái nào tốt hơn không? và cái này thực sự hoạt động tốt.
Jeggy

Bạn đã cài đặt tất cả các phụ thuộc của Guitar Pro?
tgm4883

tốt bây giờ tôi đã làm điều này 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. và nó hoạt động tốt như vậy.
Jeggy

Trong tương lai, bạn không nên chạy sudo gedit. Bạn nên sử dụng gksu gedithoặc gksudo geditthay thế. Chạy các chương trình đồ họa như rootsử dụng đơn giản sudo, khi ứng dụng có tệp cấu hình cho mỗi người dùng, có thể gây rối cho các chương trình đó cho rootngười dùng không sử dụng .
Eliah Kagan

1

Tôi cũng đã phải vật lộn với điều này trong vài ngày qua. Tôi đã tìm thấy cách tốt nhất là sử dụng Windows thực thi dưới rượu. Có vẻ vững chắc hơn rất nhiều.


0

Để trả lời câu hỏi của bạn, để ngăn chặn apt-get -f installviệc xóa phần mềm, bạn cần thêm --no-removevào lệnh bạn chạy. Điều này sẽ ngay lập tức hủy bỏ chạy apt-get nếu một cái gì đó bị xóa và phần mềm của bạn sẽ không bị xóa.

Tuy nhiên, những gì bạn có thể đang tìm kiếm là một cách để hệ thống chạy bình thường, nhưng cũng đã cài đặt phần mềm đó. Những gì bạn sẽ cần làm là xem xét đầu ra từ khi bạn buộc cài đặt gói với dpkg và xem nó đang bị lỗi gì, sau đó cài đặt phụ thuộc đó bằng cách sử dụng

apt-get install package-name

Trong trường hợp của bạn, đó là gksu (cụ thể là gksu). Bây giờ bạn có thể thấy rằng khi bạn cố gắng cài đặt gksu thì nó cũng có phần phụ thuộc cần phải được cài đặt. Vì bạn đang buộc cài đặt gói 32 bit, bạn sẽ cần cài đặt thủ công các phụ thuộc này bằng cách sử dụng cùng một lệnh ở trên.


0

Tôi chỉ đơn giản cài đặt gp6 trong LinuxMint 14 32-Bit, chạy cập nhật và khắc phục các sự cố với zlib bằng cách sao chép zlib.so1.2.27 sang / opt / GuitarPro, đổi tên thành zlib.so.1, cài đặt gksu và các phụ thuộc của nó, chạy lại trình cập nhật để mang đến tất cả các cập nhật. Sau đó, tôi đã kết nối Linux 64 bit của mình với Linux 3s-bit qua cá: // username @ mymachineIP / opt in Dolphin và sao chép toàn bộ thư mục GuitarPro6 vào thư mục nhà của tôi trên Linux 64-bit và từ đó sang / opt. Làm.


-2

Thử đi:

Tải xuống từ http: //www6.g Ức-pro.com/en/index.php?pg=dải xuống tệp .deb nhưng không cài đặt nó.

Tải xuống và cài đặt getlibs Sau đó:

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

Cuối cùng, khởi chạy nó với (bỏ qua lỗi):

/opt/GuitarPro6/gp-launcher.sh

Điều đó đã không làm việc tốt hơn tôi đã làm trước đây :(
Jeggy
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.