어리석은 질문일지도 모르지만, 오늘 원격 서버가 오랫동안 다운되었습니다. 다시 작동했을 때 Debian Buster(안정)에서 Bullseye(테스트)로의 시스템 업그레이드로 인해 중단이 발생했다는 것을 깨달았습니다.
저는 이 서버의 유일한 수퍼유저이고 한동안 어떤 종류의 업데이트도 예약하지 않았기 때문에 약간 혼란스럽습니다. 저는 프로덕션 머신에서 테스트하지도 않고 OS 버전을 자동으로 업그레이드하도록 시스템을 의도적으로 설정하지도 않습니다. 나는 정기적으로 apt를 사용하여 개별 패키지를 업데이트하고 업그레이드하지만 정식 버전 업그레이드를 요구하지는 않습니다.
이를 트리거하기 위해 수행했을 수 있는 명백한 구성 설정이 있습니까? 예를 들어 실수로 적절한 소스를 변경하는 등의 작업이 있습니까? 더 이상 놀라운 업데이트를 원하지 않습니다. (가치가 있는 것은 헤드리스 Minecraft 서버이며 사람들이 플레이하고 싶을 때 다운타임이 끔찍하다는 것입니다.)
답변1
두 가지 원인이 있을 수 있습니다. 다음을 사용하여 알아낼 수 있습니다.
cat /etc/apt/sources.list /etc/apt/sources.list.d/*
- 패키지 대체 코드 사용:
(1) deb http://ftp.debian.org/debian/ buster main
(2) deb http://ftp.debian.org/debian/ stable main
Line (1)
과 (2)
today는 동일하지만 항상 동일하지는 않습니다. 언젠가는 stable
가리킬 것입니다 bullseye
. 이런 일이 발생하면 귀하의 컴퓨터도 자동으로 변경됩니다. 제어하려면 codename 을 사용하세요 buster
. 스위트룸을 확인해 보세요 testing
. 2019년 7월 6일 buster
에 변경되었습니다 bullseye
.
- 다중 배포:
(1) deb http://ftp.debian.org/debian/ buster main
(2) deb http://ftp.debian.org/debian/ bullseye main
(3) deb http://ftp.debian.org/debian/ testing main
위와 같은 것이 있으면 데비안은 각 패키지의 여러 버전을 볼 수 있습니다. 에서 우선 순위를 APT::Default-Release
설정 하거나 명시적으로 수정하지 않은 경우 최신 버전의 패키지가 선택됩니다 ./etc/apt/apt.conf
/etc/apt/preferences.d/
다음 질문은 왜 sources.list
이상한 항목이 있는 걸까요? Bullseye에서만 사용할 수 있는 최신 버전의 패키지를 원했기 때문에 이 줄을 추가했을 것입니다. 이 경우 해당 행을 추가한 apt update
다음 을 추가했을 수 있습니다 apt install -t testing some-package
. 그러나 문제는 해당 행을 제거하고 다른 행을 수행 apt update
하거나 하나를 추가하지 않는 한 APT::Default-Release
으로 업그레이드할 수 있다는 것입니다 testing
.
또 다른 옵션은 타사 소프트웨어입니다. 공식 데비안 아카이브에 없는 소프트웨어의 경우 일반적으로 *.deb
설치 프로그램이 제공됩니다. 업데이트를 받을 수 있도록 *.deb
아카이브에 사용자 정의 콘텐츠가 포함되어 있는 것을 보았습니다 . /etc/apt/sources.list.d/*.list
그들이 "버전이 필요해"라고 말하는 것은 어렵지 않습니다. 엉성할 수도 있지만 불가능하지는 않습니다.
그렇다면 회복하는 방법은 무엇입니까? 이 시점에는 세 가지 옵션이 있습니다.
1: 업그레이드 완료 - 가장 쉽고/빠름
2: 다운그레이드 - 성공 가능성이 가장 낮음/가장 낮음
3: 재설치 - 가장 안정적이고 가동 중지 시간이 가장 적음
도착하다업그레이드 완료, 먼저 분명히 당신의 문제를 해결하십시오 /etc/apt/sources.list[.d/]
.
# Make everything 'bullseye'
sudo sed -i \
-e 's/buster/bullseye/g' \
-e 's/unstable/bullseye/g' \
-e 's/stable/bullseye/g' \
-e 's/testing/bullseye/g' \
-e 's/sid/bullseye/g' \
/etc/apt/sources.list \
/etc/apt/sources.list.d/*
# Upgrade
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo apt --fix-broken install
sudo apt autoremove
upgrade
dist-upgrade
모든 위치가 성공적으로 완료될 때까지 , 사이를 전환합니다 .--fix-broken install
autoremove
apt
도착하다다운그레이드(이것이 실패할 가능성이 높다는 점은 아무리 강조해도 지나치지 않습니다):
먼저 모든 것을 백업하세요. 그런 다음 다음을 만듭니다 /etc/apt/preferences.d/buster
.
Package: *
Pin: release n=buster
Pin-Priority: 1001
그런 다음 1단계에서 했던 것처럼 업그레이드하세요.
sudo sed -i \
-e 's/bullseye/buster/g' \
-e 's/unstable/buster/g' \
-e 's/stable/buster/g' \
-e 's/testing/buster/g' \
-e 's/sid/buster/g' \
/etc/apt/sources.list \
/etc/apt/sources.list.d/*
# Upgrade
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo apt --fix-broken install
sudo apt autoremove
upgrade
dist-upgrade
모든 위치가 성공적으로 완료될 때까지 , 사이를 전환합니다 .--fix-broken install
autoremove
apt
기분 좋으면 삭제하세요/etc/apt/preferences.d/buster
답변2
그 외에도 비슷한 영향을 받는 모든 사람에게 답변이 제공됩니다.
나는 내가 어떻게 불스아이에 빠지게 되었는지 궁금해 머리를 긁적이다가 다음과 같은 사실을 발견했습니다.
deb https://dl.winehq.org/wine-builds/debian/ sid main
deb-src https://dl.winehq.org/wine-builds/debian/ sid main
어쩐지 나는 그것을 멍하니 와인에 첨가하거나 /etc/apt/sources.list
, 와인은 똑같이 멍하니 나에게 동의한다. 특히 표준 와인 빌드를 사용하는 대신 최신 불안정 버전을 사용하여 프로젝트에 대한 특정 사항을 테스트했습니다.