Dlaczego jest tak wiele 32-bitowych zależności dla Skype?


16

Podczas instalowania Skype'a, czy to przez uruchomienie (po włączeniu repozytorium partnera):

sudo apt-get install skype

Lub instalując go z .debpliku otrzymanego ze strony Skype. Zawsze uważam, że zawsze trzeba zainstalować dużą liczbę 32-bitowych zależności:

  gstreamer1.0-plugins-base:i386 libasound2:i386 libasound2-plugins:i386
  libasyncns0:i386 libaudio2:i386 libavahi-client3:i386
  libavahi-common-data:i386 libavahi-common3:i386 libcdparanoia0:i386
  libcups2:i386 libdbus-1-3:i386 libdbusmenu-qt2:i386 libflac8:i386
  libfontconfig1:i386 libfreetype6:i386 libglib2.0-0:i386 libglu1-mesa:i386
  libgmp10:i386 libgnutls-deb0-28:i386 libgssapi-krb5-2:i386
  libgstreamer-plugins-base1.0-0:i386 libgstreamer1.0-0:i386 libhogweed4:i386
  libice6:i386 libicu55:i386 libjack-jackd2-0:i386 libjbig0:i386
  libjpeg-turbo8:i386 libjpeg8:i386 libjson-c2:i386 libk5crypto3:i386
  libkeyutils1:i386 libkrb5-3:i386 libkrb5support0:i386 liblcms2-2:i386
  libmng2:i386 libmysqlclient18:i386 libnettle6:i386 libogg0:i386
  liborc-0.4-0:i386 libp11-kit0:i386 libpng12-0:i386 libpulse0:i386
  libqt4-dbus:i386 libqt4-declarative:i386 libqt4-network:i386
  libqt4-opengl:i386 libqt4-script:i386 libqt4-sql:i386 libqt4-sql-mysql:i386
  libqt4-xml:i386 libqt4-xmlpatterns:i386 libqtcore4:i386 libqtdbus4:i386
  libqtgui4:i386 libqtwebkit4:i386 libsamplerate0:i386 libsm6:i386
  libsndfile1:i386 libspeexdsp1:i386 libsqlite3-0:i386 libssl1.0.0:i386
  libtasn1-6:i386 libtheora0:i386 libtiff5:i386 libvisual-0.4-0:i386
  libvisual-0.4-plugins:i386 libvorbis0a:i386 libvorbisenc2:i386 libwrap0:i386
  libxi6:i386 libxml2:i386 libxrender1:i386 libxslt1.1:i386 libxss1:i386
  libxt6:i386 libxv1:i386 skype-bin:i386 sni-qt:i386

Dlaczego to? Korzystam z 64-bitowego systemu Ubuntu GNOME 15.10 z GNOME 3.18.


1
Skype jest aplikacją wielowątkową zamiast dedykowanych 64-bitowych plików binarnych.
miska do zupy

Odpowiedzi:


44

Skype jest aplikacją 32-bitową, a aplikacje 32-bitowe potrzebują bibliotek 32-bitowych.

Jeśli aplikacja potrzebuje wielu bibliotek i jest to wersja 32-bitowa, to oczywiście potrzebuje wielu bibliotek 32-bitowych.


28

Ponieważ twój system jest systemem 64-bitowym i domyślnie prawie nie ma zainstalowanych 32-bitowych pakietów / bibliotek .

W systemie 64-bitowym pakiety 32-bitowe, w przeciwieństwie do pakietów 64-bitowych, mogą korzystać tylko z kilku już zainstalowanych pakietów / bibliotek: tych domyślnie instalowanych i instalowanych ręcznie .

W systemie 64-bitowym domyślnie instalowana jest 64-bitowa wersja prawie wszystkich tych pakietów / bibliotek.

Jeśli chcesz uzyskać proofy, porównaj listę pakietów do zainstalowania z listą pakietów zainstalowanych w systemie w sposób niezależny od architektury ( dpkg-query -f '${Binary:package}\n' -Wwyświetla listę wszystkich pakietów zainstalowanych w systemie; sed -n '/:i386/!s/:amd64//p'drukuje tylko linie nie kończące się :i386i usuwa ciąg, :amd64jeśli present; „lista” zawiera listę pakietów w pytaniu bez końcowego :i386):

% comm -13 <(dpkg-query -f '${Binary:package}\n' -W | sed -n '/:i386/!s/:amd64//p' | sort) <(sort list)

Zobaczysz, że agnostyczna lista pakietów do zainstalowania (tj . Lista pakietów, których jeszcze nie zainstalowałeś w wersji 32-bitowej / 64-bitowej ) zmniejszy się do czegoś podobnego do tego:

libdbusmenu-qt2
libqt4-opengl
libqtwebkit4
skype-bin
sni-qt

1

Prostszą odpowiedzią jest to, że Linux Skype został napisany jakiś czas temu i jest obecnie utrzymywany, a nie przepisywany. W pewnym momencie w przyszłości pozostanie niewielu użytkowników 32-bitowych lub nie będzie ich wcale, w tym momencie mogą przepisać.

Dłuższy widok jest taki, że możesz dość łatwo dodać 32-bitowe biblioteki lib do swojego systemu i uruchomić aplikację 32-bitową, podczas gdy użytkownik 32-bitowy nie może wykonać odwrotnej czynności, więc Microsoft stworzył Skype 32-bitowy od końca do końca zamiast dwóch wydań.


5
To wcale nie jest poprawne. To nie są faktyczne fakty i chciałbym wiedzieć, skąd masz źródła.
David

1
@PeterCordes: Мicrosoft Corporation kupił Skype Technologies w 2011 roku.
BartekChom

3
@BartekChom: dzięki za korektę, ponowne opublikowanie edytowanego komentarza: Tak, wersje Skype są denerwująco 32-bitowe tylko dlatego, że nie poświęcają czasu na tworzenie wersji 64-bitowej. Nie dzieje się tak dlatego, że port Linux jest obywatelem drugiej kategorii, ponieważ nie mają nawet 64-bitowej wersji systemu Windows. Prawdopodobnie ich baza kodów nie jest czysta na 64 bity lub mają one ręcznie dostrojony asm, którego nie chcą przenosić na 64 bity. A może ich struktury danych używają wielu wskaźników, więc wersja 64-bitowa byłaby wolniejsza. A może wersja 64-bitowa byłaby dobra, ale są do bani i nie stworzą żadnej.
Peter Cordes,

2
@David Cole: „Obecna” wersja Linuksa Skype'a jest 4.3 i została ostatnio zaktualizowana w czerwcu 2014 roku. Klienci Windows i OSX są teraz w wersji 7.X, a nie 4.X. Wydaje mi się, że to w pełni słuszne nazywać to „utrzymywanym”, a nie „aktywnie rozwijanym”. Nowe ogłoszenia o nadchodzących funkcjach rutynowo wspominają o wsparciu dla Windows i OSX, ale nie wspominają o Linuksie (ponieważ większość ostatnich funkcji nie została dodana do klienta Skype na Linuksa. Podaj bardziej szczegółowe informacje na temat tego, co nie jest poprawne, czy też nie „faktyczny fakt” „.
Wykuć
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.