답변:
다음 명령은 프롬프트없이 새 안정 릴리스로 업그레이드합니다.
do-release-upgrade -f DistUpgradeViewNonInteractive
다음 명령은 프롬프트없이 현재 개발 릴리스로 업그레이드합니다.
do-release-upgrade -d -f DistUpgradeViewNonInteractive
테스트하지는 않았지만 질문이 발생할 때 기본 조치를 수행하는 것 같습니다. 너무 오래 걸리면 스크립트 시간이 초과됩니다.
dpkg-reconfigure
특정 패키지의 구성이 마음 에 들지 않으면 나중에 사용해야 할 수도 있지만 대부분은 괜찮습니다.
출처 : http://awaseroot.wordpress.com/2012/04/29/ubuntu-release-upgrade-fully-automatic-non-interactive-upgrade/ . 링크에는 이것을 수행하는 다른 방법들도 있습니다.
sudo apt-get install grub-emu
?
이전 답변을 확장하기 위해 ssh를 통해 암호가없는 업그레이드를 사용하여 상자를 최신 버전으로 업그레이드하는 방법으로 원격에서 허용되는 답변과 동일한 작업을 수행하는 방법이 있습니다. 내 블로그 항목에서 복사되었습니다 .
이 모든 단계는 패키지 저장소가 작동한다고 가정합니다. apt-get 업데이트를 실행하면 오래된 버전으로 인해 404가 많이 표시되지 않습니다. 먼저 수정해야하므로이 답변 을 참조하십시오 .
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
암호를 입력하지 않고 sudo를 사용하여 do-release-upgrade를 실행할 수있는 사용자 목록에 자신을 추가하십시오.
sudo visudo -f /etc/sudoers.d/do-release-upgrade.
물론 다음 줄을 추가하여 my-username을 자신의 이름으로 대체하십시오.
my-username ALL=NOPASSWD: /usr/bin/do-release-upgrade
로그 아웃하고 컴퓨터에서 다음 명령을 실행하십시오. 입력하라는 메시지를 표시하지 않고 (모든 기본 응답을 수락 함) 업그레이드하지 않고 컴퓨터가 재부팅 될 때까지 기다렸다가 다시 업그레이드를 시도합니다. 최신 버전으로 업그레이드 될 때까지 실행됩니다.
while true; do
ssh my-user@my-server sudo do-release-upgrade -f DistUpgradeViewNonInteractive;
sleep 120;
done
그런 다음 업그레이드 프로세스에서 기본 구성을 제 위치에 놓았으므로 백업 된 구성 파일을 이전 위치로 이동해야합니다.
이 사람은 각 프롬프트에 대한 답변을 미리 준비 할 수있는 방법이 있지만 단점은 몇 개의 프롬프트가 있는지 알아야한다는 것입니다.
Thomas Ward가 자신의 답변에서 진술 한 내용을 확인하고 수락 된 답변과 모순되기 위해 do-release-upgrade -d -f DistUpgradeViewNonInteractive
작동하지 않습니다.
실제로 첫 번째 프롬프트에서 16.04 ~ 18.04 테스트 파티션이 손상되어 복제해야했습니다. 스크립트가 중지되는 위치입니다.
Setting up mount (2.31.1-0.4ubuntu3) ...
Setting up systemd (237-3ubuntu10) ...
Installing new version of config file /etc/pam.d/systemd-user ...
Installing new version of config file /etc/systemd/journald.conf ...
Configuration file '/etc/systemd/logind.conf'
==> Modified (by you or by a script) since installation.
==> Package distributor has shipped an updated version.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a shell to examine the situation
The default action is to keep your current version.
*** logind.conf (Y/I/N/O/D/Z) [default=N] ? y
Y
CRASHED... NOTHING HAPPENS NOW... WILL KILL AND RESTART WITHOUT -f OPTION...
입력 억제제로 인해 스크립트 종료 후 재부팅이나 종료가 작동하지 않습니다. 콜드 셧다운을 수행해야합니다 (전원 버튼을 약 10 초간 누름).
16.04 복제본이 아닌 실제 16.04 파티션이 아니라는 점에 감사드립니다.
인생을 더욱 흥미롭게하기 위해 NVMe SSD에 새로운 898MB 파티션이 추가되었고 일반 파티션이 바뀌 었습니다.
$ lsdrv
NAME FSTYPE LABEL MOUNTPOINT SIZE MODEL
nvme0n1 477G Samsung SSD 960 PRO 512G
├─nvme0n1p5 ntfs 858M
├─nvme0n1p3 16M
├─nvme0n1p1 ntfs 450M
├─nvme0n1p8 ntfs Shared_WSL+Linux /mnt/e 9G
├─nvme0n1p6 ext4 Ubuntu18.04 23.7G
├─nvme0n1p4 ntfs NVMe_Win10 /mnt/c 390.4G
├─nvme0n1p2 vfat /boot/efi 99M
├─nvme0n1p9 swap Linux Swap [SWAP] 7.9G
└─nvme0n1p7 ext4 NVMe_Ubuntu_16.0 / 44.6G
nvme0n1p5
내 우분투 16.04 파티션이 있던 곳 이었지만 지금은 켜져 있습니다. nvme0n1p7
nvme0n1p8
내 18.04 테스트 파티션이 있던 곳 이었지만 지금은 켜져 있습니다. nvme0n1p8
참고 : 오늘 오후에도 Windows 10을 빌드 1709에서 빌드 1803으로 업그레이드 nvme0n1p5
하여 ntfs
형식으로 새 898MB 파티션을 만들 수있었습니다 .
터미널을 통해을 사용하여이 작업을 수행 할 수 있습니다 sudo apt-get -y upgrade
. 모든 프롬프트에 "예"라고 대답합니다. 그러나 자동으로 실행되지 않으므로 실행해야합니다. 그것은 해야 작동합니다. AFAIK는 GUI 업데이트 관리자를 사용하여 소프트웨어에 대한 무인 업그레이드를 수행 할 수있는 방법 이 없습니다 ( 릴리스 업그레이드와 동일하지 않습니다! )
다른 Ubuntu 버전 (일명 릴리스 업그레이드 및 일반적으로 Ubuntu 버전과 관련된 릴리스 라인의 다음 릴리스)으로 업그레이드 하려는 경우 수동으로 활성화 해야 합니다. sudo do-release-upgrade
작동 할 수 있습니다. 그러나 과거 프롬프트를 건너 뛸 수있는 방법이 없습니다. 이러한 프롬프트가 표시 될 때 업그레이드를 시작하는 이유는 프롬프트가 표시됩니다.
-f DistUpgradeViewNonInteractive
플래그가 첫 번째 (Y/I/N/O/D/Z)
프롬프트 에서 스크립트를 잠그기 때문에 @oligofren Thomas가 옳 습니다 . 내가 방금 게시 한 내 답변을 참조하십시오.
-y
옵션을 추가 apt-get
하지만 y
모든 쿼리에 응답한다는 것을 알고 있어야 합니다.
apt-get dist-upgrade
은 잘 작동합니다. 더 이상 어디에서 작동하지 않습니까?
apt-get dist-upgrade
는 현재 운영 체제에서 자체적으로 릴리스 업그레이드를 수행하지 않았습니다. 참조하십시오 man apt-get
. upgrade
패키지를 새로 설치하거나 제거하지 않고 업그레이드 할 수있는 패키지 만 업그레이드합니다. dist-upgrade
패키지가 제거되거나 추가 된 경우에도 패키지를 업그레이드합니다. 이것은 주로 일반 업데이트를 수행하는 데 유용합니다. 예를 들어 upgrade
커널을 업그레이드하지 않습니다.
sources.list
다음 릴리스의 아카이브를 가리 키도록 변경 한 다음 실행 apt-get dist-upgrade
되면 성공하면 릴리스 업그레이드를 수행합니다. 이것은 데비안에서 지원되지만 aptitude dist-upgrade
고급 의존성 해결 때문에 대신 사용 하는 것이 좋습니다 . 우분투에서는 이와 같은 것이 전혀 지원되지 않지만 성공할 수도 있습니다. 대신 명령 행에서 이후 릴리스로 업그레이드하는 do-release-upgrade
데 사용됩니다. 이 유틸리티는 -y
플래그를 사용하지 않으므로이 답변은 새 릴리스로 업그레이드하는 상황에는 적용되지 않습니다 .