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을 별도로 다운로드하여 다른 디렉터리에 배치합니다. 나는 데비안을 사용하고 있으므로 안정 패키지를 다음에서 얻었습니다.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

이제 모든 소프트웨어를 설치할 수 있습니다.

관련 정보