تثبيت وإعداد timeshift على توزيعة فيدورا

مقدمة:

توزيعات جنو/لينكس هي أنظمة تشغيل قابلة للتخصيص بشكل كبير كون نظام ملفات الجذر قابلة للقراءة والكتابة فيه (mutable) وهذا قد يسبب مشكلات في حالة التعديل عليها دون دراية، إضافة لذلك فإن التحديثات ربما تسبب مشكلة تؤدي لانهيار النظام مع أنها نادرة خاصة مع التوزيعات الكبيرة.

لحسن الحظ، هناك أدوات لاستعادة النظام عن طريق إنشاء لقطات (صورة) لملفات النظام وإعداداته، التي يمكنك العودة إليها في أي وقت، ولعل أشهرها timeshift.

ماهو timeshift:

برنامج timeshift هو تطبيق لاستعادة النظام عن طريق التقاط صور على فترات منتظمة. يمكن استعادة هذه اللقطات في وقت لاحق للتراجع عن جميع التغييرات.

ميزاته:

  • سهل التثبيت والإعداد (أرش وديبيان وما بني عليهما) كما أنه يدعم معظم التوزيعات.
  • يأتي بواجهة رسومية بسيطة، كما أنه يدعم الطرفية.
  • يدعم أخذ لقطات للنظام عن طريق Rsync و Btrfs
  • يدعم أخذ لقطات مؤتمتة (كل ساعة، يوميًا، أسبوعيًا، شهريًا وعند التمهيد).

حدود timeshift:

  • في حالة كان نظام الملفات btrfs فإن البرنامج يدعم تخطيط Ubuntu-type subvolume للجذر @ والمنزل home@ فقط.
  • لا يسمح لك بتعديل اسم الصورة.

في حالة توزيعة فيدورا:

  • مدير الحزم dnf يتميز بسجل للمعاملات transaction history تسمح لك بالتراجع عن عمليات dnf في حالة مواجهة مشكلات مع النظام.
  • افتراضيا في فيدورا يحتفظ النظام بآخر ثلاث أنوية قابلة للإقلاع وهذا يؤدي لتفادي معظم مشكلات الإقلاع.

تثبيت timeshift:

1- تغيير subvolume layout إلى تخطيط أوبنتو:

ملاحظة: تمت الخطوات على توزيعة فيدورا 37.

في البداية نحتاج إلى الإقلاع باستخدام نسخة حية من أجل تغيير اسم مجلد الجذر والمنزل.
ندخل للطرفية ثم نعرض أقسام النظام باستخدام lsblk -f.

في حالة btrfs فإن subvolume هي مجلدات فقط لذا نحتاج إلى ضم mount القسم الذي يحتويها (الجذر والمنزل) بالإضافة إلى قسم boot في حال كان منفصلا.

في المثال الذي في الأعلى فإن النظام مثبت في قسم sda7 وقسم boot موجود في sda6

الآن سنقوم بإعادة تسمية مجلد الجذر والمنزل كما هو مضح في الصورة التالية:

بعدها نعدل على مِلَفّ fstab بتغيير كل من:

nano /mnt/@/etc/fstab
subvol=root > subvol=@
subvol=home > subvol=@home

وفي الأخير نعدل على ملفات /boot/loader/entries وذلك أن فيدورا تستعمل BLS، إما باستخدام أداة grubby للتعديل على كل الملفات مباشرة أو تعديلها يدويا حيث سنقوم بحذف subvol=root واستبدالها ب @=subvol.

cd /mnt/@/boot/loader/entries
grubby --remove-arg="rootflags=subvol=root" --arg="rootflags=subvol=@" --update-kernel=ALL

لمن يريد التعديل اليدوي وذلك بتعديل الملفات التي تنتهي ب conf:

cd /mnt/@/boot/loader/entries && ls


بعد الانتاء من التعديل نقلع مرة أخرى للتوزيعة المثبتىة ونكمل الباقي.

نعدل على ملف /etc/kernel/cmdline وذلك بحذف subvol=root واستبدالها ب @=subvol.

 sudo nano /etc/kernel/cmdline

2- تثبيت timeshift:

dnf install timeshift

3- تثبيت grub-btrfs:

مِيزة هذه الحُزْمَة هي إظهار صور النظام الملتقطة عن طريق timeshift في قائمة إقلاع grub.

https://github.com/Antynea/grub-btrfs
sudo make install

الأن سنعدل ملف الإعدادات الخاص ب grub-btrfs:

sudo nano /etc/default/grub-btrfs/config

نقوم بحذف علامة # لهذه الأسطر الثلاثة ستجدها في آخر الملف لتفعيلها:

GRUB_BTRFS_GRUB_DIRNAME="/boot/grub2"
GRUB_BTRFS_MKCONFIG=/usr/bin/grub2-mkconfig
GRUB_BTRFS_SCRIPT_CHECK=grub2-script-check

ثم نفعل خدمة سيستم دي ليتعرف grub على مسار اللقطات.

systemctl enable  grub-btrfs.path

كما تلاحظ في الصورة التي في الأعلى فإن رسالة الخطأ بسبب عدم وجود subvolume الخاص بحفظ اللقطات في مجلد /.snapshots لذلك نحتاج لتعديل مساره (لن تواجه هذه المشكلة في حالة وجود subvolume= @.snapshots ).

systemctl edit --full grub-btrfs.path

سنستبدل كامل محتوى الملف بهذا الذي في الأسفل:

[Unit]
Description=Monitors for new snapshots
DefaultDependencies=no
Requires=run-timeshift-backup.mount
After=run-timeshift-backup.mount
BindsTo=run-timeshift-backup.mount

[Path]
PathModified=/run/timeshift/backup/timeshift-btrfs/snapshots

[Install]
WantedBy=run-timeshift-backup.mount

سنفعل خدمة سيستم دي مرة أخرى

sudo systemctl reenable grub-btrfs.path
sudo systemctl start grub-btrfs.path

نقوم بالدخول للبرنامج واختيار نظام الملفات btrfs ثم تحديد القسم الذي سيتم فيه حفظ اللقطات ويفضل لو كان قسما منفصلا أو حتى usb مع جعل نظام ملفاته btrfs، ثم تحديد عدد اللقطات الممكن أخذها تلقائيا، كما يمكنك تحديد قسم المنزل إذا أردت أخذ لقطات له.

نقوم بأخذ صورة يدوية للنظام لتجربة عمل البرنامج

وآخر خطوة هي إعادة توليد ملف grub لإظهار اللقطات في قائمة عند التمهيد

grub2-mkconfig -o /boot/grub2/grub.cfg

ملاحظة: ليس هناك حاجة لإعادة توليد ملف grub كل مرة.

وبهذا نكون قد أنهينا تثبيت وإعداد timeshift.

لمزيد من الاستفادة يرجى متابعة هذا الفيديو على قناة نوفرة تك: الطريقة الصحيحة لاستخدام TimeShift مع Btrfs

خاتمة:

أداة استعادة النظام هي برنامج لا غنى عنه في النظام، خاصة لمن يحب تخصيص النظام والغوص في إعداداته.

آمل أن يساعدك هذا الدليل على البَدْء مع Timeshift، ورغم أني لم أشرح طريقة استخدامه إلا أنه يقدم واجهة بسيطة للتعامل معه.

4 إعجابات

لم اكن اعلم بوجود امكانية عرض الصور الخاصه بالبرنامج في grub
معلومه جديدة ، جزاك الله خيرا

آمين وإياك، ستجد حزمتي grub-btrfs, timeshift في المستودعات الرسمية لمنجارو.

عندما كنت أستعمل منجارو بواجهة جنوم كانتا مثبتتين بشكل افتراضي إلى جانب timeshift-autosnap فيكفي أن يقوم بتحديث التوزيعة حتى يتم أخذ صورة للنظام.

سأجربها بإذن الله ، اظنها ستفيد في يوم من الايام

توزيعة أرش وما بني عليها تحتاج في الغالب برنامج لإدارة اللقطات

مقال مفيد جداً. برنامج timeshift هو احد اول البرامج الني اثبتها على اي توزيعة.

إعجاب واحد (1)

اذكر هناك برمجيه اخرى تدعم النسخ الاحتياطي بميزات اكثر وتثبتيها اسهل، صحيح؟

بارك الله فيك
صحيح برنامج النسخ الاحتياطي مهم جدا سواء لملفات المستخدم أو النظام خاصة في التوزيعات التي لا تؤتمن مثل أرش وما بني عليها وإن كانت ثابتة وأفضلها كثيرا ولكن أي تحديث قد يهوي بها، أو حتى التوزيعات الديبيانية مع مشاكل apt.

بالنسبة لتوزيعة أوبن سوزي فهي تأتي مع نظام لأخذ لقطات للنظام مدمج مع yast.

بالنسبة للتوزيعات الريدهاتية فمدير الحزم dnf يأتي بميزة للتراجع عن التحديث ولا يقوم بأي عملية من تحديث وتثبيت وحذف إلا بعد تفقد transaction، كما أنها تحتفظ بآخر ثلاث أنوية قابلة للإقلاع.

إعجاب واحد (1)

هو برنامج snapper من أوبن سوزي ميزاته أشمل ولا وجود للحدود التي ذكرتها فوق، بالنسبة لإعداده في فيدورا فهو أسهل من timeshift.

أول مرة اسمع عن برنامج snapper. شكراً لك عثمان راح اجربه.

نعم هذه احد اهم المميزات التي تجعل من فيدورا خيار جميل جداً.

العفو، تثبيته واستخدامه سهل نوعا ما إن هدفك حفظ لقطة لأي subvolume لكن إعداده من أجل استخدام snapper rollback ستحتاج لبعض العمل كونه مصمم لأوبن سوزي فتحتاج لطريقة عملهم كذلك.

إعجاب واحد (1)

الطريقة لم تعمل معي فيدورا 37 arm يفشل بل اقلاع

متاكد انه يدعم ARMv8?

هل اتبعت الخطوات كما هي؟ لأني جربت على جهاز حقيقي

أرسل بعض الصور للتوضيح.