내 컴퓨터/홈 서버에서 매주 수동 업데이트를 실행합니다.
apt update && apt upgrade
명령을 실행하면 많은 패키지가 업데이트됩니다. 나는 그것이 많은 보안 업데이트나 마지막 최종 빌드/푸시와 같은 buster
릴리스(현재 시스템에서 사용하기로 되어 있는)와 관련이 있다고 생각했습니다 .. 아, 내가 틀렸어요. 몇 번 재부팅하고 라이브러리 버전이 일치하지 않아 실행되지 않는 몇 가지 프로그램을 수정한 후 내 컴퓨터에 .stretch
stretch
Debian 10
이것은 정말 이상합니다. 내 출처는 다음과 같이 나타냅니다.
# grep ^ /etc/apt/sources.list /etc/apt/sources.list.d/*
/etc/apt/sources.list:#
/etc/apt/sources.list:
/etc/apt/sources.list:# deb cdrom:[Debian GNU/Linux 9.3.0 _Stretch_ - Official amd64 NETINST 20171209-12:10]/ stretch main
/etc/apt/sources.list:
/etc/apt/sources.list:# deb cdrom:[Debian GNU/Linux 9.3.0 _Stretch_ - Official amd64 NETINST 20171209-12:10]/ stretch main
/etc/apt/sources.list:
/etc/apt/sources.list:deb http://ftp.nl.debian.org/debian/ stretch main non-free
/etc/apt/sources.list:deb-src http://ftp.nl.debian.org/debian/ stretch main non-free
/etc/apt/sources.list:
/etc/apt/sources.list:deb http://security.debian.org/debian-security stretch/updates main non-free
/etc/apt/sources.list:deb-src http://security.debian.org/debian-security stretch/updates main non-free
/etc/apt/sources.list:
/etc/apt/sources.list:# stretch-updates, previously known as 'volatile'
/etc/apt/sources.list:deb http://ftp.nl.debian.org/debian/ stretch-updates main non-free
/etc/apt/sources.list:deb-src http://ftp.nl.debian.org/debian/ stretch-updates main non-free
/etc/apt/sources.list:# deb-src [arch=amd64] https://download.docker.com/linux/debian stretch stable
/etc/apt/sources.list:
/etc/apt/sources.list:deb [arch=amd64] https://download.docker.com/linux/debian stretch stable
/etc/apt/sources.list:# deb-src [arch=amd64] https://download.docker.com/linux/debian stretch stable
/etc/apt/sources.list:
/etc/apt/sources.list:deb http://ftp.nl.debian.org/debian stretch-backports main
/etc/apt/sources.list.d/mono-official-stable.list:deb https://download.mono-project.com/repo/debian stable-stretch main
/etc/apt/sources.list.d/mono-official-stable.list.save:deb https://download.mono-project.com/repo/debian stable-stretch main
/etc/apt/sources.list.d/stable.list:deb http://ftp.nl.debian.org/debian/ stable main contrib non-free
/etc/apt/sources.list.d/stable.list:deb-src http://ftp.nl.debian.org/debian/ stable main contrib non-free
/etc/apt/sources.list.d/stable.list:
/etc/apt/sources.list.d/stable.list:deb http://security.debian.org/ stable/updates main contrib non-free
/etc/apt/sources.list.d/stable.list.save:deb http://ftp.nl.debian.org/debian/ stable main contrib non-free
/etc/apt/sources.list.d/stable.list.save:deb-src http://ftp.nl.debian.org/debian/ stable main contrib non-free
/etc/apt/sources.list.d/stable.list.save:
/etc/apt/sources.list.d/stable.list.save:deb http://security.debian.org/ stable/updates main contrib non-free
/etc/apt/sources.list.d/testing.list:# deb http://ftp.nl.debian.org/debian/ testing main contrib non-free
/etc/apt/sources.list.d/testing.list:# deb-src http://ftp.nl.debian.org/debian/ testing main contrib non-free
/etc/apt/sources.list.d/testing.list:
/etc/apt/sources.list.d/testing.list:# deb http://security.debian.org/ testing/updates main contrib non-free
/etc/apt/sources.list.d/testing.list.save:#deb http://ftp.nl.debian.org/debian/ testing main contrib non-free
/etc/apt/sources.list.d/testing.list.save:#deb-src http://ftp.nl.debian.org/debian/ testing main contrib non-free
/etc/apt/sources.list.d/testing.list.save:
/etc/apt/sources.list.d/testing.list.save:#deb http://security.debian.org/ testing/updates main contrib non-free
내 소스에는 내 설치가 무엇인지 나타내지 않습니다 buster
.stretch
버전이 다음을 가리키는지 확인합니다 10.0
.
# cat /etc/debian_version
10.0
무엇이 잘못되었으며 왜 이런 일이 나에게 일어났습니까? (지난번에도 Jesse가 직장에서 PROD 서버에서 스트레칭을 하고 있었습니다...으, 시간이 안 좋았습니다!) 데비안을 마음대로 새 버전으로 업데이트할 수는 없을 것 같은데요?
또한, 처음부터 시작하지 않고 이 이상한 스파게티 문제를 해결하고 데비안 설치를 풀려면 어떻게 해야 합니까? 내 설치가 stretch
또는 인지는 상관하지 않지만 buster
함께 혼합되는 것을 원하지 않으며 가장 중요한 것은 정기적인 보안 업데이트와 관련하여 새 버전으로 업데이트되는 것을 원하지 않습니다!
답변1
여러 위치에서 동시에 여러 가지 버전이 활성화되어 있습니다.
/etc/apt/sources.list.d/stable.list:deb http://ftp.nl.debian.org/debian/ stable main contrib non-free
이 코드 줄은 stable
최근에 Buster의 패키지를 원했음을 나타냅니다. 이러한 "목적" 태그는 항상 관련 버전을 가리킵니다. oldstable
이제 과녁을 testing
가리킵니다.
/etc/apt/sources.list:deb http://ftp.nl.debian.org/debian/ stretch main non-free
이는 명시적으로 스트레치에서 패키지를 가져오며 새 버전이 나오거나 스트레치가 안정되어도 변경되지 않습니다.
/etc/apt/sources.list.d/mono-official-stable.list:deb https://download.mono-project.com/repo/debian stable-stretch main
/etc/apt/sources.list:deb [arch=amd64] https://download.docker.com/linux/debian stretch stable
이는 특별히 스트레칭용 패키지가 포함된 타사 리포지토리입니다. 이는 메인라인 확장팩에 따라 달라집니다.
일부 버전 불일치는 이러한 혼합으로 인해 발생할 수 있습니다(특히 업그레이드 지침에서는 이 기간 동안 타사 저장소를 비활성화하는 것이 좋습니다). 스트레치 업데이트 및 스트레치 백 이식선~해야 한다안전을 위해 업그레이드를 위해 비활성화할 수도 있습니다. 파괴 상태에 들어가면 더 이상 효과가 없습니다.
일반적으로 이러한 업그레이드를 특별히 원하지 않는 경우 모든 source.list 항목에 분기 레이블(stable) 대신 코드명(stretch,buster) 레이블을 지정하는 것이 좋습니다. 이렇게 하면 표시되는 키워드를 변경하여 업데이트 시기를 선택한 다음 업그레이드 지침을 따를 수 있습니다.
현재 새 버전이 출시될 때 자동 업그레이드는 stable.list 상단의 코드 상자에서 요청한 것과 정확히 같습니다. 이것이 stable.list의 전체 목적인 것 같습니다(testing.list의 주석 처리된 줄도 마찬가지입니다).
스트레치와 안정화가 더 이상 동의어가 아니게 되면 잘못된 버전 혼합이 동시에 활성화되는 부작용이 됩니다.
버스터는 실제로나갔다거의 한 달이 지났기 때문에 주간 업데이트 주기에 미러 업데이트가 조금 느린 것 같습니다. 그렇지 않았다면 이런 일이 몇 주 전에 일어났을 것입니다. 이것은 또한 후속 질문일 수도 있습니다.
현재는 실제로 롤백하여 도달할 수 없으며, 브레이크하려면 완전히 앞으로 이동해야 합니다. "stretch"와 "stable"의 발생을 "buster"로 업데이트하고 확인합니다.업그레이드 지침. 소리로 볼 때 아마도 여전히 하나가 필요 apt full-upgrade
하지만 나머지는 완료될 것입니다.
나머지 업그레이드가 완료되면 외부 저장소를 일시적으로 비활성화하고 자체 지침에 따라 재설정하는 것이 좋습니다. 그 사이에 조직 변경이 발생하여 업그레이드 경로가 깨끗하지 않을 수 있으며, 새 저장소를 설정한 후 설치한 패키지를 제거하고 다시 설치해야 할 수도 있습니다.
앞으로는 이런 문제가 발생하지 않도록 소스코드에 항상 버전명을 사용하시기 바랍니다.