תיאור הבעיה #
במהלך תהליך השדרוג של Debian Buster, משתמשים עלולים להיתקל בבעיה בחבילת libc6, וכתוצאה מכך הודעת השגיאה:
/usr/bin/perl: שגיאה בעת טעינת ספריות משותפות: libcrypt.so.1: לא ניתן לפתוח קובץ אובייקט משותף: אין קובץ או ספרייה כאלה (קורא מסד נתונים ... 49108 קבצים וספריות מותקנים כעת.) מתכונן לפרוק ... /libc-dev-bin_2.36-9+deb12u3_amd64.deb ... פריקת libc-dev-bin (2.36-9+deb12u3) על (2.28-10+deb10u1) ... הגדרת libc6:amd64 (2.36-9) +deb12u3) ... /usr/bin/perl: שגיאה בעת טעינת ספריות משותפות: libcrypt.so.1: לא ניתן לפתוח קובץ אובייקט משותף: אין קובץ או ספרייה כאלה dpkg: שגיאה בעיבוד החבילה libc6:amd64 (--configure): חבילת libc6:amd64 מותקנת לאחר התקנה של סקריפט תת-תהליך שהוחזר שגיאה סטטוס יציאה 127 נתקלו שגיאות במהלך העיבוד: libc6:amd64 E: תת-תהליך /usr/bin/dpkg החזיר קוד שגיאה (1)
אָנָלִיזָה #
השגיאה מתעוררת במהלך השדרוג מדביאן באסטר לתולעת ספרים עקב תלות מעגלית ביניהן libc ו libcrypt שנמנעו בכוונה בתולעת ספרים. התלות המעגלית גורמת להיעדר הספרייה המשותפת הנדרשת libcrypt.so.1. חבילת libc6 לא מצליחה להגדיר כהלכה, מה שגורם למצב יציאה של שגיאה. מצב זה מדגיש את המאמצים בתולעת ספרים לשבור תלות מעגלית, מה שמוביל לבעיות פוטנציאליות במהלך שדרוגים.
שלבי רזולוציה #
כדי לפתור בעיה זו, בצע את שלבי הפתרון הידניים המתוארים להלן:
1. פתח מסוף ונווט לספרייה זמנית:
root@noid-ce-01:~# cd $(mktemp -d) root@noid-ce-01:/tmp/tmp.XX#
2. הורד את חבילת libcrypt1:
root@noid-ce-01:/tmp/tmp.XX# apt -y הורדה libcrypt1
3. חלץ את התוכן של חבילת libcrypt1:
root@noid-ce-01:/tmp/tmp.XX# dpkg-deb -x libcrypt1_*.deb .
4. העתק את קובצי הספרייה שחולצו לספריית הספרייה של המערכת:
root@noid-ce-01:/tmp/tmp.XX# cp -ra lib/* /lib/
5. בצע תיקון על כל התקנות מקולקלות:
root@noid-ce-01:/tmp/tmp.XX# apt -y --fix-broken installation
6. השלם את השדרוג של ערימת התוכנה המינימלית:
root@noid-ce-01:~# apt-get upgrade root@noid-ce-01:~# apt-get dist-upgrade
לאחר ביצוע שלבים אלה, יש להתקין את ספריית libcrypt.so.1 החסרה, וחבילת libc6 צריכה להיות מוגדרת ללא שגיאות. לאחר מכן, המשתמשים יכולים להמשיך בשדרוג Debian Buster מבלי להיתקל בבעיות שדווחו בעבר.
הערה: ודא שיש לך הרשאות מתאימות לביצוע פקודות אלה ושקול גיבוי נתונים קריטיים לפני ביצוע שדרוגי מערכת.