גרסה חדשה ל-syslinux

עדכון לעוד אחד מכלי הבסיס שכל איש System צריך להכיר לדעתי, Syslinux.

After 64 prereleases, 626 commits, 52,742 lines of changes, and tons of
work by many, many people, Syslinux 4.00 is now officially released.

למי שלא מכיר, syslinux הוא bootloader מגוון שמאפשר קובץ קונפיגורציה פחות או יותר אחיד, ואפשרות טעינה מכמה מדיות, בעזרת bootloaders שונים:

  • EXTLINUX – עליה מדיסק קשיח, שווה ל-lilo או GRUB
  • ISOLINUX – עליה מ-CD בעזרת הרחבת El-Torito
  • PXELINUX – עליה מ-PXE דרך כרטיס הרשת

ואכן, כמה תכונות חדשות ומעניינות כוללות: תמיכה בעליה ממערכות הקבצים החדשות (יחסית) BTRFS ו-EXT4, תמיכה בדיסקים מעל 2TB, ועוד.

בהחלט שווה מבט לכל sysadmin בשאיפה

Posted in כללי | 1 Comment

חדש ב-bash

אני צעיר.כן. לא עבדתי עם UNIX-ים כמו Digital Unix, לא הייתי בסביבה כש-Bourne Shell או Korn Shell שלטווו!!!1. מאז ומתמיד הייתי איש של Bash. אם אתם מחפשים מישהו להאשים, זה כנראה את דורון.

הכלי הראשון והבסיסי של כל איש System הוא ה-shell, הוא מאפשר לו לבצע את עבודתו השוטפת, למכן ולפשט איפה שאפשר. מסקריפטים פשוטים למחיקת קבצים זמניים ועד מערכות שלמות דוגמת CloneZillla, אשר כוללות אלפי שורות קוד.

מסתבר ש-Bash 4.1 שוחרר כבר לפני חצי שנה, ומגיע עם רוב ההפצות החדשות. עם גרסה 4 של Bash נוספו כמה חידושים שכדאי לציינם:

  • mapfile – פקודה פנימית (built-in) שמאפשרת קריאה של קובץ לתוך מערך (Array), ללא צורך ב-for/loop. דוגמה

$ mapfile PASSARRAY < /etc/passwd

$ cat ${PASSARRAY[0]}

root:x:0:0:root:/root:/bin/bash

  • שינויים בפקודה read – התווספה אופציה חדשה: -i, שמאפשרת ל-read להציג ערך ברירת מחדל בשורת הקלט, כך שהמשתמש יכול לערוך אותו או לקבל את ברירת המחדל ע"י לחיצה על Enter. דוגמה:

$ read -e -i "10" -p "How many files? " answerHow many files? 10

$ read -e -i "10" -p "How many files? " answer
How many files? 10
  • מערכים – עד Bash4 היה ניתן להגדיר מערכים בעלי מצביעים מספריים בלבד (Numeric Index Array). החל מגרסה 4, ניתן להגדיר מערכים בעלי מצביעי מילה (Associative Arrays). לדוגמה:

$ ASSOC[one]="1"

$ ASSOC[two]="2"

  • הפניות – נוספו 2 כמה הפניות חדשות, המעניינות ביותר מבחינתי הן <& ו- <<& ששוות להפניות, בהתאמה:

>FILE 2>&1

>>FILE 2>&1

  • פקודות שלא נמצא – במידה ומנסים להריץ פקודה שאינה קיימת, Bash יריץ פונקציה שנקראת command_not_foung_handle. ניתן לדרוס פונקציה זו להצגת הודעה או חיפוש הכלי המתאים:

$ command_not_found_handle() {

> echo "$1 not found"

> }

$ asdf

asdf not found

אלא כמובן רק חלק מהדברים החדשים ב-Bash4. מי שמעוניין לקרוא קצת יותר בנושא, יכול לפנות לקובץ ה-NEWS של Bash בהפצה בו הוא משתמש

Posted in כללי | 2 Comments

לשים גבולות

לפעמים, האפשרות לשים או לשחרר מגבלות על תהליכים רצים במערכת, יכול להיות שימושי מאוד.

כשמדובר בשרת עם כמה משתמשים או כמה שרותים שרצים במקביל, משתמש או שרות שחורג, יכול להריץ כמות גדולה של Processes/Threads ולגמור את משאבי המערכת. מצד שני, במערכת עם שרות יחיד, הגבלת כמות ה-Processes/Threads יכולה להביא את השרות לרוויה, ובעצם למצב של DoS.

במערכות לינוקס ניתן להגביל או להרחיב את כמות ה-Processes/Threads שמותר למשתמש יחיד להריץ דרך הקובץ

/etc/security/limits.conf

הקובץ הוא חלק מחבילת ה-PAM הסטנדרטית ונקרא ע"י pam_limits.so. במערכות מבוססות RedHat/Debian, המודול pam_limits מופעל כברירת מחדל.

כדי להגביל את כמות המשאבים של משתמש, נערוך את limits.conf, ונוסיף את ההגדרה עבור הקבוצה המתאימה. במידה וישנה יותר משורה אחת שתואמת את המשתמש, הסדר הבא קובע גם את העדיפות. קבוצות אפשריות הן:

  • משתמש – user
  • קבוצה – @group
  • כולם – *

ישנן 3 סוגי הגבלות:

  • soft – הגבלה שניתן לחצות, בד"כ תופיע הודעה
  • hard – גבול עליון אותו אי אפשר לחצות
  • "-" – גבול עליון אשר כולל את soft ו-hard

כמה דוגמאות אפשריות הן:


user                    soft   nproc   500
user                    hard  nproc   1000
@group               –       nproc 500
*                          -      nproc 100

הערך nproc יקבע את כמות ה-Processes/Threads שמשתמש יוכל להריץ.

לתשומת ליבכם: לצורך העניין, במערכות מבוססות לינוקס, Thread ו-Process הם אחד. אם מדובר בהגבלת מערכות שהן multi-threaded, כמו מערכות מבוססות Java, יש לקחת בחשבון שמספר ה-Processes שבשימוש הוא גבוהה מהנראה ע"י תוכנות כמו "top" בברירת מחדל.

דרך מהירה לקבוע את כמות ה-Threads שמריץ שרות מסויים היא בעזרת הפקודה "ps":

ps -eLf | grep <PID> | wc -l

אז אם אתם רוצים להגדיל או להגביל, pam_limits הוא חברכם הטוב.

מאזין ל: Paloma Faith - New York

Posted in כללי | Tagged , | Leave a comment

מיחזור

אחרי הרבה זמן של שקט, החלטתי לחזור ולנסות לכתוב שוב בלוג טכני.

בעבר ניסיתי לכתוב ולעבוד עם מערכת בלוגים שכתבתי בעצמי. נסיון נחמד, אבל לקח יותר מדי זמן בתחזוקה ופיתוח. אז החלטתי לעשות כל מה שאיש קוד פתוח טוב עושה: ממחזר קוד. החלטתי (כמו שכבר בודאי שמתם לב) להשתמש ב-WordPress תקני, הישר מ-wordpress.org.

כאיש System בהכשרה ועבודה, אני מתכוון לכתוב על ולתעד קצת מהנושאים עליהם אני עובד.

מאזין ל: Kings of Leon – Only By The Night – Crawl

Posted in כללי | Leave a comment