내 Debian 10 안정 서버에 최신 버전을 설치하고 싶어서 clone
첫 번째 댓글의 튜토리얼을 따르기 시작했습니다.이 게시물.
그런 다음 (메모리에서) 내 서버에서 다음과 같은 작업을 실행했습니다.
sudo apt-get install libaspell15/testing libgstreamer-plugins-base1.0-0/testing...
...그리고 이러한 패키지에 대한 일부 필수 종속성도 있습니다.
하지만 설치한 후에는 sudo
더 이상 사용할 수 없으며, 서버에서 로그아웃한 후에는 SSH를 사용하여 다시 연결할 수 없습니다.
> ssh -p 2222 [email protected]
kex_exchange_identification: read: Connection reset by peer
Connection reset by 163.***.**.227 port 2222
그래서 저는 완전히 막혔습니다. 저(그리고 다른 사람들)는 개인적이고 업무적인 목적으로 이 서버에 의존합니다... (저는 이 서버에서 다중 사용자 Nextcloud를 호스팅합니다...) 그들이 되돌릴 수 없는 일을 하였습니까? 그렇지 않으면 이 문제를 어떻게 해결할 수 있습니까?
감사해요!
답변1
Debian 10 libc6
에는 버전 2.28-10+deb10u2가 있지만 현재 패키지는 버전 2.34 이상 testing
에 따라 다릅니다 . libc6
따라서 귀하의 시도가 libc 버전 업데이트를 트리거한 것 같습니다.이것Linux 설치에 대해 수행할 수 있는 가장 기본적인 업데이트입니다.
시스템의 두 가지 주요 버전이 오래되었다는 사실을 알고 계셨습니까? 현재 stable
Debian 12는 testing
결국 Debian 13이 될 것입니다. 설치하려는 소프트웨어는 다음과 같습니다.세 가지 주요 버전현재 시스템 상태보다 최신입니다.
당신이 한 일은 되돌릴 수 없는 것은 아니지만 확실히 되돌리기는 쉽지 않습니다. 복구를 시작하려면 외부 미디어(물리적 서버인 경우)에서 부팅하거나 실패한 서버의 시스템 디스크를 다른 가상 머신(가상 머신/클라우드 서버인 경우)에 두 번째 디스크로 마운트해야 할 가능성이 높습니다. 좋은 백업 전략이 있는 경우 오류 이전 백업에서 전체 복원이 더 빨라질 수 있습니다.
오류가 발생한 시스템의 시스템 디스크에 액세스한 후 첫 번째 단계는 <failed system mount point>/var/log/dpkg.log
업데이트된 각 패키지와 이전에 설치된 정확한 이전 버전을 읽고 식별하는 것 입니다 grep upgrade <failed system mount point>/var/log/dpkg.log
.
업데이트가 실패하기 전에 존재했던 정확한 패키지 버전을 알고 나면 패키지 검색 기능 등을 사용하여 해당 패키지를 다운로드하십시오.https://www.debian.org/distrib/packages. 업데이트가 실패하기 전에 정확한 버전을 찾을 수 없다면 Debian 10 "buster"의 최신 패키지 버전을 선택하세요.
첫 번째 목표는 "테스트"에서 새 패키지를 제거한 다음 실수로 주요 버전으로 업그레이드된 라이브러리 패키지를 다운그레이드하는 것입니다. 복구 운영 체제도 Debian/Ubuntu인 경우 유사한 명령이 dpkg --force-downgrade --root=<failed system mount point> <package files that need to be downgraded>
가장 간단한 방법일 수 있습니다.
복구 운영 체제에 가 없으면 dpkg
패키지를 수동으로 추출해야 할 수도 있습니다. 절차는 다음과 같습니다.
cd <directory containing the *.deb files for downgrade>
ar x <something>.deb
cd <failed system mount point>
tar xvf <deb file directory>/data.tar.*z
수동 추출은 최소한 단일 사용자 모드에서 시스템이 자체적으로 실행될 수 있도록 기본 라이브러리를 제자리로 되돌리는 매우 무차별적인 방법입니다. 이렇게 하면 패키지 관리에서는 업그레이드된 버전이 아직 설치되어 있다고 "생각"하므로 도구를 사용할 수 있게 되자마자 다음 두 가지 이유로 표준 패키지 관리 도구를 사용하여 패키지를 다운그레이드해야 합니다.
- 패키지 관리자의 데이터베이스가 실제 설치된 파일과 일치하도록 만듭니다.
- 실패한 업그레이드에 속한 모든 파일이 삭제되어 추가 충돌이 발생하지 않도록 합니다.