Як я можу скасувати або відкатати команду "apt-get upgrade" на Ubuntu?


26

Чи є в Ubuntu спосіб відкатати або скасувати останнє оновлення після виконання, apt-get upgradeякщо результати не сподобалися?


Якби не було багато роботи, цього не варто. Чи можете ви зберегти / дім і почати спочатку? Що вам не сподобалось?
користувач10547

Я ще цього не робив, але це сервер виробництва, і я повинен бути впевнений, що немає несумісності з нашою спеціальною програмою PHP / MySQL / Apache2, і швидко повертайтеся, якщо є. Мені хотілося б оновити, тому що я думаю, це вирішить ще одну проблему.
jjclarkson

Якщо ви не зробили dist-upgrade, я не бачу, які результати тут не сподобаються, оскільки це, швидше за все, оновлення безпеки .
LiraNuna

Якщо у вас є власна установка, ви відповідаєте за збереження патчів та їх застосування проти поточної версії.
LiraNuna

2
Якщо це сервер, спробуйте сервер розробників, перш ніж оновити виробничий
solarc

Відповіді:


5

aptitudeнадає вам доступ до всіх версій пакета, якщо вони доступні відповідно до управління пакетами Debian .


2.7.3 може допомогти вам знизитись до стабільності. 2.7.16 пояснюється збереження та відновлення стану dpkg. dpkg-repack дозволяє "стиснути" один пакет.
joeytwiddle

5

Я натрапив на Blogstatic Blog Hartman: Як скасувати оновлення в Ubuntu Lucid

Першим кроком до скасування оновленого порушення було з’ясування того, які саме оновлення були. Після пошуку деяких форумів я натрапив на те, щоб побачити свою історію оновлень: Відкрити диспетчер синаптичних пакетів ("sudo synaptic" в терміналі). На панелі меню натисніть Файл -> Історія, і ви побачите всі оновлення, відсортовані за датою.

На жаль, сьогодні я встановив близько 20 оновлень, і я не знав, яке з них спричинило проблему. Шукаючи кожен з пакетів, названих у списку Історії, я зміг знизити номер за один раз, поки проблема не була вирішена, і я виявив оновлення, яке не відповідає. Зробити це:

Використовуйте панель пошуку, щоб знайти пакет, який ви хочете знизити. Як тільки ви знайшли те, що шукаєте, натисніть на пакет, щоб вибрати його. На панелі меню натисніть Package -> Force Version і виберіть попередню версію пакета зі спадного меню. Натисніть кнопку "Застосувати", щоб застосувати пониження рівня.


1
Я очікую, що всі тут знатиму основи, як шукати останнє правопорушне оновлення:
Manav Brar

2
Про що це було в редагуванні? У вас є інше питання? Ви хочете, щоб ми грали в здогадки?
slhck

5

Мені довелося це зробити сьогодні в моїй системі Debian. По-перше, я визначив часовий діапазон, коли відбулося порушення оновлення, і вилучив записи журналу, даючи старі та нові номери версій оновлених пакетів:

$ awk '$1=="2016-03-20" && $3=="upgrade"' /var/log/dpkg.log
2016-03-20 16:58:22 upgrade libwebkitgtk-3.0-0:amd64 2.4.9-3 2.4.10-1
2016-03-20 16:58:24 upgrade libjavascriptcoregtk-3.0-0:amd64 2.4.9-3 2.4.10-1
2016-03-20 16:58:26 upgrade traceroute:amd64 1:2.0.22-1 1:2.1.0-1
2016-03-20 16:58:33 upgrade ethtool:amd64 1:4.2-1 1:4.5-1
2016-03-20 16:58:34 upgrade libsdl1.2debian:amd64 1.2.15+dfsg1-3 1.2.15+dfsg1-4
2016-03-20 16:58:34 upgrade subversion:amd64 1.9.3-2+b1 1.9.3-3
2016-03-20 16:58:36 upgrade libsvn1:amd64 1.9.3-2+b1 1.9.3-3
2016-03-20 16:58:56 upgrade linux-image-amd64:amd64 4.3+70 4.4+71
2016-03-20 16:58:56 upgrade linux-libc-dev:amd64 4.3.5-1 4.4.6-1
2016-03-20 16:59:03 upgrade amd64-microcode:amd64 2.20141028.1 2.20160316.1

Далі я спробував знайти на диску все ще кешовані файли пакунків (на щастя, я не запустив autoclean):

$ awk '$1=="2016-03-20" && $3=="upgrade" {gsub(/:/, "%3a", $5); split($4, f, ":"); print "/var/cache/apt/archives/" f[1] "_" $5 "_" f[2] ".deb"}' /var/log/dpkg.log | xargs -r ls -ld
ls: cannot access '/var/cache/apt/archives/ethtool_1%3a4.2-1_amd64.deb': No such file or directory
-rw-r--r-- 1 root root   28820 Dec 18  2014 /var/cache/apt/archives/amd64-microcode_2.20141028.1_amd64.deb
-rw-r--r-- 1 root root 1978874 Dec 10 18:22 /var/cache/apt/archives/libjavascriptcoregtk-3.0-0_2.4.9-3_amd64.deb
-rw-r--r-- 1 root root  185006 Mar 12 00:41 /var/cache/apt/archives/libsdl1.2debian_1.2.15+dfsg1-3_amd64.deb
-rw-r--r-- 1 root root 1317644 Mar  3 11:30 /var/cache/apt/archives/libsvn1_1.9.3-2+b1_amd64.deb
-rw-r--r-- 1 root root 7679400 Dec 10 18:22 /var/cache/apt/archives/libwebkitgtk-3.0-0_2.4.9-3_amd64.deb
-rw-r--r-- 1 root root    6108 Dec 14 06:59 /var/cache/apt/archives/linux-image-amd64_4.3+70_amd64.deb
-rw-r--r-- 1 root root 1075506 Feb  7 21:36 /var/cache/apt/archives/linux-libc-dev_4.3.5-1_amd64.deb
-rw-r--r-- 1 root root  983174 Mar  3 11:30 /var/cache/apt/archives/subversion_1.9.3-2+b1_amd64.deb
-rw-r--r-- 1 root root   53376 Feb 28 18:35 /var/cache/apt/archives/traceroute_1%3a2.0.22-1_amd64.deb

Схоже, я не маю старого пакету Ethtool чомусь. Все ж давайте продовжимо, насильно встановивши старі файли пакунків:

$ sudo dpkg -i /var/cache/apt/archives/amd64-microcode_2.20141028.1_amd64.deb /var/cache/apt/archives/libjavascriptcoregtk-3.0-0_2.4.9-3_amd64.deb /var/cache/apt/archives/libsdl1.2debian_1.2.15+dfsg1-3_amd64.deb /var/cache/apt/archives/libsvn1_1.9.3-2+b1_amd64.deb /var/cache/apt/archives/libwebkitgtk-3.0-0_2.4.9-3_amd64.deb /var/cache/apt/archives/linux-image-amd64_4.3+70_amd64.deb /var/cache/apt/archives/linux-libc-dev_4.3.5-1_amd64.deb /var/cache/apt/archives/subversion_1.9.3-2+b1_amd64.deb /var/cache/apt/archives/traceroute_1%3a2.0.22-1_amd64.deb
dpkg: warning: downgrading amd64-microcode from 2.20160316.1 to 2.20141028.1
(Reading database ... 139632 files and directories currently installed.)
Preparing to unpack .../amd64-microcode_2.20141028.1_amd64.deb ...
Unpacking amd64-microcode (2.20141028.1) over (2.20160316.1) ...
dpkg: warning: downgrading libjavascriptcoregtk-3.0-0:amd64 from 2.4.10-1 to 2.4.9-3
Preparing to unpack .../libjavascriptcoregtk-3.0-0_2.4.9-3_amd64.deb ...
Unpacking libjavascriptcoregtk-3.0-0:amd64 (2.4.9-3) over (2.4.10-1) ...
dpkg: warning: downgrading libsdl1.2debian:amd64 from 1.2.15+dfsg1-4 to 1.2.15+dfsg1-3
Preparing to unpack .../libsdl1.2debian_1.2.15+dfsg1-3_amd64.deb ...
Unpacking libsdl1.2debian:amd64 (1.2.15+dfsg1-3) over (1.2.15+dfsg1-4) ...
dpkg: warning: downgrading libsvn1:amd64 from 1.9.3-3 to 1.9.3-2+b1
Preparing to unpack .../libsvn1_1.9.3-2+b1_amd64.deb ...
Unpacking libsvn1:amd64 (1.9.3-2+b1) over (1.9.3-3) ...
Preparing to unpack .../libwebkitgtk-3.0-0_2.4.9-3_amd64.deb ...
Unpacking libwebkitgtk-3.0-0:amd64 (2.4.9-3) over (2.4.9-3) ...
dpkg: warning: downgrading linux-image-amd64 from 4.4+71 to 4.3+70
Preparing to unpack .../linux-image-amd64_4.3+70_amd64.deb ...
Unpacking linux-image-amd64 (4.3+70) over (4.4+71) ...
dpkg: warning: downgrading linux-libc-dev:amd64 from 4.4.6-1 to 4.3.5-1
Preparing to unpack .../linux-libc-dev_4.3.5-1_amd64.deb ...
Unpacking linux-libc-dev:amd64 (4.3.5-1) over (4.4.6-1) ...
dpkg: warning: downgrading subversion from 1.9.3-3 to 1.9.3-2+b1
Preparing to unpack .../subversion_1.9.3-2+b1_amd64.deb ...
Unpacking subversion (1.9.3-2+b1) over (1.9.3-3) ...
dpkg: warning: downgrading traceroute from 1:2.1.0-1 to 1:2.0.22-1
Preparing to unpack .../traceroute_1%3a2.0.22-1_amd64.deb ...
Unpacking traceroute (1:2.0.22-1) over (1:2.1.0-1) ...
Setting up amd64-microcode (2.20141028.1) ...
update-initramfs: deferring update (trigger activated)
amd64-microcode: microcode will be updated at next boot
Setting up libjavascriptcoregtk-3.0-0:amd64 (2.4.9-3) ...
Setting up libsdl1.2debian:amd64 (1.2.15+dfsg1-3) ...
Setting up libsvn1:amd64 (1.9.3-2+b1) ...
dpkg: dependency problems prevent configuration of libwebkitgtk-3.0-0:amd64:
 libwebkitgtk-3.0-0:amd64 depends on libwebkitgtk-3.0-common (>= 2.4.9); however:
  Package libwebkitgtk-3.0-common is not installed.

dpkg: error processing package libwebkitgtk-3.0-0:amd64 (--install):
 dependency problems - leaving unconfigured
Setting up linux-image-amd64 (4.3+70) ...
Setting up linux-libc-dev:amd64 (4.3.5-1) ...
Setting up subversion (1.9.3-2+b1) ...
Setting up traceroute (1:2.0.22-1) ...
update-alternatives: using /usr/bin/traceroute.db to provide /usr/bin/traceroute (traceroute) in auto mode
update-alternatives: using /usr/bin/lft.db to provide /usr/bin/lft (lft) in auto mode
update-alternatives: using /usr/bin/traceproto.db to provide /usr/bin/traceproto (traceproto) in auto mode
update-alternatives: using /usr/sbin/tcptraceroute.db to provide /usr/sbin/tcptraceroute (tcptraceroute) in auto mode
Processing triggers for libc-bin (2.22-3) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for initramfs-tools (0.123) ...
update-initramfs: Generating /boot/initrd.img-4.4.0-1-amd64
Errors were encountered while processing:
 libwebkitgtk-3.0-0:amd64

Як сказано в повідомленні про помилку, один з моїх пакетів залежав від -поширеного пакету безпосередньо перед оновленням, але оновлення видалило його (і apt-get вже не може його знайти). На щастя, його пакетний файл все ще знаходиться в / var / cache / apt, тому я можу просто додати його до списку та спробувати ще раз:

$ ls -ld /var/cache/apt/archives/libwebkitgtk-3.0-common*
-rw-r--r-- 1 root root 452278 Dec 10 18:22 /var/cache/apt/archives/libwebkitgtk-3.0-common_2.4.9-3_all.deb
$ sudo dpkg -i /var/cache/apt/archives/amd64-microcode_2.20141028.1_amd64.deb /var/cache/apt/archives/libjavascriptcoregtk-3.0-0_2.4.9-3_amd64.deb /var/cache/apt/archives/libsdl1.2debian_1.2.15+dfsg1-3_amd64.deb /var/cache/apt/archives/libsvn1_1.9.3-2+b1_amd64.deb /var/cache/apt/archives/libwebkitgtk-3.0-0_2.4.9-3_amd64.deb /var/cache/apt/archives/linux-image-amd64_4.3+70_amd64.deb /var/cache/apt/archives/linux-libc-dev_4.3.5-1_amd64.deb /var/cache/apt/archives/subversion_1.9.3-2+b1_amd64.deb /var/cache/apt/archives/traceroute_1%3a2.0.22-1_amd64.deb /var/cache/apt/archives/libwebkitgtk-3.0-common_2.4.9-3_all.deb
(Reading database ... 139632 files and directories currently installed.)
Preparing to unpack .../amd64-microcode_2.20141028.1_amd64.deb ...
Unpacking amd64-microcode (2.20141028.1) over (2.20141028.1) ...
Preparing to unpack .../libjavascriptcoregtk-3.0-0_2.4.9-3_amd64.deb ...
Unpacking libjavascriptcoregtk-3.0-0:amd64 (2.4.9-3) over (2.4.9-3) ...
Preparing to unpack .../libsdl1.2debian_1.2.15+dfsg1-3_amd64.deb ...
Unpacking libsdl1.2debian:amd64 (1.2.15+dfsg1-3) over (1.2.15+dfsg1-3) ...
Preparing to unpack .../libsvn1_1.9.3-2+b1_amd64.deb ...
Unpacking libsvn1:amd64 (1.9.3-2+b1) over (1.9.3-2+b1) ...
Preparing to unpack .../libwebkitgtk-3.0-0_2.4.9-3_amd64.deb ...
Unpacking libwebkitgtk-3.0-0:amd64 (2.4.9-3) over (2.4.9-3) ...
Preparing to unpack .../linux-image-amd64_4.3+70_amd64.deb ...
Unpacking linux-image-amd64 (4.3+70) over (4.3+70) ...
Preparing to unpack .../linux-libc-dev_4.3.5-1_amd64.deb ...
Unpacking linux-libc-dev:amd64 (4.3.5-1) over (4.3.5-1) ...
Preparing to unpack .../subversion_1.9.3-2+b1_amd64.deb ...
Unpacking subversion (1.9.3-2+b1) over (1.9.3-2+b1) ...
Preparing to unpack .../traceroute_1%3a2.0.22-1_amd64.deb ...
Unpacking traceroute (1:2.0.22-1) over (1:2.0.22-1) ...
Selecting previously unselected package libwebkitgtk-3.0-common.
Preparing to unpack .../libwebkitgtk-3.0-common_2.4.9-3_all.deb ...
Unpacking libwebkitgtk-3.0-common (2.4.9-3) ...
Setting up amd64-microcode (2.20141028.1) ...
update-initramfs: deferring update (trigger activated)
amd64-microcode: microcode will be updated at next boot
Setting up libjavascriptcoregtk-3.0-0:amd64 (2.4.9-3) ...
Setting up libsdl1.2debian:amd64 (1.2.15+dfsg1-3) ...
Setting up libsvn1:amd64 (1.9.3-2+b1) ...
Setting up linux-image-amd64 (4.3+70) ...
Setting up linux-libc-dev:amd64 (4.3.5-1) ...
Setting up subversion (1.9.3-2+b1) ...
Setting up traceroute (1:2.0.22-1) ...
update-alternatives: using /usr/bin/traceroute.db to provide /usr/bin/traceroute (traceroute) in auto mode
update-alternatives: using /usr/bin/lft.db to provide /usr/bin/lft (lft) in auto mode
update-alternatives: using /usr/bin/traceproto.db to provide /usr/bin/traceproto (traceproto) in auto mode
update-alternatives: using /usr/sbin/tcptraceroute.db to provide /usr/sbin/tcptraceroute (tcptraceroute) in auto mode
Setting up libwebkitgtk-3.0-common (2.4.9-3) ...
Setting up libwebkitgtk-3.0-0:amd64 (2.4.9-3) ...
Processing triggers for libc-bin (2.22-3) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for initramfs-tools (0.123) ...
update-initramfs: Generating /boot/initrd.img-4.4.0-1-amd64

Успіху! Насправді це не вирішило моєї проблеми. Але це успішно знизило пакети, QED.


3

Я також повинен був скасувати оновлення пакету сьогодні на декількох серверах Debian. Я успішно повернув пакунки до останньої версії за допомогою aptitute, тоді як наступна команда awk була дуже корисною.

( У нижченаведеній команді замініть рядок дати на дату дня, з якого потрібно відновити оновлення )

awk 'BEGIN{ start="0" } { if($0 ~ /Log started: 2017-06-20/) { start="1"} if ( start == "1" && $0 ~ /Unpacking.*over/) {gsub(/[\s\t)( ]+/,"",$5); printf("%s=%s ", $2 , $5)}}' /var/log/apt/term.log

перегляньте вихід, щоб переконатися, що це пакети та версії, які потрібно повернути. Потім використовуйте aptitute, щоб зробити пониження перелічених пакетів:

aptitute install [paste output here]

Я сподіваюся, що це також корисна економія часу для інших.


2

Я вважаю , що немає, крім приймаючи повну резервну копію відповідних файлових систем (ті , які містять /, /bin, /lib, /sbin, /usr, /var, /etcі /boot(що все може бути в файлової системі) і завантажувальний запис) , так що ви можете котити машину назад після цього.


Я міг (і, мабуть, захочу) взяти резервну копію голого металу, але я хотів, щоб програма, яка дозволила мені скасувати оновлення за більш швидкі часові рамки. Відновлення з резервного копію голого металу може зайняти кілька годин.
jjclarkson

1
Ви можете переконатися, що у вас є копії всіх пакунків, які ви збираєтеся оновити у своїх попередніх версіях (вони, ймовірно, все ще знаходяться у вашому /varпідходящому кеші десь у приміщенні ) та будь-яких відповідних конфігураційних файлів, які зберігаються подалі. Потім ви можете спробувати відкатати, чітко вказавши dpkgвстановити ці версії. Можливо, вам доведеться виконати якусь роботу згодом, коли ви хочете, щоб відбулися нормальні оновлення, тому я б це не рекомендував.
Девід Спіллетт

Резервна копія, зроблена з rsync (включена часова мітка), може бути відновлена ​​досить швидко, порівняно з резервною копією, зробленою з дьогтем.
joeytwiddle

2

Я запускаю свої Linux-сервери у віртуалізованому середовищі та запускаю знімок безпосередньо перед оновленням apt-get або будь-якими основними оновленнями та оновленнями сторонніх розробників.

Тоді, якщо щось піде не так, я просто повертаюся і життя триває, поки я не зможу дізнатися більше інформації.

Це було дуже зручно, коли я оновив свою скриньку Ubuntu до 12.04, і чомусь MySQL був абсолютно не функціональним після оновлення. Я відкотився, знайшов відповідь пізніше, повторно оновив, виправив MySQL, і життя було гарним.


1

Ви можете спробувати перевірити

Після вас ./конфігуруйте; зробіть свою програму, CheckInstall запустить, зробіть інсталяцію (або все, що ви скажете їй, щоб запустити) і буде відслідковувати кожен файл, модифікований цією установкою, використовуючи чудовий інсталяційний годинник ...

Тож, можливо, ви могли б сказати йому запустити безпечне оновлення можливостей, і воно буде відслідковувати всі зміни, внесені оновленням.


1

Існує проект під назвою Nexenta, який поєднує ядро ​​OpenSolaris з користувацьким простором Ubuntu. Він надає інструмент для інтеграції ZFS Solaris та підходу Debian, щоб забезпечити кнопку скасування оновлення. Дивіться тут: http://www.nexenta.org/os/TransactionalZFSUpgrades

Загалом, потрібна файлова система версій. Btrfs для Linux розробляється.


1

Використання Apt-Undo - це можливий варіант, але він може працювати, лише якщо ви використовуєте його для встановлення та видалення пакунків. Це не допоможе, якщо ви вже видалили програмне забезпечення у звичайний спосіб.

http://www.ubuntugeek.com/apt-undo-a-simple-way-of-undoing-apt-action.html http://lkubuntu.wordpress.com/2011/07/27/apt-undo-a -простий спосіб-скасування-apt-дій /


0

Я успішно робив це кілька разів, але не рекомендував. Це те, що я зробив (якщо добре пригадую):

1) Видаліть будь-яке неофіційне програмне забезпечення, яке не входить у сховища ubuntu за замовчуванням (воно може не знадобитися, але я пропоную це, як вони можуть потрапити на ваш шлях).

2) Змініть /etc/apt/sources.list (та source.list.d / *) на попередню версію (коментуйте всі неофіційні сховища).

3) apt - отримати оновлення / оновлення можливостей

4) Використання здатності, зменшення пакетів основних ядер (наприклад, X11, бібліотеки тощо). Він почне запускати багато зламаних пакетів ... тож вам потрібно буде вирішити кожен випадок (вам потрібно знати, як це зробити у придатності). Те, як ви її понизили, перейдіть на панель описів та встановіть версію (натискаючи +) внизу.

5) Повторюйте №4, поки все програмне забезпечення не належить до вашої цільової версії (перевірте на стовпці версії на здатність).

Ось чому я не рекомендую цей метод:

  • Це займає багато часу (болісний процес)
  • Деякі програми можуть не працювати належним чином (оскільки вони все ще можуть мати останню конфігурацію). У такому випадку вам потрібно буде "очистити" та встановити наново.
  • Є оновлення, пов’язані із системою, які не працюватимуть після поновлення
  • Це дуже ризиковано, оскільки, можливо, у вас виявиться непридатна система

Я настійно рекомендую робити чисту установку та поступово переміщувати конфігурацію. Це також потребує часу, але в кінці у вас є стабільна версія.

Причиною, що я це зробив, було, головним чином, експериментація та результат відчаю.


0

DPkg :: Попередня інсталяція Pkgs та ZFS на знімках Linux

Якщо ви встановили свою операційну систему в файловій системі ZFS (наприклад, ZFS в Linux ), ви можете налаштувати apt-getїї запуск zfs snapshotдо того, як вона інсталює або модернізує що-небудь, що миттєво створить резервну копію вашої файлової системи. Це може працювати з механізмами резервного копіювання, окрім знімків ZFS, але це тестування я залишу іншим.

Сценарій

Створіть файл типу

/etc/apt/apt.conf.d/71backup

зі змістом

// Tell `apt-get' to take a ZFS snapshot before installing or upgrading a
// set of packages:
DPkg::Pre-Install-Pkgs {"/sbin/zfs snapshot rpool/ROOT/debian@apt-get_$(date '+%Y-%m-%d-%H%M')";};

де rpool/ROOT/debianслід замінити ім'я файлової системи ZFS, до якої встановлена ​​ваша операційна система. Ви назвали це ім'я під час першого встановлення ОС, і його можна знайти під атрибутом NAMEкоманди

# zfs list -t filesystem
NAME ...
...
rpool/ROOT/debian ...
...

Але чи це працює?

Краще зробіть знімок, перш ніж дотримуватися порад щодо конфігурації якогось випадкового Інтернет-користувача:

# zfs snapshot rpool/ROOT/debian@$(date '+%Y-%m-%d-%H%M%S')_test
# zfs list -t snapshot | grep rpool
...
rpool/ROOT/debian@2018-08-01-230001_test

Там. Якщо error: fn_borkedнезабаром це станеться, ви можете повернути систему до її блаженного поточного стану за допомогою

# zfs rollback rpool/ROOT/debian@2018-08-01-230001_test

Тепер спробуйте це, встановивши дві крихітні ігри, які, ймовірно, доступні у вашій репо:

# apt-get install tanglet sudoku
...
# zfs list -t snapshot | grep apt\-get
rpool/ROOT/debian@apt-get_2018-08-02-033614

Цей знімок містить вашу файлову систему, як це було до встановлення двох ігор.

# exit
$ sudoku

Веселі часи для бабусі, але ви ненавидите судоку.

$ sudo -i
# zfs rollback rpool/ROOT/debian@apt-get_2018-08-02-033614
# exit
$ sudoku
-bash: /usr/games/sudoku: No such file or directory
$ tanglet
-bash: tanglet: command not found

Після того, як зроблено кілька знімків, ви можете повернутися до будь-якого попереднього, додавши -rпрапор. У нашому випадку, наприклад, спробуйте

# zfs -r rollback rpool/ROOT/debian@2018-08-01-230001_test

Однак попередити, що це не тільки поверне вашу файлову систему до стану, в якому вона була, коли вона rpool/ROOT/debian@2018-08-01-230001_testбула зроблена, але й видалить безповоротно всі наступні знімки. Якщо ви дотримувались цієї публікації, знімокrpool/ROOT/debian@apt-get_2018-08-02-033614 зараз не буде.

Я тестував apt-get upgradeна Debian GNU / Linux с

# apt-get -t=oldstable install tanglet sudoku
...
# apt-get upgrade
...
# zfs list -t snapshot | grep apt\-get

Це працює. Один знімок був створений для installкоманди, інший - для upgradeкоманди.

Caveat : Я сьогодні вперше випробував це і дуже мало знаю про внутрішню роботу вправ. Якщо це зламає щось для вас або спричинить за собою ризик, який мій розум не врахував, будь ласка, прокоментуйте це нижче.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.