Raspbian에서 내 아파트를 벽돌로 만들었습니다.

Raspbian에서 내 아파트를 벽돌로 만들었습니다.

Raspbian Buster 설치에서 npm을 업데이트하려고 합니다. 패키지 관리자에서 제공하는 버전이 충분하지 않습니다.

먼저 몇 가지 제안을 따랐습니다.이 스레드그런 다음 다음을 사용하여 Bullseye로 업그레이드해 보십시오.이 지침.

Bullseye로 업그레이드하기 전이나 후에 이것이 시작되었는지는 확실하지 않지만 이제 실행할 때마다 sudo apt install <anything>종속성을 설치할 수 없다는 메시지가 나타납니다. 설치된 패키지를 다시 설치하려고 하면 패키지를 다운로드할 수 없다는 오류가 발생합니다. 다음은 두 가지 예입니다.

% sudo apt install nodejs
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 nodejs : Depends: libnode72 (= 12.22.12~dfsg-1~deb11u4) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
% sudo apt reinstall vim
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reinstallation of vim is not possible, it cannot be downloaded.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

(내가 아는 한) 시스템이 완전히 업데이트되고 업그레이드되었습니다.

% sudo apt update && sudo apt full-upgrade && sudo apt dist-upgrade
Hit:1 http://raspbian.raspberrypi.org/raspbian bullseye InRelease
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

보류 중인 패키지가 없습니다.

% sudo apt-mark showhold
%

인터넷에서 제안된 다양한 수정 사항을 시도했습니다.

% sudo apt --fix-broken install
%

그리고

% sudo dpkg --configure -a
%

결과가 없다. 또한 /etc/apt/sources.list.d의 일부 *.list 파일 이름을 *.list.bak로 바꾸었지만 문제가 시작되고 해결하려고 시도한 후에만 이 작업을 수행했다고 생각합니다.

패키지 관리자를 다시 사용할 수 있도록 복원하려면 어떻게 해야 합니까?

편집하다:

산출apt policy nodejs

% sudo apt policy nodejs
nodejs:
  Installed: (none)
  Candidate: 12.22.12~dfsg-1~deb11u4
  Version table:
     12.22.12~dfsg-1~deb11u4 50
         50 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf Packages

/etc/apt/sources.list의 내용

% cat /etc/apt/sources.list
deb http://raspbian.raspberrypi.org/raspbian/ bullseye main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi

산출uname -m

% uname -m                                                                                                                                                                                                              
armv7l

출력 lsb_release -a:

% lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 10 (buster)
Release:        10
Codename:       buster

주목할 만한 점: 여전히 과녁이 아닌 스포일러로 표시되어 있습니다.

진행 편집: 그래서 위에서 언급했듯이 나는 다음과 같습니다.이 지침npm을 업그레이드하려고 합니다. 나는 이것이 source.list.d에 항목을 추가했다고 생각하는데, 나는 그것을 다시 비활성화했습니다. 이 항목을 다시 활성화하면 을(를) 실행할 수 있습니다 apt install nodejs. 나는 이와 같은 다른 패키지를 sudo apt install cowsay성공적으로 설치하려고 시도했습니다. 그런 다음 새 패키지를 다시 설치해 보았지만 sudo apt reinstall cowsay성공했습니다. 이전에 설치한 패키지를 다시 설치하려는 시도는 패키지를 다운로드할 수 없다는 메시지와 함께 계속 실패했습니다. 그러나 패키지를 수동으로 제거하고 다시 설치하면 성공했습니다 sudo apt remove nano && sudo apt install nano. 이제 수동으로 제거한 후 다시 설치하면 성공합니다 sudo apt reinstall nano.

그러나 추가 패키지를 설치하려는 시도는 여전히 실패합니다. 예를 들어, 긴 종속성 목록 node-*(방금 수동으로 설치한 Nodejs 포함)으로 인해 npm 설치에 실패했습니다. 또한 aptitude(손상된 apt 시스템을 복원할 수 있는 일부 소스에서 권장됨) 등을 설치하려는 시도가 실패했습니다.

% sudo apt install aptitude
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 aptitude : Depends: libapt-pkg6.0 (>= 1.9.0) but it is not going to be installed
            Depends: libstdc++6 (>= 9) but 8.3.0-6+rpi1 is to be installed
            Depends: libxapian30 (>= 1.4.17~) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

따라서 Nodejs를 설치할 수 있게 되면서 약간의 진전을 이루었지만 여전히 위기에서 벗어난 것은 아닙니다.

답변1

다양한 저장소와 URL은 어떻게 다릅니까?

아마도 최신 Pi에 이미 Raspberry Pi OS 64비트가 설치되어 있을 것입니다. Raspbian 대신 표준 Debian ARM64 저장소를 사용합니다. 펌웨어는 여전히 Raspberry Pi Ltd.에서 제공되며 32/64비트 소스는 동일합니다.

이 시도:

deb http://archive.raspberrypi.org/debian/ bullseye main

이것을 확인하세요:

Raspberry Pi를 Bullseye로 업그레이드하세요.

Raspbian 32비트와 64비트 - 매우 다른 적절한 소스 목록

Raspberry PI OS/Debian 11 Bullseye APT 리포지토리

아니면 다음을 시도해 보세요.

/etc/apt/sources.list

deb http://mirrordirector.raspbian.org/raspbian/ bullseye main contrib non-free rpi

/etc/apt/sources.list.d/raspi.list

deb http://archive.raspberrypi.org/debian/ bullseye main

고쳐 쓰다:

apt-get update

apt-get dist-upgrade

청소 및 제거:

apt-get autoremove

apt-get autoclean

편집/업데이트:

  1. 백업 /etc/apt//var/lib/apt/lists/

  2. 편집 목록 항목 삭제 또는 이동

mv /etc/apt/sources.list.d/MY_FILES.list /BACKUP/

  1. 기존 패키지 목록 삭제 및 패키지 캐시 지우기

rm -rf /var/lib/apt/lists/*

apt clean

  1. sources.list백업에서 원래 버전을 복원하거나 기본값으로 버전을 생성하세요.sources.list

cp /usr/share/doc/apt/examples/sources.list /etc/apt/sources.list

  1. 고쳐 쓰다

apt update

  1. 기본 패키지 다시 설치

apt --reinstall install raspberrypi-sys-mods raspberrypi-kernel raspberrypi-bootloader

시스템을 광범위하게 변경한 경우 운영 체제를 다시 설치해야 할 수도 있습니다.

관련 정보