פתרון מסד הנתונים של מצב dpkg ננעל על ידי תהליך אחר

Resolve Dpkg Status Database Is Locked Another Process



מדריך זה מסביר כיצד לתקן את השגיאה מסד הנתונים של סטטוס dpkg ננעל על ידי תהליך אחר בהפצות לינוקס מבוססות דביאן.

בדרך כלל, שגיאה זו פירושה מנהל חבילות משמש תהליך אחר, כנראה תקוע. השגיאה עשויה להחזיר פלט כמו







מסד הנתונים של סטטוס dpkg ננעל על ידי תהליך אחר

אך אותה סיבה עשויה ליצור הודעות שגיאה שונות כמו המוצגות בצילום המסך למטה.



dpkg: error: נעילת חזית dpkg נעולה על ידי תהליך אחר



תסמינים אחרים מאותה סיבה עשויים לכלול את ההודעה הבאה.





מחכה לנעילת מטמון: לא ניתן היה לקבל lock/var/lib/dpkg/lock-frontend. הוא מוחזק על ידי תהליך 2839 (apt) ... 30s

או שהשגיאה מוצגת למטה.



E: לא ניתן היה לקבל lock/var/lib/dpkg/lock -frontend - פתוח (11: המשאב אינו זמין באופן זמני)
E: לא ניתן לרכוש את המנעול הקדמי של dpkg (/var/lib/dpkg/lock-frontend), האם תהליך אחר משתמש בו?

ברוב המקרים, דוגמאות קודמות הן דיווח שאתה כבר מתקין, משדרג או מסיר חבילות. במקרים מסוימים, ייתכן שמנהלים מרובים מנהלים תוכנות באמצעות מנהל החבילות, או שתהליך עלול לחסום את היישום (dpkg), והריגת התהליך כפי שהוסבר להלן פותרת את הבעיה.

הערה: זכור תמיד להשתמש dpkg ו מַתְאִים עם סודו .

כיצד לתקן dpkg או apt נעול או בלתי זמין באופן זמני:

עליך לזהות את התהליך הכובש dpkg או מתאים להרוג אותו. כדי לזהות את התהליך, תוכל להשתמש בפקודה שלהלן.

sudo lsof/var/lib/dpkg/lock

כפי שאתה יכול לראות, מזהה התהליך (PID) הוא 16386 . כדי להרוג אותו, הפעל את הפקודה למטה, החלף 16386 עבור ה- PID בפועל באמצעות מנהל החבילות.

sudo kill -9 16386

תוכל גם להריץ את הפקודה למטה כדי לזהות את מספר ה- PID.

sudo lsof/var/cache/apt/archives/lock

לאחר מכן הפעל:

sudo dpkg -configure -a

דרך נוספת לזהות את תהליך PID ולהדפיס מידע על השימוש בו היא באמצעות נ.ב פקודה עם grep, כפי שמוצג להלן.

ps ל | grep apt

תיקון שגיאות dpkg ו- apt אחרות

בחלק זה תוכל למצוא כמה שילובי פקודות לתיקון מספר בעיות apt ו- dpkg.

הפקודה הראשונה שעליך להריץ לפני שהבעיות היא apt-update, כפי שמוצג מטה. פקודה זו מעדכנת מאגרים מתאימים.

עדכון sudo apt-get

המשמש בעבר dpkg – הגדר -א הפקודה משמשת לתיקון בעיות תלות.

sudo dpkg -configure -a

ניתן להשתמש בפקודה שלהלן גם לתיקון בעיות תלות.

sudo apt -get -f להתקין

כדי לנקות תלות חסרות תועלת, אתה יכול להריץ:

sudo apt-get clean

מידע על מנהלי חבילות דביאן

מנהלי החבילות הזמינים של דביאן כוללים dpkg, מַתְאִים , apt-get , כִּשָׁרוֹן , סינפטי, ו dpkg-deb .

  • dpkg: Dpkg הוא מנהל החבילות הראשי של דביאן וההפצות המבוססות עליו.
  • מַתְאִים: הוא frontend עבור dpkg המסוגל להביא חבילות ולפתור תלות.
  • כִּשָׁרוֹן: חזית אינטראקטיבית עבור apt.
  • סינפטיקס: מנהל חבילות גרפיות.
  • dpkg-deb: פקודה נוספת להתקנת חבילות .deb.

תוכל למצוא מידע נוסף על כל מנהלי החבילות של Debian בכתובת https://www.debian.org/doc/manuals/debian-faq/pkgtools.en.html#pkgprogs

סיכום

כפי שאתה יכול לראות, תיקון בעיות dpkg או apt הוא די קל, ולרוב השגיאות יש סיבות ידועות. הפקודות שהוסברו למעלה יכולות לתקן כמעט את כל הבעיות הקשורות בחבילות שבורות או בהליכים מופרעים. מכיוון שהתאמה והכשרות הם חזיתות dpkg, בדרך כלל אמצעים לתיקון בעיות זהים. אם כל השלבים המתוארים, אינם פועלים ושגיאתך מתרחשת במחשב שולחני, הפעלה מחדש של המחשב חייבת לשחרר את מנהל החבילות. אך כל השלבים לעיל, אם הם מיושמים כהלכה, חייבים לבצע את העבודה.

אני מקווה שמאמר זה מסביר כיצד לפתור את מסד הנתונים של סטטוס dpkg ננעל על ידי תהליך אחר השגיאה הייתה שימושית.