Чому стільки 32-бітових залежностей для Skype?


16

Встановлюючи Skype, будь то запуск (після ввімкнення партнерського сховища):

sudo apt-get install skype

Або встановити його з .debфайлу, який ви отримуєте з веб-сайту Skype. Я завжди вважаю, що завжди потрібно встановити велику кількість 32-бітних залежностей:

  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

Чому це? У мене працює 64-розрядний Ubuntu GNOME 15.10 з GNOME 3.18.


1
Skype - це мультиархівне додаток, а не виділення 64-бітних бінарних файлів.
миска для супу

Відповіді:


44

Skype - це 32-розрядний додаток, а 32-розрядні програми потребують 32-бітних бібліотек.

Якщо програмі потрібно багато бібліотек, а вона є 32-розрядною, вона, очевидно, потребує багатьох 32-бітних бібліотек.


28

Оскільки у вашій системі 64-бітна система і майже не встановлено 32-бітних пакетів / бібліотек, встановлених за замовчуванням .

У 64-бітній системі 32-бітні пакети, проти 64-бітових пакетів, можуть скористатися лише кількома вже встановленими пакетами / бібліотеками: тими, які встановлені за замовчуванням, і тими, що встановлені вручну .

У 64-бітній системі 64-розрядна версія майже всіх цих пакетів / бібліотек встановлена ​​за замовчуванням.

Якщо ви хочете підтвердження, порівняйте список пакунків, які потрібно встановити, зі списком пакунків, встановлених у вашій системі, архітектурно-агностичним способом ( dpkg-query -f '${Binary:package}\n' -Wперелічує всі пакунки, встановлені у вашій системі; sed -n '/:i386/!s/:amd64//p'друкує лише рядки, які не закінчуються, :i386і видаляє затримку, :amd64якщо присутній; "список" містить список пакунків у вашому запитанні без останнього :i386):

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

Ви побачите, що архітектурно-агностичний список пакунків, які потрібно встановити (тобто список пакунків, які ви ще не встановили в їх 32-бітній / 64-бітній версії ), скоротиться до чогось подібного до цього:

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

1

Простішою відповіддю є те, що Linux Skype був написаний досить давно і зараз підтримується, а не переписується. У якийсь момент у майбутньому буде мало або не буде 32-бітних користувачів, і вони можуть переписати в цей момент.

Більш тривалий погляд на те, що ви можете досить легко додати 32-бітові лібри до вашої системи та запустити 32-бітну програму, тоді як 32-бітний користувач не може зробити зворотний результат, тому Microsoft зробила Skype 32bit з кінця в кінець, а не два випуски.


5
Це зовсім не правильно. Це не фактичні факти, і я хотів би знати, де ви взяли свої джерела.
Девід

1
@PeterCordes: Корпорація "Мікрософт" придбала Skype Technologies у 2011 році.
BartekChom

3
@BartekChom: дякую за виправлення, повторну публікацію відредагованого коментаря: Так, випуски Skype дратують 32-бітову бінарну версію, лише тому, що вони не дадуть часу розробникам зробити 64-бітну версію. Це не тому, що порт Linux є громадянином другого класу, це тому, що вони навіть не мають 64-бітної версії Windows. Імовірно, їх кодова база не є 64-бітовою чистою, або вони мають налаштовану вручну ASM, яку вони не хочуть переносити на 64-бітну. А може, їх структури даних використовують багато покажчиків, тому 64-бітова версія буде повільнішою. А може, 64-бітна версія була б хорошою, але вони смокчуть і не зроблять її.
Пітер Кордес

2
@David Cole: "Поточна" версія Linux для Skype становить 4,3 і востаннє оновлена ​​в червні 2014 року. Клієнти Windows та OSX тепер переходять у версію 7.X, а не 4.X. Я вважаю, що цілком справедливо називати це "підтримуваним", а не "активно розвиненим". У нових анонсах майбутніх функцій регулярно згадується підтримка Windows та OSX, але не згадується Linux (оскільки більшість останніх функцій не додано до клієнта Skype Linux. Будьте точнішими щодо того, що не є правильним чи не є "фактичним фактом" ".
Кузня
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.