Ubuntu'da “apt-get upgrade” komutunu nasıl geri alabilirim veya geri alabilirim?


26

apt-get upgradeSonuçlardan hoşlanmıyorsanız, Ubuntu'da son yükseltme işlemini geri almak veya geri almak için bir yol var mı ?


Çok fazla iş olmadan, buna değmezdi. Evinizi kaydedip baştan başlayabilir misiniz? Neyi beğenmedin
user10547 9:09

Henüz yapmadım, ancak bu bir üretim sunucusudur ve özel PHP / MySQL / Apache2 kurulumumuzla uyumlu olmadığından emin olmalıyım ve varsa hemen geri dönün. Yükseltme yapmak istiyorum, çünkü yaşadığım başka bir sorunu çözeceğini düşünüyorum.
jjclarkson

Dikkatinizi yükseltmediğiniz sürece, en olası güvenlik güncelleştirmeleri olduğundan, hangi sonuçları beğenmediğinizi göremiyorum .
LiraNuna

Özel bir kurulumunuz varsa, yamaları kaydetmek ve bunları geçerli sürüme karşı uygulamak sizin sorumluluğunuzdadır.
LiraNuna

2
Bu bir sunucuysa, üretimi yükseltmeden önce dev bir sunucuyu deneyin
solarc

Yanıtlar:


5

aptitudeDebian paket yönetimine göre mevcutsa paketin tüm sürümlerine erişmenizi sağlar .


2.7.3 istikrarlı seviyeye inmenize yardımcı olabilir. 2.7.16 dpkg durumunu kaydetmeyi ve geri yüklemeyi açıklar. dpkg-repack, tek bir paketi "sıkıştırmanıza" izin verir.
joeytwiddle

5

Hartman'ın Blogstatik Blogu'yla karşılaştım: Ubuntu Lucid'de Güncellemeyi Nasıl Geri Alınır

Rahatsız edici güncelleştirmeyi geri almanın ilk adımı, tam olarak hangi güncellemelerin olduğunu bulmaktı. Bazı forumları aradıktan sonra güncelleme geçmişimi görmenin bir yolunu gördüm: Sinaptik paket yöneticisini aç (terminalde "sudo synaptic"). Menü çubuğundan, Dosya -> Geçmiş'i tıklayın; tüm güncellemelerin tarihe göre sıralandığını göreceksiniz.

Maalesef bugün yaklaşık 20 güncelleme yükledim ve hangisinin soruna neden olduğunu bilmiyordum. Geçmiş listesinde adı geçen paketlerin her birini arayarak, sorun çözülene kadar ve birkaç sorunlu güncellemeyi belirleyene kadar birkaç defa düşürmeyi başardım. Bunu yapmak için:

Düşürmek istediğiniz paketi bulmak için arama çubuğunu kullanın. Aradığınızı bulduktan sonra, seçmek için pakete tıklayın. Menü çubuğundan, Paket -> Sürümü Zorla'yı tıklayın ve açılan menüden paketin önceki sürümünü seçin. Düşürmeyi uygulamak için "Uygula" düğmesine tıklayın.


1
Buradaki herkesten son rahatsız edici güncellemenin nasıl başlatılacağına dair temel bilgileri bilmek istiyorum:
Manav Brar

2
Bu düzenleme neydi? Başka bir sorunuz mu var? Tahmin oyunu oynamamızı ister misiniz?
slhck

5

Bunu bugün Debian sistemimde yapmak zorunda kaldım. İlk önce, rahatsız edici yükseltmenin gerçekleştiği zaman aralığını belirledim ve yükseltilmiş paketlerin eski ve yeni sürüm numaralarını veren günlük girdilerini aldım:

$ 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

Sonra, diskte hala önbelleğe alınmış paket dosyalarını bulmaya çalıştım (Neyse ki benim için autoclean'ı çalıştırmamıştım):

$ 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

Bazı nedenlerden dolayı eski ethtool paketim yok gibi görünüyor. Yine de, eski paket dosyalarını zorlayarak yükleyelim:

$ 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

Hata mesajının dediği gibi, paketlerimden biri yükseltme işleminden hemen önce yaygın bir pakete bağlıydı, ancak yükseltme kaldırdı (ve apt-get artık bulamıyor). Neyse ki, paket dosyası hala / var / cache / apt dizinindedir, bu yüzden listeye ekleyebilir ve tekrar deneyebilirim:

$ 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

Başarı! Aslında bu benim sorunumu çözmedi. Ancak, paketleri başarıyla indirdi, QED.


3

Ayrıca bugün birkaç Debian sunucusunda paket güncellemesini geri almak zorunda kaldım. Aşağıdaki awk komutu çok yardımcı oldu, ancak yetenekleri kullanarak paketleri son sürüme başarıyla geri aldım.

( Aşağıdaki komutta tarih dizesini, yükseltmeleri geri almak istediğiniz günün tarihiyle değiştirin )

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

Bunların geri alınacak paketler ve sürümler olduğunu doğrulamak için çıktıyı gözden geçirin. Ardından listelenen paketlerin indirgenmesini yapmak için bir yetenek kullanın:

aptitute install [paste output here]

Umarım bu aynı zamanda başkaları için de faydalı bir zaman tasarrufu.


2

Ben ilgili dosya sistemlerinin tam yedekleme alarak, kenara değil iman (bu içerdiğini /, /bin, /lib, /sbin, /usr, /var, /etcve /boot(bütün dosya sistemi üzerine olabilir) ve önyükleme kaydı) geri sonradan makineyi geri böylece.


Çıplak metal bir yedekleme yapabilir (ve muhtemelen yapardım), ancak daha hızlı bir zaman diliminde güncellemeyi geri almama izin verecek bir yazılım seçeneği istedim. Çıplak metal yedeklemeden geri yükleme birkaç saat sürebilir.
jjclarkson

1
Yükseltmek üzere olduğunuz tüm paketlerin önceki sürümlerinde (muhtemelen bir yerde hala uygun önbellekte oturdukları /var) ve saklanmış tüm ilgili yapılandırma dosyalarının kopyalarını aldığınızdan emin olabilirsiniz . Daha sonra açıkça dpkgbu sürümleri yüklemeyi söyleyerek bir rulo geri zorlamayı deneyebilirsiniz . Normal güncellemelerin gerçekleşmesini istediğinizde daha sonra yapmanız gereken bazı işler olabilir, bu yüzden tavsiye edebileceğim bir şey değil.
David Spillett

Rsync ile yapılan bir yedekleme (zaman damgası etkin), tar ile yapılan bir yedeklemeye kıyasla oldukça hızlı bir şekilde geri yüklenebilir.
joeytwiddle

2

Linux sunucularını sanallaştırılmış bir ortamda çalıştırıyorum ve apt-get yükseltme işleminden hemen önce bir shapshot veya bu konuda herhangi bir 3. parti güncelleme / yükseltme gerçekleştiriyorum.

Sonra bir şeyler ters giderse, basitçe geri dönerim ve daha fazla bilgi bulana kadar hayat devam eder.

Ubuntu kutumu 12.04'e yükselttiğimde bu çok yol açtı ve bir şekilde MySQL güncellemeden sonra tamamen işlevsel değildi. Geri aldım, cevabı daha sonra buldum, güncellemeyi yeniden yaptım, MySQL'i düzelttim ve hayat güzeldi.


1

Checkinstall'ı deneyebilirsiniz

Sizden sonra ./configure; Programınıza, CheckInstall make install komutunu (veya çalıştırmasını söyleyen her şeyi) çalıştıracak ve mükemmel installwatch'ı kullanarak bu kurulum tarafından değiştirilen her dosyayı izleyecektir ...

Belki de güvenli bir yükseltme yeteneğini çalıştırdığını söyleyebilirsiniz ve yükseltme tarafından yapılan her değişikliği takip eder.


1

OpenSolaris çekirdeğini Ubuntu kullanıcı alanıyla birleştiren Nexenta adlı bir proje var. Solaris’in ZFS ve Debian’ın uygulamalarını, yükseltmeler için geri alma butonu sağlamak amacıyla entegre etmek için bir araç sunar. Buraya bakın: http://www.nexenta.org/os/TransactionalZFSUpgrades

Daha genel olarak, ihtiyacınız olan şey bir sürüm dosyası sistemidir. Linux için Btrfs geliştirilme aşamasındadır.



0

Bunu birkaç kez başarıyla yaptım ama tavsiye etmiyorum. Yaptığım şey buydu (doğru hatırlıyorsam):

1) Varsayılan ubuntu depolarına dahil olmayan resmi olmayan yazılımları kaldırın (gerekli olmayabilir, ancak sizin isteğinize göre önerebilirim).

2) /etc/apt/sources.list'ini (ve sources.list.d / *) önceki sürüme değiştirin (resmi olmayan tüm depolara yorum yapın).

3) apt-get update / yetenek güncelleme

4) Yetenek, sürüm düşürme çekirdek paketleri (X11, kütüphaneler, vb.) Kullanarak. Çok sayıda kırık paket ateşlemeye başlayacak ... böylece her vakayı çözmeniz gerekecek (bunu nasıl yapabileceğinizi bilmeniz gerekir). Düşürme şekliniz açıklama paneline gidip alt kısımdaki sürümü (+ tuşlarına basarak) yüklemek.

5) Tüm yazılımlar hedef sürümünüze ait oluncaya kadar # 4'ü tekrarlayın (lütfen sürüm sütununa bakın).

Bu yöntemi önermememin nedeni:

  • Çok zaman alıyor (acı dolu bir süreç)
  • Bazı uygulamalar düzgün çalışmayabilir (hala en son yapılandırmaya sahip olabilirler). Bu durumda "temizlemeniz" ve yeniden yüklemeniz gerekir.
  • İndirgemeden sonra çalışmayacak sistemle ilgili güncellemeler var
  • Kullanılamaz bir sistemle sonuçlanabileceği için çok riskli

Temiz bir kurulum yapmanızı ve yapılandırmanızı yavaş yavaş hareket ettirmenizi şiddetle tavsiye ederim. Aynı zamanda zaman alır, ancak sonunda kararlı bir sürüme sahipsiniz.

Yapmamın sebebi esas olarak deney ve çaresizliğin bir sonucuydu.


0

DPkg :: Linux enstantanelerinde Kurulum Öncesi-Pkgs ve ZFS

İşletim sisteminizi bir ZFS dosya sistemine (örneğin, Linux'ta ZFS ) yüklediyseniz, dosya sisteminizi anında yedekleyecek bir şey yüklemeden veya yükseltmeden önce apt-getçalışacak şekilde yapılandırabilirsiniz zfs snapshot. ZFS anlık görüntüleri dışındaki yedekleme mekanizmalarıyla çalışabilir, ancak bu testi başkalarına bırakacağım.

Senaryo

Gibi bir dosya oluşturun

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

içerikli

// 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')";};

nerede rpool/ROOT/debiansizin işletim sisteminin monte edildiği için ZFS dosya sisteminin adıyla değiştirilmelidir. İşletim sisteminizi ilk kurduğunuzda bu adı siz verdiniz ve bu NAMEkomutla öznitelik altında bulunabilir.

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

Ama işe yarıyor mu?

Rasgele bir internet kullanıcısının konfigürasyon tavsiyelerine uymadan önce bir enstantane çekmeniz gerekir:

# 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

İşte burada. Meli error: fn_borkedyakında ortaya, sen onun mutlu mevcut durumuna sistem geri dönebilir

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

Şimdi deponuzda bulunabilecek iki küçük oyun yükleyerek deneyin:

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

Bu anlık görüntü , iki oyun yüklenmeden önceki dosya sisteminizi içerir .

# exit
$ sudoku

Büyükannem için eğlenceli zamanlar, ama sudokudan nefret ediyorsun.

$ 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

Birden fazla anlık fotoğraf çekildikten sonra, -rbayrağı ekleyerek önceki herhangi birine geri dönebilirsiniz . Bizim durumumuzda, örneğin, deneyin

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

Bununla birlikte, bu yalnızca dosya sisteminizi rpool/ROOT/debian@2018-08-01-230001_testçekildiği zamanki durumuna döndürmekle kalmayacak , aynı zamanda sonraki tüm anlık görüntüleri geri alınamaz bir şekilde sileceği konusunda da uyarılmalıdır . Bu gönderiyle birlikte takip ederseniz, anlık görüntü rpool/ROOT/debian@apt-get_2018-08-02-033614gitmiş olur.

apt-get upgradeİle bir Debian GNU / Linux'ta test ettim.

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

İşe yarıyor. Bir anlık görüntü installkomut için, diğeri komut için oluşturulmuştur upgrade.

Uyarı : Bugün ilk defa bunu test ettim ve apt'nin iç işleri hakkında çok az şey biliyorum. Bu sizin için bir şeyleri kırmak veya iyi düşünülmüş aklımın göz önünde bulundurmadığı riskler içeriyorsa, lütfen bunun hakkında yorum yapın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.