Skype用の最新の "multiarch" .debファイルをダウンロードしましたが、最新バージョンのLMDE(linux mint debianバージョンXfce x86_64)にはインストールできません。例えば
ステップ1:
sudo dpkg -i skype-debian_4.1.0.20-1_i386.deb
出力:
dpkg: dependency problems prevent configuration of skype: skype depends on libqt4-dbus (>= 4:4.5.3). skype depends on libqt4-network (>= 4:4.8.0). skype depends on libqt4-xml (>= 4:4.5.3). skype depends on libqtcore4 (>= 4:4.7.0~beta1). skype depends on libqtgui4 (>= 4:4.8.0). skype depends on libqtwebkit4 (>= 2.1.0~2011week13).
ステップ2(損傷回復の試み):
sudo apt-get install -f Reading package lists... Done Building dependency tree Reading state information... Done Correcting dependencies... Done The following extra packages will be installed: libapache2-mod-php5filter Suggested packages: php-pear The following packages will be REMOVED: libapache2-mod-php5 php5-cli skype:i386 The following NEW packages will be installed: libapache2-mod-php5filter 0 upgraded, 1 newly installed, 3 to remove and 3 not upgraded. 1 not fully installed or removed. Need to get 0 B/2,663 kB of archives. After this operation, 44.9 MB disk space will be freed.
ここで最大の関心事は、LAMP関連ファイルを削除する方法です。たとえば、次のようになります。
The following packages will be REMOVED:
libapache2-mod-php5 php5-cli skype:i386
インストールされている他のアプリケーションに影響を与えずにSkypeをインストールする方法が必要です。
sudo apt-get install -f
依存関係を変更せずに削除するだけです。
誰かがLAMPをそのまま維持しながらSkypeをインストールするためのステップバイステップのコマンドを作成し、ApacheとSkypeがクラッシュする理由を説明できる場合は感謝します。
答え1
1. apt-get -f installで問題が解決しないのはなぜですか?
ある意味、sudo dpkg -i skype-debian_4.1.0.20-1_i386.deb
パッケージは破損した状態でシステムにインストールされており、欠落しているsudo apt-get install -f
依存ライブラリをインストールして、現在破損している設定を解決しようとします。
このアプローチの最大の欠点は、破損したパッケージにapt
未解決の依存関係が必要な場合、このパッケージが問題になって削除されることです。
さらに、破損したパッケージに必要なライブラリとの潜在的な競合を解決するために、他のアプリケーションで必要なパッケージまたは必要なパッケージを破損または削除することがあります。
このようにパッケージをインストールすると問題があります。ある人には効果があるのが、他の人には効果がないかもしれません。その理由は次のとおりです。
- PPAリポジトリの.debsが最新バージョンにアップグレードされ、破損したインストールアプリケーションの問題を解決できなくなりました。
- システムのPPA設定は他のシステムとは若干異なります。
- 32ビットと64ビットのアーキテクチャおよび/または他のアーキテクチャ(ARMとi686など)の違い。
本当にこの方法でインストールしたい場合は、次のいずれかの方法を使用することをお勧めします。
方法 #1 - 手動で
破損したシステムを修正するために必要と思われるパッケージを手動で削除しますが、後で再配置できるようにapt
名前を書き留めます。
sudo apt-get install -f
そのパッケージが削除されると、欠落している.debパッケージが実際にインストールされているように見えるまで再実行しようとしましたskype
。
方法2 - 「保留中」状態のパッケージを元に戻す
本質的に固定されたパッケージのインストールがある可能性があります。これをapt
専門用語として「予約された」状態といいます。次のコマンドを使用して、これがあなたの場合であることを確認できます。
sudo dpkg --get-selections | grep hold
パッケージに「予約済み」ステータスが表示されたら、次のコマンドを使用して「インストール済み」に変更できます。
sudo echo "package_name install"|dpkg --set-selections
それからやり直してくださいinstall -f
。
sudo apt-get install -f
上記の技術は、askubuntuの次のQ&Aにあります。
方法#3 - 適性を活用する
「保留」状態のパッケージがある場合、それを処理するもう1つの方法は、Aptitudeをaptitude
使用する代わりにそのパッケージを解決することです。 Aptitudeは 。apt-get install -f
apt-get
「保留」状態を示すパッケージの場合:
sudo aptitude install <package name>
上記の技術は、次のQ&Aに見られるようにaskubuntuで発見されました。
2. 動的ターボールを使用する別の方法
.debバージョンをインストールしようとせずにskype
ダイナミックバージョン(Skype Webサイトドロップダウンの最後のバージョン)を選択しようとしています。このバージョンはホームディレクトリに配置することもできます/opt/skype
。動的バージョンにはすべてのskype
ソフトウェアが含まれています。
必要なライブラリのパッケージをインストールする必要がありますが、これにより、Apache / PHP設定を変更せずに維持できます。
Dynamic Skype zip パッケージの内容
$ tar jxvf skype-4.1.0.20.tar.bz2
skype-4.1.0.20/
skype-4.1.0.20/third-party_attributions.txt
skype-4.1.0.20/LICENSE
skype-4.1.0.20/lang/
skype-4.1.0.20/lang/skype_es.ts
skype-4.1.0.20/lang/skype_es.qm
skype-4.1.0.20/lang/skype_pl.qm
skype-4.1.0.20/lang/skype_it.ts
skype-4.1.0.20/lang/skype_zh_t.qm
...
...
解凍したら、cdにSkypeディレクトリに移動します。
cd skype-4.1.0.20
次に、そこからSkypeを実行します。
./skype
依存関係が欠落している場合は、起動時にエラーが発生したり、次のコマンドを使用して実行可能ファイルに必要なライブラリを特定したりできますskype
。skype
ldd
$ ldd skype
linux-gate.so.1 => (0xf7751000)
libasound.so.2 => /lib/libasound.so.2 (0xf7621000)
libXv.so.1 => /usr/lib/libXv.so.1 (0xf761c000)
libXss.so.1 => /usr/lib/libXss.so.1 (0xf7619000)
librt.so.1 => /lib/librt.so.1 (0x461b9000)
libdl.so.2 => /lib/libdl.so.2 (0x46076000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x464c0000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x46c1c000)
libQtDBus.so.4 => /usr/lib/libQtDBus.so.4 (0xf75a1000)
libQtWebKit.so.4 => /usr/lib/libQtWebKit.so.4 (0xf622d000)
libQtXml.so.4 => /usr/lib/libQtXml.so.4 (0xf61ec000)
libQtGui.so.4 => /usr/lib/libQtGui.so.4 (0xf5753000)
libQtNetwork.so.4 => /usr/lib/libQtNetwork.so.4 (0xf562c000)
libQtCore.so.4 => /usr/lib/libQtCore.so.4 (0xf5396000)
libpthread.so.0 => /lib/libpthread.so.0 (0x46059000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x4a9d8000)
libm.so.6 => /lib/libm.so.6 (0x4607d000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x4623a000)
libc.so.6 => /lib/libc.so.6 (0x45ecd000)
/lib/ld-linux.so.2 (0x45eac000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x465f9000)
libdbus-1.so.3 => /lib/libdbus-1.so.3 (0x4a98b000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0x4645c000)
libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0xf5301000)
libphonon.so.4 => /usr/lib/libphonon.so.4 (0xf528e000)
libpulse-mainloop-glib.so.0 => /usr/lib/libpulse-mainloop-glib.so.0 (0xf5289000)
libpulse.so.0 => /usr/lib/libpulse.so.0 (0xf5242000)
libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x460a9000)
libXi.so.6 => /usr/lib/libXi.so.6 (0x46bfd000)
libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x46bf3000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x466dc000)
libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x46c34000)
libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x466d7000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x42809000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x42840000)
libgthread-2.0.so.0 => /lib/libgthread-2.0.so.0 (0x461e1000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0x46467000)
libz.so.1 => /lib/libz.so.1 (0x461c4000)
libgobject-2.0.so.0 => /lib/libgobject-2.0.so.0 (0x461e8000)
libSM.so.6 => /usr/lib/libSM.so.6 (0x46e21000)
libICE.so.6 => /usr/lib/libICE.so.6 (0x46e91000)
libssl.so.10 => /usr/lib/libssl.so.10 (0x4e0d3000)
libcrypto.so.10 => /lib/libcrypto.so.10 (0x466e3000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x463e9000)
libqzeitgeist.so.0 => /usr/lib/libqzeitgeist.so.0 (0xf521d000)
libQtTest.so.4 => /usr/lib/libQtTest.so.4 (0xf51f9000)
libpulsecommon-0.9.21.so => /usr/lib/libpulsecommon-0.9.21.so (0xf51a6000)
libXtst.so.6 => /usr/lib/libXtst.so.6 (0xf51a0000)
libwrap.so.0 => /lib/libwrap.so.0 (0xf5197000)
libsndfile.so.1 => /usr/lib/libsndfile.so.1 (0xf5125000)
libasyncns.so.0 => /usr/lib/libasyncns.so.0 (0xf511f000)
libexpat.so.1 => /lib/libexpat.so.1 (0x46619000)
libuuid.so.1 => /lib/libuuid.so.1 (0x46e2b000)
libgssapi_krb5.so.2 => /lib/libgssapi_krb5.so.2 (0x4e08d000)
libkrb5.so.3 => /lib/libkrb5.so.3 (0x4e12d000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x4748f000)
libk5crypto.so.3 => /lib/libk5crypto.so.3 (0x4dfd7000)
libresolv.so.2 => /lib/libresolv.so.2 (0x4627a000)
libnsl.so.1 => /lib/libnsl.so.1 (0xf5102000)
libFLAC.so.8 => /usr/lib/libFLAC.so.8 (0xf50c5000)
libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0xf4f4f000)
libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0xf4f25000)
libogg.so.0 => /usr/lib/libogg.so.0 (0xf4f1f000)
libkrb5support.so.0 => /lib/libkrb5support.so.0 (0x4e0c7000)
libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x47495000)
libselinux.so.1 => /lib/libselinux.so.1 (0x46259000)
上記のリストは少し難しいかもしれませんが、基本的に各ライブラリがインストールされていることを確認するには、繰り返しの方法でこれを見てください。それ以外の場合は、apt-cache search <.so file name>
ライブラリを提供するパッケージを見つけるために使用します。
非オープンソース型プロジェクト(Skypeなど)のバイナリパッケージでは、通常このアプローチを使用する方が簡単だと思います。
特定のバージョンのライブラリが必要な問題が発生した場合は、自分でコンパイルしてそれらにskype
入れることができますskype
。動的ライブラリローダーが通常の場所ではなくその場所からロードするように/opt/libs
環境変数を設定する必要があります。 。LD_LIBRARY_PATH=/opt/libs/lib...
skype
Skype用の静的ビルド
Skypeにはすべてが含まれており、非常に使いやすい静的ビルドを提供しましたが、この記事によると、次のようになります。Skype 4.1用の静的バイナリ?、彼らはこのプロダクトをあきらめることにしたようです。
このスレッドにはDebian 7.0マルチアーキテクチャに問題があるという説明もあります。
最後の文のサポート:Debian 7.0(マルチアーキテクチャ)はamd64では動作しません。