Lifehacker יקר,
עברתחלונותומקתחזוקה, אבל מה לגבי משתמשי לינוקס? אני די חדש בלינוקס, ואני מכיר את התחזוקה של Windows, אבל לא יודע אם אותם כללים חלים. מה אני צריך לעשות כדי לשמור על מערכת אובונטו?
בְּכֵנוּת,
עדיין לומד לינוקס
למידה יקרה,
מזל בשבילך, קוראTheFuזה עתה כתב מדריך תחזוקה נהדר של לינוקס בבלוג שלו, בתגובה לפוסטים שלנו ב-Mac ו-Windows. לא יכולנו להגיד את זה טוב יותר בעצמנו, אז נשאיר לו להדריך אותך.
איזה סוג של תחזוקה אתה צריך לעשות על מחשב מבוסס אובונטו/דביאן/APT? שאלה טובה. זה די פשוט...למחשבים שולחניים.מאמר זה מיועד לתחזוקת מערכת שולחנית מבוססת APT, לא עבור שרתי לינוקס. שרתי לינוקס צריכים רק קצת יותר אהבה כדי להישאר מאושרים. לא השתמשתי בהפצות מבוססות RPM כבר שנים רבות, אז אני לא מרגיש בנוח לספק פקודות כדי לבצע את הדברים שאתה צריך לעשות, אבל הרעיונות זהים.
בואו נתחיל.
התקן תיקוני/עדכונים של מערכת ויישומים
זה יתקן את מערכת ההפעלה ואת כל היישומים שלך.
$ sudo apt-get update; sudo apt-get dist-upgrade
נַעֲשָׂה.
גבה את הדיסקים הקשיחים שלך
גיבוי, גיבוי, גיבוי. בסופו של דבר, אתה תודה לי. לעתים קרובות, אתה צריך פתרון מדורג עבור גיבויים מכיוון שדחיפה של 2TB של נתונים לענן היא רעיון גרוע וייקח חודשים להשלים.
מקומי - הכל צריך גיבוי מקומי. הַכֹּל. המפתח הוא להפוך אותו לאוטומטי, בגרסה וניתנת לשחזור. הגיבוי צריך להיות גם בדיסק פיזי אחר. אני אוהב כמה כלים פשוטים בשביל זה.
חזרה בזמן
גיבוי rdiff
מרחוק - יש להצפין קבצים קריטיים כמו סיסמא KeePassX ונתונים קריטיים אחרים (תמונות חתונה, לידות, נתוני Quicken וכו') ואז לדחוף אותם לשרת מרוחק.
Crashplan -אפשרות טובה
עשה עסקה עם חבר להחלפהtruecryptנפחי גיבוי. כל גיבוי שעוזב את המיקום הראשי שלך,חוֹבָהלהיות מוצפן.
לפני שאגבה את המערכות שלי או את ספריית HOME, אני בטוח שאציב כמה קבצים חשובים באמת ב-HOME כדי להקל על החיים מאוחר יותר, במהלך ההתאוששות. קבצים כמו ה-crontab האישי שלי ורשימת כל התוכנות המותקנות במערכת. כך:
# Capture some important information # installed packages $ sudo dpkg -get-selections > ${HOME}/installed-software # my crontab $ crontab -l > ${HOME}/crontab.${LOGNAME}
נקה קבצים זמניים
במערכות UNIX/Linux, אנשים משתמשים בספריית /tmp עבור קבצים זמניים. אם הגעת מ-Windows, אף אחד לא אמר לך לעשות זאת, אז התחל עכשיו. האזור, /tmp, מתנקה אוטומטית.
אין רישום בלינוקס, אז אתה לא צריך מנקה רישום.
הניקוי עבור רוב הקבצים הזמניים האחרים מטופל באופן אוטומטי, אך עורכים מסוימים עשויים להשאיר קבצים המסתיימים בתו '~'. ניקוי קבצים אלה הוא די פשוטלִמצוֹאפְּקוּדָה. אתה יכול לנקות אותם מתחת ל-HOME שלך כמשתמש רגיל, או, אם אתה יכול להיות / האם אתה root, אתה יכול לעשות את זה עבור כל המערכת, אבל זה יכול להיות מסוכן ביותר. מפעיל אותו בליrmהפקודה הראשונה היא ארעיון ממש טוב.
$ find $HOME -type f -name "*~" -print
אחרי שזה נראה עושה מה שאתה רוצה, הוסף את-execחֵלֶק.היו זהירים ביותראו שתשתמש בגיבויים האלה לשחזור.הוזהרתם.אני מדבר מניסיון.
$ find $HOME -type f -name "*~" -print -exec rm {} \;
לפני שנים, קריסות ליבה קרו לעתים קרובות יותר וכתבו אותןליבהקבצים תחת /var. אתה חייב להיות שורשי כדי לנקות אותם, בהנחה שאתה לא שומר אותם לניפוי באגים או שאין לך את הכישורים הדרושים לעשות זאת.
$ sudo find /var -type f -name "core" -print
עבור קבצים אחרים שהם זמניים, אבל אני לא רוצה להכניס אותם ל-/tmp, אני מתזמן את הסרתם בעתיד עםבְּ-. לדוגמה, לעתים קרובות אני מניח קבצים בשרת אינטרנט שהם זמניים, שם עבור אדם ספציפי, אך אינם מוגנים באמצעות סיסמה. מסתכל עכשיו, אני רואה 3בְּ-משרות מתוכננות להמשך השנה. אלה ישרדו אתחולים וברגע שיפעלו, לעולם לא יופיעו שוב.
בכנות, אני משקיע יותר מאמצים בניקוי אובייקטים קבועים של Flash, Macromedia מאשר קבצים זמניים. כך:
$ rm -rf ${HOME}/.macromedia/* ${HOME}/.adobe/*
פָּשׁוּט. אני מפעיל את הפקודה הזו לפני הגיבויים האוטומטיים הליליים שלי.
הסרת התקנה של תוכניות
אם אתה משתמש במנהל החבילות כדי להתקין תוכנה, עליך להשתמש במנהל החבילות כדי להסיר תוכנה. עבור מערכות מבוססות APT, כך:
$ sudo apt-get purge [package]
או אם אינך רוצה להסיר את כל ההגדרות המותאמות אישית שלך, אך עדיין רוצה להסיר את התוכנית, השתמש ב:
$ sudo apt-get remove [package]
איחוי? לא, אבל הפעל את FSCK מדי פעם
Defrag - לא. למערכות קבצים לינוקס אין צורך באיחוי.
דיסקים קשיחים מלאים
עם זאת, אם אתה נותן להם להתמלא באמת, כמו מעל 95% מלאים, תראה כמה האטות רציניות במערכת. אם תאפשר למערכות הקבצים החשובות באמת, כמו /var או / להתמלא, אתה עלול לקרוס את המערכת. להיות מלא בא בשתי דרכים בלינוקס.
נגמר שטח האחסון - בדיוק כמו תחת Windows
מתוך אינודות - וזה גרוע באותה מידה, אבל לא כל כך מהיר למשתמש חדש ללינוקס לראות. בדוק את האיודות שלך עם:
$df -i
fsckהוא בודק מערכת קבצים לוגי. יש גרסה שונה לכל סוג מערכת קבצים של Linux/UNIX, בדרך כלל נקראת fsck.ext3 או fsck.jfs או fsck.xfs. אם תוכנית fsck הבסיסית לא יכולה לקבוע את סוג מערכת הקבצים, אתה יכול להגיד לה איזה סוג עם ה--תאפשרות או התקשר ידנית לתוכנית הנכונה בעצמך. אם אתה קורא לתוכנית הלא נכונה, אני מקווה שהיא תסרב להפעיל, אבל מכיוון שמדובר ב-Linux/UNIX, אתה יכול לאלץ אותה ולהרוס לחלוטין את מערכת הקבצים הבסיסית אם תכריח את הסוג השגוי. עליך לבטל את טעינת מערכת הקבצים לפני שתוכל להפעיל את fsck ולבצע תיקונים כלשהם. עשה זאת כך:
ראשית, עליך לקבוע את ההתקן המותקן - בדרך כלל משהו כמו /dev/sda8. לְהִשְׁתַמֵשׁdfכדי לראות את מערכות הקבצים המותקנות.
$ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/hda2 4161216 2660112 1291392 68% / varrun 524396 60 524336 1% /var/run varlock 524396 0 524396 0% /var/lock udev 524396 16 524380 1% /dev devshm 524396 0 524396 0% /dev/shm
זה מעלה בעיה. / היא מערכת הקבצים היחידה המותקנת במחשב זה. אני לא יכול לבטל את הטעינה בזמן שהמערכת פועלת, אבל אני יכול לאלץ fsck באתחול הבא. אֵיך?
$ sudo touch /forcefsck $ sudo shutdown -r now
עלי לציין ש-fsck יופעל אוטומטית בכל אתחול X. הספירה בפועל בין ריצות fsck אוטומטיות היא פרמטר שניתן לכוונן במערכת הקבצים כאשר הוא נוצר או שאתה יכול להפעילtune2fs. tune2fs הוא כלי מתקדם עבור מערכות קבצים ext2/3/4 ולא עבור משתמשי לינוקס מזדמנים. אם תשאיר את המערכת שלך פועלת 24/7, אתה עלול לגלות ששום fsck לא הופעל במשך יותר משנה. זה לא בהכרח רע, אבל גם לא כפיית צ'ק. אני מכריח אחד בערך כל 6 חודשים מיד לאחר שנדרש אתחול ליבה. רק לבהירות קיצונית, זה 2 אתחולים שונים.
קרנל חדש, אתחול מחדש
גע ב /forcefsck, אתחול מחדש
אל תעשה את שניהם בו זמנית, בבקשה.
מערכות קבצים מתקדמות יותר כמו ZFS מאמתות את מערכת הקבצים, את הנתונים שנכתבו ונקראים מחומרת הכונן. יום אחד, EXT4 וגרסאות מאוחרות יותר עשויות לקבל את היכולות הללו, אבל לעת עתה, יש לנו fsck.
ברגע שתסיר מערכת קבצים שאינה שורש, /, אתה עדיין רוצה להפעיל את fsck עם:
$ sudo fsck -y /dev/sda8
כאשר sda8 הוא המכשיר שמתחבר. אני מניח שאתה יכול לעשות את זה עם UUID, אבל אף פעם לא עשיתי ואני לא יודע אם זה עובד. אתה יכול לבדוק את /etc/fstab עבור נקודת ההרכבה למיפוי UUID/מכשיראוֹחפש ב-/dev/disk/by-uuidאוֹפשוט להשתמשdf.
במערכות מסוימות תמצאntfsfixוfsck.vfat. אלה יכולים להיות מועילים אם יש לך בעיות עם הדיסקים הקשיחים של Windows, כאשר Windows לא יכול לפתור את הבעיה. מדוע ntfsfix לא נקרא fsck.ntfs? אני לא יודע, אבל כנראה יש סיבה טובה.
לנקות את הרישום שלך?
לֹא. משתמש בלינוקסקבצי נקודות. הם נקראים כך מכיוון שכל קובץ שמתחיל ב-[נקודה] לא יוצג ברשימות ספריות רגילות. א.vimrcנפוץ בספריית HOME שלך.
להתקין מחדש באופן קבוע כדי לנקות את Cruft?
לֹא. אם אתה משתמש במנהל החבילות כדי להתקין ולהסיר תוכנות תוכנה, לא יישאר לך עוד חומר כמו ב-Windows. אם אתה מתקין בשיטה אחרת, כנראה שכלול כלי לביטול ההתקנה. אם לא, אתה יכול 99.99999% פשוט למחוק את הקבצים שהותקנו. היזהר רק במחיקת קבצים שהותקנו עם מנהל חבילות. פעולה זו עלולה לגרום לבעיות מאוחר יותר.
לעדכן אנטי וירוס?
לֹא. בטח, אתה יכול להפעיל כלי אנטי-וירוס, אבל הוא יחפש חתימות וירוסים של MS-Windows. על ידי כך, אתה משתמש טוב יותר ברשת, אבל לא ממש עוזר למחשב הלינוקס שלך הרבה. אם יש לך מחשבי MS-Windows ברשת שלך, זה עדיין רעיון ממש טוב.ClamAVהוא ה-AV הסטנדרטי עבור מערכות לינוקס.
יש צורך באתחול לאחר כל התיקונים?
לֹא. הפעם היחידה שאתה צריך לאתחל היא לאחר עדכון ליבה ואוּלַילאחר עדכון libc. בשאר הזמן, כל תוכנית או תיקוני מערכת אמורים להפעיל מחדש באופן אוטומטי את התוכנית שצריכה הפעלה מחדש עבורך. אם זה לא קורה, אתה יכול בדרך כלל להפעיל פקודת הפעלה מחדש באופן ידני, כמו
$ sudo /etc/init.d/mysql restart
אוֹ
$ sudo /etc/init.d/apache restart
אל תפעיל מחדש את מערכת לינוקס שלךללא סיבה טובה. גרסאות לינוקס חדשות יותר עוברות מהסקריפט של init.d שעבד היטב במשך 30+ שנים לתוכנית בשםמתחילשאמור להיות בעל תכונות מתקדמות ולהקל על החיים. תקראו לי ספקן אופטימי. ביטול לימוד הרגל של 20 שנה לא הולך להיות קל עבורי.
בדיקות חומת אש
אם יש לך מחשב, כל מחשב, אתה צריך להפעיל עליו חומת אש. ללינוקס ישiptablesמובנה, אבל ממשק CLI יכול להיות מרתיע עבור משתמשי לינוקס חדשים יותר.ufwהוא ממשק CLI ל-iptables, אך עדיין הרבה יותר קל לשימוש. אם אתה רוצה לחסום את כל הבקשות הנכנסות, מלבד ssh, זה מה שאתה צריך להקליד.
$ sudo -s # ufw reset # ufw default deny incoming # ufw allow ssh # ufw enable # ufw status
זה אמור להביא
# ufw status Status: activeTo Action From - -— -- 22 ALLOW Anywhere
אם אתה Telnet ליציאה פתוחה כלשהי במערכת (למשל telnet localhost 80), אתה אמור לראות את א[UFW BLOCK]הודעה ב-syslog. החיבור חסוםלִפנֵילמאזין יש הזדמנות להגיב.
אם אתה לא מפעיל את ufw, אתה תמיד יכול לבדוק ישירות עם iptables
$ sudo iptables -L
אם אתה רץfail2banכדי להגן על חיבור ה-ssh שלך, נראה שזה לא משנה את זה. זה עדיין עובד.אבני fail2ban.
עדכוני מנהל התקן גרפי
אם מנהלי ההתקנים הגרפיים שלך עובדים בשבילך, אז כנראה שזה רעיון טוב להשאיר אותם לבד אלא אם כן יש סיבה אמיתית לעדכן.שימו לב שלא אמרתי שדרוג. הניסיון שלי הוא עם מנהלי התקנים קנייניים של nVidia והתקשרות לכמה מהמנהלים שפורסמויַצִיביהיה שקר. ובכל זאת, מנהלי ההתקן שאינם קנייניים עשויים להיות איטיים יותר ופשוטים. לכן, אם תחליט לעדכן את מנהלי ההתקנים הגרפיים שלך, היה מוכן לעשות קצת תחזוקה לאחר מכן.
בנה מחדש את הקרנל
הגדר מחדש את ההגדרה הכפולה או מרובת המסכים שלך
אל תשכח שבכל פעם שיש גרעין חדש, אתהייתכן שיהיה צורך להתקין מחדש את מנהלי ההתקנים הגרפיים הקניינייםכדי לקשר מחדש לקרנל החדש.
תַקצִיר
זה כמעט מכסה את זה. אם רק תבצע את שני הראשונים, אתה תהיה די בטוח. אלה היו
התקן תיקונים ועדכן את האפליקציות שלך
גיבויים
פָּשׁוּט. עכשיו לך ותעשה לפחות את 2 הדברים האלה במחשבי לינוקס שלך.
TheFu הוא ארכיטקט טכני ארגוני, אוהב F/LOSS, מפתח C/C++ חוצה פלטפורמות, מהנדס תעופה וחלל ומדען טילים. הוא נהנה מ-Shiner Bock, Pina Coladas, מסעות וטיולים כשהוא לא פורץ תסריטים של פרל או קונכייה. עקבו אחריו בhttps://identi.ca/thefu.