আপনি apt-get upgrade
যদি ফলাফলগুলি পছন্দ না করেন তবে উবুন্টুতে এমন কোনও উপায় আছে যেটি করার পরে শেষ আপগ্রেডটি রোলব্যাক করুন বা পূর্বাবস্থায় ফেরা ?
আপনি apt-get upgrade
যদি ফলাফলগুলি পছন্দ না করেন তবে উবুন্টুতে এমন কোনও উপায় আছে যেটি করার পরে শেষ আপগ্রেডটি রোলব্যাক করুন বা পূর্বাবস্থায় ফেরা ?
উত্তর:
aptitude
ডেবিয়ান প্যাকেজ পরিচালনা অনুযায়ী উপলব্ধ থাকলে আপনাকে প্যাকেজের সমস্ত সংস্করণে অ্যাক্সেস দেয় ।
আমি হার্টম্যানের ব্লগস্ট্যাটিক ব্লগ জুড়ে এসেছি: উবুন্টু লুসিডে কীভাবে একটি আপডেট পূর্বাবস্থাপন করবেন
আপত্তিজনক আপডেটটি পূর্বাবস্থায় ফেলার প্রথম পদক্ষেপটি ছিল ঠিক কী আপডেটগুলি তা খুঁজে বের করা। কিছু ফোরাম অনুসন্ধানের পরে আমি আমার আপডেটের ইতিহাসটি দেখতে পেলাম: সিনাপটিক প্যাকেজ ম্যানেজারটি খুলুন (টার্মিনালে "সুডো সিনাপটিক")। মেনু বার থেকে, ফাইল -> ইতিহাস ক্লিক করুন এবং আপনি আপনার আপডেট আপডেটের তারিখ অনুসারে দেখতে পাবেন।
দুর্ভাগ্যক্রমে আমি আজ প্রায় 20 টি আপডেট ইনস্টল করেছি এবং কোনটি সমস্যার কারণ হয়েছে তা আমি জানতাম না। ইতিহাস তালিকার নামের প্রতিটি প্যাকেজ অনুসন্ধান করে, সমস্যার সমাধান না হওয়া পর্যন্ত আমি একসাথে কয়েকটি ডাউনগ্রেড করতে সক্ষম হয়েছি এবং আপত্তিকর আপডেটটি সনাক্ত করেছি। এটা করতে:
আপনি যে প্যাকেজটি ডাউনগ্রেড করতে চান তা সন্ধান করতে অনুসন্ধান বার ব্যবহার করুন। আপনি যা সন্ধান করছেন তা খুঁজে পাওয়ার পরে প্যাকেজটি নির্বাচন করতে এটি ক্লিক করুন। মেনু বার থেকে, প্যাকেজ -> ফোর্স সংস্করণ ক্লিক করুন এবং ড্রপ ডাউন মেনু থেকে প্যাকেজের পূর্ববর্তী সংস্করণটি নির্বাচন করুন। ডাউনগ্রেড প্রয়োগ করতে "প্রয়োগ করুন" বোতামটি ক্লিক করুন।
আমার ডেবিয়ান সিস্টেমে আমাকে আজ এটি করতে হয়েছিল। প্রথমে আমি আপত্তিজনক আপগ্রেড হওয়ার সময়সীমাটি চিহ্নিত করেছি এবং আপগ্রেড হওয়া প্যাকেজগুলির পুরানো এবং নতুন সংস্করণ নম্বরগুলি সরবরাহ করে লগ এন্ট্রিগুলি পুনরুদ্ধার করেছি:
$ 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
এরপরে, আমি ডিস্কে স্থির-ক্যাশেড প্যাকেজ ফাইলগুলি অনুসন্ধান করার চেষ্টা করেছি (ভাগ্যক্রমে আমার জন্য আমি অটোক্লিন চালাইনি):
$ 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
দেখে মনে হচ্ছে যে কোনও কারণে আমার কাছে পুরানো এথিটল প্যাকেজ নেই। তবুও, আসুন পুরানো প্যাকেজ ফাইলগুলি জোর করে ইনস্টল করে চলুন:
$ 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
ত্রুটি বার্তায় যেমন বলা হয়েছে, আমার এক প্যাকেজটি আপগ্রেডের ঠিক আগে-প্যাকেজটির উপর নির্ভর করেছিল, তবে আপগ্রেড এটি সরিয়ে ফেলল (এবং অ্যাপট-গেট এটি আর খুঁজে পাবে না)। ভাগ্যক্রমে, এর প্যাকেজ ফাইলটি এখনও / 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
সফল! আসলে এটি আমার সমস্যার সমাধান করেনি। কিন্তু এটি সফলভাবে প্যাকেজগুলি কিউইডি হ্রাস করেছে।
বেশ কয়েকটি ডেবিয়ান সার্ভারে আজ আমাকে একটি প্যাকেজ আপগ্রেডও পূর্বাবস্থায় ফিরতে হয়েছিল। এপিটিউটিটি ব্যবহার করে আমি সফলভাবে প্যাকেজগুলি শেষ সংস্করণে ফিরিয়ে দিয়েছি, যেখানে নীচের অ্যাঙ্ক কমান্ডটি খুব সহায়ক ছিল।
( নীচের কমান্ডে তারিখের স্ট্রিংটি সেই দিনের তারিখের সাথে প্রতিস্থাপন করুন যে দিন থেকে আপনি আপগ্রেডগুলি ফিরিয়ে নিতে চান )
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 install [paste output here]
আমি আশা করি এটি অন্যদের জন্যও দরকারী সময় সাশ্রয়কারী।
আমি প্রাসঙ্গিক ফাইল সিস্টেম এর একটি সম্পূর্ণ ব্যাকআপ গ্রহণ থেকে না বিশ্বাস করি, সরাইয়া (ঐ যে থাকে /
, /bin
, /lib
, /sbin
, /usr
, /var
, /etc
এবং /boot
(সব ফাইল সিস্টেম উপর হতে পারে) এবং আপনার বুট রেকর্ড) যাতে আপনি ফিরে পরে মেশিন পাকানো পারবেন না।
/var
) এবং যে কোনও প্রাসঙ্গিক কনফিগার ফাইল সঞ্চিত রয়েছে। এরপরে আপনি dpkg
সেই সংস্করণগুলি ইনস্টল করার জন্য স্পষ্টভাবে বলে দিয়ে কোনও রোলকে জোর করে ফেরত দেওয়ার চেষ্টা করতে পারেন। আপনি যখন সাধারণ আপগ্রেডগুলি চান তখন আপনার কিছু কাজ করার দরকার হতে পারে, সুতরাং এটি আমি প্রস্তাবিত কিছু নয়।
আমি আমার লিনাক্স সার্ভারগুলিকে ভার্চুয়ালাইজড পরিবেশে চালিয়েছি এবং এ্যাপ-গেট আপগ্রেডের ঠিক আগে, বা কোনও বড় 3 য় পক্ষের আপডেট / আপগ্রেডের আগে একটি শাপশট চালাই।
তারপরে যদি কিছু ভুল হয়ে যায় তবে আমি কেবল ফিরে যাব এবং আরও তথ্য না পাওয়া পর্যন্ত জীবন চলে।
এটি যখন আমার উবুন্টু বাক্সটিকে 12.04 এ আপগ্রেড করা হয়েছিল তখন খুব হ্যান্ডেল এ এসেছিল এবং কোনওভাবেই মাইএসকিউএল আপগ্রেডের পরে সম্পূর্ণ অ-কার্যক্ষম ছিল। আমি পিছনে ঘুরলাম, উত্তর পরে পেয়েছি, আপগ্রেড পুনরায় করলাম, মাইএসকিউএল স্থির করেছি এবং জীবন ভাল ছিল।
আপনি চেকইনস্টল চেষ্টা করতে পারেন
আপনার পরে। / কনফিগার; আপনার প্রোগ্রামটি তৈরি করুন, চেকইনস্টল ইনস্টল করা চালাবে (বা আপনি এটি চালানোর জন্য যা কিছু বলুন) এবং দুর্দান্ত ইনস্টলওয়াচ ব্যবহার করে এই ইনস্টলেশন দ্বারা সংশোধিত প্রতিটি ফাইলের ট্র্যাক রাখুন ...
সুতরাং আপনি এটি প্রবণতাটি নিরাপদ আপগ্রেড চালানোর জন্য বলতে পারেন এবং এটি আপগ্রেড দ্বারা তৈরি প্রতিটি পরিবর্তনের উপর নজর রাখবে।
নেক্সেন্টা নামে একটি প্রকল্প রয়েছে যা ওবুন্টু ব্যবহারকারী স্থানের সাথে ওপেনসোলারিস কার্নেলকে একত্রিত করে। এটি সোলারিসের জেডএফএস এবং ডেবিয়ানের অ্যাপকে একীভূত করার জন্য একটি সরঞ্জাম সরবরাহ করে যাতে আপগ্রেডগুলির জন্য পূর্বাবস্থায় ফিরে আসা বোতামটি সরবরাহ করা যায়। এখানে দেখুন: http://www.nexenta.org/os/TransactionalZFSUpgrades
আরও সাধারণভাবে, আপনার যা প্রয়োজন তা হ'ল সংস্করণ ফাইল সিস্টেম। লিনাক্সের জন্য বিটিআরএফস চলছে।
অ্যাপট -আনডো ব্যবহার করা একটি সম্ভাব্য বিকল্প, তবে আপনি কেবল প্যাকেজ ইনস্টল ও আনইনস্টল করতে ব্যবহার করলে এটি কাজ করতে পারে। আপনি যদি ইতিমধ্যে সফটওয়্যারটিকে সাধারণভাবে আনইনস্টল করেন তবে এটি কোনও সাহায্য করবে না।
http://www.ubuntugeek.com/apt-undo-a-simple-way-of-undoing-apt-ferences.html http://lkubuntu.wordpress.com/2011/07/27/apt-undo-a -simple একমুখী অফ পূর্বাবস্থায় ফিরিয়ে আনার-কার্যক্ষম-ক্রিয়া /
আমি সফলভাবে কয়েকবার এটি করেছি তবে আমি এটির প্রস্তাব দেব না। এটি আমিই করেছি (যদি আমি সঠিকভাবে স্মরণ করি):
1) ডিফল্ট উবুন্টু সংগ্রহস্থলগুলিতে অন্তর্ভুক্ত নেই এমন কোনও বেসরকারী সফ্টওয়্যার সরান (এটির প্রয়োজন হতে পারে না, তবে তারা আপনাকে যেমনভাবে পেতে পারে তেমন প্রস্তাব দিয়েছি))।
2) আপনার /etc/apt/sources.list (এবং উত্স.লিস্ট.ড / *) পূর্ববর্তী সংস্করণে পরিবর্তন করুন (সমস্ত বেসরকারী সংগ্রহশালা মন্তব্য করুন)।
3) অ্যাপটি-গেট আপডেট / অ্যাপটিটিউড আপডেট
৪) প্রবণতা, ডাউন প্যাকেজগুলি (যেমন এক্স 11, লাইব্রেরি ইত্যাদি) ডাউনগ্রেড ব্যবহার করে। এটি প্রচুর ভাঙা প্যাকেজগুলি ফায়ার শুরু করবে ... সুতরাং আপনাকে প্রতিটি কেস সমাধান করতে হবে (প্রবণতার সাথে এটি কীভাবে করা যায় তা আপনার জানতে হবে)। আপনি যেভাবে এটি ডাউনগ্রেড করছেন তা হল বিবরণ প্যানেলে গিয়ে নীচে সংস্করণটি (+ টিপে) ইনস্টল করা।
5) সমস্ত সফ্টওয়্যার আপনার টার্গেট সংস্করণের অন্তর্ভুক্ত না হওয়া পর্যন্ত # 4 পুনরাবৃত্তি করুন (প্রবণতার সংস্করণ কলামে চেক করুন)।
এই কারণেই আমি এই পদ্ধতির সুপারিশ করি না:
আমি একটি পরিষ্কার ইনস্টল করার পরামর্শ দিচ্ছি এবং আপনার কনফিগারেশনটি অল্প অল্প করে স্থানান্তরিত করব। এটিতে সময়ও লাগে, তবে শেষে আপনার একটি স্থিতিশীল সংস্করণ রয়েছে।
আমি এটি করার কারণটি ছিল মূলত পরীক্ষামূলক এবং হতাশার ফলস্বরূপ।
যদি আপনি আপনার অপারেটিং সিস্টেমটি কোনও জেডএফএস ফাইল সিস্টেমে ইনস্টল করেন (যেমন, লিনাক্সে জেডএফএস ), আপনি কোনও ইনস্টল বা আপগ্রেড apt-get
করার zfs snapshot
আগে চালনার জন্য কনফিগার করতে পারেন , যা তত্ক্ষণাত আপনার ফাইল সিস্টেমের ব্যাক আপ করবে। এটি জেডএফএস স্ন্যাপশটগুলি ব্যতীত ব্যাকআপ পদ্ধতিতে কাজ করতে পারে তবে আমি এই পরীক্ষাটি অন্যের কাছে ছেড়ে দেব।
মত একটি ফাইল তৈরি করুন
/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
আপনার অপারেটিং সিস্টেম মাউন্ট করা জেডএফএস ফাইল সিস্টেমের নামটি প্রতিস্থাপন করা উচিত। আপনি প্রথমে আপনার ওএস ইনস্টল করার সময় আপনি এই নামটি দিয়েছিলেন 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
একটি ডেবিয়ান জিএনইউ / লিনাক্স দিয়ে পরীক্ষা করেছি
# apt-get -t=oldstable install tanglet sudoku
...
# apt-get upgrade
...
# zfs list -t snapshot | grep apt\-get
এটা কাজ করে। install
কমান্ডের জন্য একটি স্ন্যাপশট তৈরি করা হয়েছিল , অন্যটি upgrade
কমান্ডের জন্য।
ক্যাভ্যাট : আমি আজ প্রথমবারের মতো এটি পরীক্ষা করেছি এবং অ্যাপের অভ্যন্তরীণ কাজগুলি সম্পর্কে খুব কম জানি। এটি যদি আপনার জন্য কিছু ভেঙে বা ঝুঁকির মধ্যে পড়ে তবে আমার নীচু মন বিবেচনা করে না, দয়া করে নীচে এটি সম্পর্কে মন্তব্য করুন।