הקדמה

אם אתם מסתדרים היטב עם מחשבים ומכירים מקרוב את מערכת ההפעלה שלהם, תוכלו לעצב אירוע שלכם הזמנה מקורית בהשראה ממוחשבת שתראה לכולם מי אתם. חולמים על הזמנת חתונה מדהימה? היכנסו ל – http://www.invited.co.il ותיהנו.

באחד הימים רציתי ליצור מסמך OpenOffice.org Writer (מעבד התמלילים של חבילת אופן אופיס החינמית) בתוך תיקיה מסויימת. הקלקתי על הכפתור הימני של העכבר באיזור ריק בחלון התיקיה, הצבעתי על תת-התפריט “מסמך חדש” ו… אויה – מצאתי שם אך ורק אפשרות אחת: “מסמך ריק”… לאחר חיפוש קצר במנוע החיפוש הפופולרי בעולם מצאתי את התשובה. הופתעתי מכמה שזה פשוט לביצוע ולכן החלטתי לשתף אתכם.

הערות

Bamboo-prsמדריך זה מתייחס למנהל הקבצים Nautilus בסביבת העבודה Gnome.
ניתן להוסיף כל קובץ שהוא באותו אופן.

אופן ההכנה

יש ליצור מסמך חדש בתוכנה הרלוונטית (OpenOffice.org Writer במקרה שלנו) ולשמור אותו בשם נוח לזיהוי, כגון: “מסמך OpenOffice.org Writer חדש”, בתיקיית Templates אשר בתיקיית הבית של המשתמש.

עכשיו יופיע הקובץ כאפשרות נוספת בתפריט!

ראה את הקוד

(ראה את הקוד השייך לקבצים אלו בהמשך המדריך)

(ראה תמונת מסך בסוף המדריך)

בפרויקטים גדולים יותר נרצה לבצע כל שלב בנפרד, לדוגמה:

שלב ראשון, הידור בלבד –

הידור של כל אחד מקבצי הקוד בנפרד לקובץ אוביקט, בעל סיומת o

קישור של הפונקציה writeln המוגדרת בקובץ הקוד writeln.c לתוך קובץ ההרצה המשותף עם הפנקציה main מהקובץ main.c

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

אודות אובונטו

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

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

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

Why not take time out from setting up your new Linux distro by playing Canadian casino online. You could win tons of cash.

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

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

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

מקור השם אובונטו בשפת זולו, ומשמעותו בתרגום חופשי- “אנושיות כלפי אחרים”.

ראה גם: מדריך התקנה.

מחיצות, עיגון ומה שבניהם

זוגות שמתחתנים, לא משנה אם אתם חובבי מחשבים, חובבי אמנות, או חובבי כדורגל. מה שחשוב הוא, שהזמנת החתונה שלכם תהיה מעוצבת ומדהימה! איך עושים את זה? היכנסו ל- prettypaper.co.il ותבינו!
כללי
לכל פריט חומרה במחשב (ובכלל) יש שם משלו, מעין תעודת זהות (serial number) הנקבעת ע”י היצרן וזאת בכדי לאפשר את שימושו, באמצעות מער’ ההפעלה, ע”י המשתמש בפועל.
דיסק קשיח, במובן זה, אינו שונה מכל רכיב אחר אלא שבמרוצת הזמן נולד הצורך בחלוקה למחיצות ומשזה תפס תאוצה בשימוש רחב נולד הצורך בחלוקת המשנה הלוא הם מחיצות לוגיות.
בהשוואה למער’ חלונות, במער’ הפעלה חופשיות יכולת השליטה על חלוקת המחיצות זמינה הרבה יותר ובהדרכה קצרה יכול המשתמש להינות מיכולת שימוש ותפקוד מקסימלית לפי רצונו ודרישותיו הוא.
במאמרי הקודם, הכנות טרום התקנה, סקרנו את סוגי המחיצות, מער’ הקבצים הדומיננטיות ובדרישות מינימליות להקמת מער’ הפעלה בסיסית. כעת נסקור את משמעות הפרמוט, חלוקה למחיצות ועיגון.
אלוקציה
הדיסק הקשיח הינו אמצעי אחסון מגנטי המחולק ל Tracks (מסילות) ול – sectors (מגזרים) ובשל כך יכול המשתמש, לפי רצונו, לערוך חלוקה חדשה (ושונה אם ירצה) בכל פעם בין כמות מסילות וכמויות מגזרים בכל מסילה כך שיענה על דרישותיו. להקצאה שכזו ניתן לקרוא “פרמוט” או “חלוקה למחיצות” או “אלוקציה”.
לכל חלק מסך האלוקציה יינתן שם משלו, ע”י מער’ ההפעלה עצמה (הגם שניתן להעניק לו שם משלנו במסגרת התיוג – Label עליה לא אסקור במאמר זה) ובכך נוכל לייחד את החלק מהשאר, לעגן אותו כאוות נפשנו ולהעניק לו פרמטרים כאילו היה רכיב נפרד במער’ כך שניתן יהיה לשלוט על תפקודו המלא
(גם במשמעות הרס, מחיקה ושאר מריעין בישין).

במדריך זה נדון

במדריך זה נדון בשלבי ההידור והקישור. לאחר עריכת קבצי הקוד ע”י עורך טקסט, הקבצים צריכים לעבור שני שלבים עיקריים אלו לפני שניתן להריץ את התוצאה הסופית שלב ראשון, הוא שלב ההידור. בשלב זה מהודרים קבצי הקוד (בד”כ בעלי סיומת המזהה את שפת הקוד) לקבצי אוביקט. קבצי האוביקט מכילים הוראות המתאימות למערכת שלנו המבצעות את הפעולות אותן הגדרנו בקוד. בד”כ שם קובץ האוביקט זהה לשם קובץ הקוד עם סיומת o . לדוגמה, הקובץ main.c יהודר לקובץ main.o . קבצי האוביקט אינם ניתנים להרצה, הם מכילים שמות וסמלים של משתנים ופונקציות במקומות בהם צריכות להופיע כתובות מדוייקות עבור המעבד.

השלב השני, הוא שלב הקישור. בשלב זה מקושרים הסמלים והשמות לכתובות מדוייקות בהן יוכל המעבד למצוא את המשתנים והפונקציות בזמן הריצה. שלב הקישור מקשר אל פונקציות שונות של הפרוקיט שלנו הכתובות בקבצי קוד שונים, וגם אל פונקציות המוגדרות בספריות המערכת, כמו לדוגמה malloc או printf
gcc

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

האפשרויות

If you make money from setting up Linux systems, you can double it by playing casino games. Make sure they’re Skrill casinos to guarantee safety.
כללי:
ro – קריאה בלבד (read only).
rw – קריאה וכתיבה (read + write).
exec – הרצה, הוצאה לפועל (execution).
auto – תבוצע עגינה אוטומטית בעת עלית המערכת.
noauto – לא תבוצע עגינה אוטומטית בעת עלית המערכת (ובכל פעם נצטרך לפקוד דרך הטרמינל).
user – בעת עליית המערכת העיגון יהיה בבעלות המשתמש שיצר את נקודת העיגון (זה שנכנס למער’).
users – בעת עליית המערכת העיגון יהיה בבעלות כל המשתמשים שבקבוצת ה users.
nouser – בעת עליית המערכת העיגון יהיה בבעלות משתמש על (root) בלבד.
uid – בכדי לקבוע הרשאה בלעדית למשתמש (לדוג': uid=amos או uid=1000).
gid – בכדי לקבוע הרשאה בלעדית לקבוצת משתמשים (לדוג': gid=homepc או gid=100).
defaults – ברירת מחדל המעניקה את האפשרויות – rw, auto, nouser, exec,
  • ניתן כמובן לתת מספר אפשרויות במקביל כאשר הפרדתם תהיה בפסיק וללא רווחים משום סוג.
למער’ קבצים לינוקסאיות (ext) יש אפשרויות נוספות כאשר אנו מבחינים בין זמן גישה לזמן שינוי:
atime – מבצע הקלטה של זמן הגישה האחרון שנעשה לקובץ.
noatime – לא מבצע הקלטה של זמן גישה כאמור.
relatime – מבצע עדכון לזמן הגישה לקובץ במידה שהוא קודם לזמן השינוי בקובץ.

הגדרת משתנים

שורה זו הגדירה את המשתנה CC להיות המחרוזת gcc. מאוחר יותר נוכל להשתמש במשתנה זה ע”י קריאה ל (CC)$

ישנם מספר משתנים המוגדרים מראש ללא שיהיה צורת להגדירם באופן מפורש בקובץ ה Makefile החשובים הם:

1. CC – מהדר ה C במערכת.

2. CFLAGS – הדגלים הרגילים המועברים למהדר לצורך הידור קבצים.

3. LDFLAGS – הדגלים הרגילים המועבדים למקשר לצורך קישור קבצים.
הגדרת מטרות

הגדרת מטרה לדוגמה:

main.o: main.c writeln.h
$(CC) $(CFLAGS) main.c

בדוגמה זו היעד הוא הקובץ make.o , הדרישות להסגת היעד הם קיום הקבצים main.c ו writeln.h והדרך להשגת היעד היא הרצת מהדר ה C של המערכת עם הדגלים הרגילים על הקובץ main.c צריך לשים לב כי לפני הפקודה להפעלת מהדר ה C יש tab.

חשוב מאד אין רווחים לפני שם ה target, חייבים להכניס tab לפני מחרוזת הביצוע. אם לפני מחרוזת הביצוע יש רווחים ולא tab , תכנת ה make לא תבין את קובץ המ

הקצאה – כיצד

ניתן לפרמט באמצעות שלל תוכנות כגון gparted או דרך הטרמינל. כלום לא יוכל להעניק הדרכה מלבד התנסות (וטעייה) בפועל של המשתמש ורק אזכיר את הדברים הבאים:
  1. דיסק קשיח אחד ניתן לחלוקה של עד 4 מחיצות ראשיות.
  2. מחיצה לוגית הינה מחיצה ראשית הניתנת לחלוקה פנימית (וירטואלית) של מחיצות רבות הרבה יותר.
  3. ניתן להשאיר מחיצה ללא מער’ קבצים (FS) אך זו תישאר ללא יכול עבודה של ממש.
  4. דיגלון ותיוג הינם פעולות שנועדו לעקוף את הגדרות ברירית המחדל בביוס (BIOS), במער’ ההפעלה ו\או את החומרה (לדוג': Jumper) – עליהם לא אסקור במאמר זה.
עיגון
על אף קיומן של שלל תוכניות בעלות ממשק גרפי נוח לביצוע עיגון בחרתי לסקור את האפשרות הידנית מהטעם כי תלות בתוכנה חיצונית לתפעול נושא בעל חשיבות כה רבה משאיר את המשתמש ללא יכולת שליטה וככזה, בעת תקלה, יהיה קושי רב בזיהוי וביכולת ההתגברות עליה.
עיגון ידני יעניק למשתמש את הידע ואת השליטה על הרכיב המדובר ודרכו על מער’ ההפעלה בכל עת.
תחילת תנועה
הן במידה וקיימות מחיצות קודמות כגון אלו של ווינדוס והן במידה וערכנו הקצאה כאוות נפשנו אנו צריכים לדעת מה מזוהה ע”י מער’ ההפעלה בטרם ניגש לביצוע העיגון.
ככלל, אם לינוקס בנויה בקבצים הרי שלכל רכיב במחשב בהכרח יהיה קובץ המגדיר אותו לצורך שימוש בו במער’ ההפעלה, קבצי הרכיבים (Devices) יהיו תחת ספריית השורש (dev/) ורכיבים העונים להגדרה של שטח אחסון יהיו בתוך הגדרות הדיסק (dev/disk/), ניתן יהיה להציג את המידע בכמה דרכים בהתאם לצורך ולהלן כמה מהם:
  1. פקודת mount – תציג את את כלל הרכיבי האחסון המעוגנים בלבד כגון HD, Partitions, USB ורכיבים שעוגנו באמצעות כלי שלישי. כ”כ תוצגנה מיקומי העגינה ופרמטרים לעגינה כגון הרשאות וכיו”ב.
  2. פקודת fdisk -l – ניתנת לשימוש בהרשאת על (sudo), תציג (ברשימה) שלל פרמטרים חיוניים כגון סדר הרכיבים, דיגלונים, מער’ קבצים, סקטורים ומגזרים שהוקצו לרכיב ושאר פרמטרים מעניינים.
  3. פקודת ls /dev/disk – תציג 3 אפשרויות, שיש להוסיף לפקודה, למיון המידע לפי מפרמטרים שניתן יהיה להשתמש בהם לצורך עיגון בזיהוי ובכך יאפשרו חוסן מפני אי אילו שהן תקלות עתידיות או לרכיבים ספציפיים וייחודיים (דוג’ להוספת פרמטר לפקודה: ls /dev/disk/by-uuid).
  4. פקודת blkid – תציג את הרכיבים עם מאפיינים פיזיים חיוניים כגון שמות וסדר הרכיבים.

שלא נמצאת בכל

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

Ubuntu_presentationעל מנת לפתוח את כלי זה, נווטו לתפריט “מערכת”(System) -> “ניהול” (Administration) -> “מנהל החבילות” (Synaptic Package Manager).

כעת, רשמו את שם החבילה שאתם מחפשים, או חלק ממנו, בריבוע ה”חיפוש מהיר” (Quick Seach) בצד שמאל למעלה(או ימין למעלה). בברירת המחדל, הוא יחפש חבילות ששמן או תיאורן הוא מילת החיפוש שהכנסתם. אם ברצונכם להשתמש במצבי חיפוש מתקדמים יותר לחצו על כפתור הSearch, ובחרו מצב חיפוש.

לאחר שמצאתם את החבילה המבוקשת לחצו עליה.

אם היא כבר מותקנת יופיעו האפשרויות “הסרה”(Removal) ו”התקנה מחדש”(Reinstall), ו”שדרוג”(Upgrade) במידה וקיימת גרסה חדשה יותר לאותה החבילה. אם החבילה אינה מותקנת, תוכלו לבחור באפשרות “סמן להתקנה”(mark for installation).

כיצד יש להדר

כאשר מריצים את הפקודה make בשורת הפקודה, היא מחפשת קובץ בשם Makefile. קובץ ה Makefile מכיל תסריט המגדיר לתכנת make כיצד יש להדר את הפרויקט שלנו.

קובץ Makefile פשוט יכיל שני חלקים

חלק של הגדרת משתנים. המשתנים בד”כ יכילו מחרוזות טקסט שימשו בחלק השני של הקובץ.

500px-Installguide1חלק של הגדרת יעדים, דרישות קדם ודרכי ביצוע:

1. הגדרת יעדים: בד”כ שמות של קבצי הפלט, קבצי אוביקט או קבצי הרצה

2. הגדרת דרישות קדם: בד”כ שמות קבצים הדרושים למהדר לצורך הכנת קבצי הפלט. לדוגמה קבצי קוד או קבצי אוביקט

3. הגדרת דרכי ביצוע: בד”כ פקודות להפעלת מהדר gcc

מדריך זה יסביר רק שימוש פשוט ב make כדאי לקרוא על שימושים מתקדמים יותר בתכנה באתר gnu מדריך שימוש ב