libnss3アップデートダウングレードの問題

libnss3アップデートダウングレードの問題

libnss3UpworkソフトウェアをインストールできるようにUbuntuをダウングレードしました。このソフトウェアを正常にインストールしました。ただし、ダウングレード後はシステムに他のソフトウェアをインストールすることはできません。

次のエラーが発生します。

Check if you are using third party repositories. If so disable them, since they are a common source of problems.
Furthermore run the following command in a Terminal: apt-get install -f            The following packages have unmet dependencies: 

 aptitude: Depends: libapt-pkg4.12 (>= 0.8.16~exp12ubuntu6) but 1.0.1ubuntu2.11 is installed

Depends: libboost-iostreams1.46.1 (>= 1.46.1-1) but it is not installed

      Depends: libc6 (>= 2.4) but 2.19-0ubuntu6.7 is installed
      Depends: libcwidget3 but it is not installed
      Depends: libept1.4.12 but it is not installed
      Depends: libgcc1 (>= 1:4.1.1) but 1:4.9.3-0ubuntu4 is installed
      Depends: libncursesw5 (>= 5.6+20070908) but 5.9+20140118-1ubuntu1 is installed
      Depends: libsigc++-2.0-0c2a (>= 2.0.2) but 2.2.10-0.2ubuntu2 is                installed
      Depends: libsqlite3-0 (>= 3.6.5) but 3.8.2-1ubuntu2.1 is installed
      Depends: libstdc++6 (>= 4.6) but 4.8.4-2ubuntu1~14.04.1 is installed
libnss3-nssdb: Depends: libnss3 (= 2:3.21-0ubuntu0.14.04.2) but 2:3.19.2-1ubuntu1 is installed

答え1

ノート:これは、古い、置き換えられた、または奇妙なライブラリを必要とするすべてのアプリケーションに関する一般的なアドバイスです。 libnss3ライブラリとupworkアプリケーションが良い例です。

1. システムを修理する

いいですね。まず、行った操作をキャンセルしてください。適切なピンを使用した場合はそれを削除し(libnss3の場合)、次のようにします。

apt-get install libnss3
aptitude update; aptitude safe-upgrade

次に、最新バージョンがインストールされていることを確認します。

apt-cache policy libnss3

または

dpkg-query -l libnss3

いいですね。システムが再び動作状態に戻った。

2.仕事を上手にしなさい

次に、upworkアプリケーションを実行してみてください。まず、古いバージョンのlibnss3を別々にダウンロードして別のディレクトリに配置します。私はDebianを使用しているので、安定したパッケージを次から入手しました。https://packages.debian.org/jessie/libnss3。そのライブラリの場所は/usr/local/lib/someDir/にあります。 libnss3_3.17.2-1.1+deb8u2_i386.deb(例えば)ファイルがこのディレクトリまたは一時ディレクトリにある場合は、ここで内容を抽出します。

dpkg-deb -x libnss3_3.17.2-1.1+deb8u2_i386.deb

libnss3ライブラリを/usr/local/lib/someDir/に移動します。

mv <extractDir>/usr/lib/i386-linux-gnu/nss/*    /usr/local/lib/someDir/

これはおそらく

mv /usr/local/lib/someDir/usr/lib/i386-linux-gnu/nss/*   /usr/local/lib/someDir/

これで、別のディレクトリにダウングレードされたライブラリがあります。これで、upworkアプリケーションがこれらのライブラリを使用できるようにするだけです。

export LD_LIBRARY_NAME=/usr/local/lib/someDir:$LD_LIBRARY_NAME
upwork

より良い解決策は、/usr/local/bin/upworkという名前の短いスクリプトを作成し(たとえば、まったく同じ名前)、/usr/local/bin/がPATHの$にあることを確認することです。今後/usr/bin。この短いスクリプトには以下が含まれます。

export LD_LIBRARY_PATH=/usr/local/lib/someDir:$LD_LIBRARY_PATH
/usr/bin/upwork 2 >& 1  &

スクリプトを実行可能にする

chmod 755 /usr/local/bin/upwork

あなたのアップグレードアプリケーションはこれらのダウングレードされたlibnss3ライブラリを使用します。

答え2

はい、多くの検索の最後に解決しました。 dpkgフォルダにはlock.txtというファイルがあります。ファイルとdpkgフォルダの権限を変更しました。だから私は走る

apt-get install -f

これで、すべてのソフトウェアをインストールできます。

関連情報