אחד הדברים שאני הכי אוהב ב- Arch Linux ובנגזרות שלו הוא קלות אדירה כדי ליצור חבילות להתקנה מאוחרת יותר במערכת, בניגוד לחבילות המוכרות deb של דביאן / אובונטו / לינוקס מנטה / וכו 'זה כאוס (ואם הם ספריות אני לא אומר לך).
תבנית בסיס תהיה זו:
# Maintainer:
pkgname=
pkgver=
pkgrel=
pkgdesc=
arch=()
url=
license=()
groups=()
depends=()
makedepends=()
source=()
md5sums=()
build() {
...
}
package() {
...
}
כעת אסביר על כל פרמטר:
- # מתחזק: בו שמים את תחזוקת החבילה
- שם חבילה: שם החבילה. הוא יכול להכיל רק אותיות, מספרים, -, _ ו- +
- pkver: גרסת חבילה. pe 1.0.0
- pkgrel: סקירת התוכנית או החבילה. pe 1
- pkgdesc: תיאור החבילה.
- קֶשֶׁת: הארכיטקטורה של התוכנית: היא יכולה להיות כל אחת (לכולם), i686 ו- x86_64, בהיותה חבילות שאינן דורשות אוסף, כמו תוכניות bash או python. אם מדובר בתוכנית שזקוקה לה (למשל, תוכניות ב- C או C ++), עליכם לציין את i686 אם מדובר על 32 סיביות או על x86_64 עבור 64 סיביות. באופן כללי, אם הוא תואם לשניהם, הוא מוגדר (i686, x86_64)
- url: כתובת האתר לדף הרשמי של התוכנית. רצוי לשים את זה.
- רישיון: רישיון התוכנית. למשל GPL3
- קבוצות: את הקבוצות אליהן שייכת החבילה. קבוצות = ('מערכת')
- תלוי: בה אנו מציינים את החבילות הדרושות לביצוע התוכנית. pependens = ('python2' 'pygtk')
- מכין תלוי: התלות הנדרשת רק להרכבת החבילה. אם יש להוריד את הקוד ממנהל גרסאות, מומלץ לשים אותו. pe: makedepends = ('git')
- מקור: בו אנו מציינים את הקבצים הדרושים ליצירת החבילה. ככלל, כתובת האתר לחבילה היא המכילה את הקוד, תיקון, קובץ .desktopt, אייקונים וכו '. pe: source = (pacsyu.desktop)
- md5sums: להלן סכומי md5 של הקבצים שצוינו במקור. כדי לדעת אילו מהם אנו מריצים ממסוף בתיקייה בה נמצא PKGBUILD (לאחר שכתבנו את נתיבי הקבצים במקור) makepkg -g והסכומים יופיעו על המסך.
אפשר גם להשתמש בסכומים אחרים כמו sh1. - לִבנוֹת: בפונקציה זו נכניס את פקודות הנדרשות כדי להמשיך ולקמפל את התוכנה. אם אין צורך לקמפל יש צורך רק בפונקציה הבאה)
- חבילה: בפונקציה אחרת זו פקודות התקנת התוכנית ילכו. לדוגמה, אם אנו מקבצים קוד C כאן ההתקנה make תעבור.
ולסיום אנחנו פשוט צריכים לבצע makepkg כדי לוודא שהחבילה נוצרה.
כפי שאתה יכול לראות, קשה לנו. ואז אני משאיר אותך עם כמה פרמטרים נוספים של makepkg:
- -אני: מורה ל- makepkg להתקין את החבילה לאחר יצירתה.
- -s: התקן את תלות החבילה אם הם נמצאים במאגרים.
- -F: אם כבר קיימת חבילה עם שם, גרסה ותיקון זה עם פרמטר זה אנו אומרים לך להחליף אותו.
- -ג: נקה את תיקיות העבודה (pkg והמקור) לאחר סיום.
- -א: ארוז מחדש את החבילה מבלי להידרש מחדש.
אני ממליץ לראות יותר קבצי PKGBUILD כדי לראות דוגמאות נוספות, לבצע את הפקודה makepkg -h כדי לראות את שאר פרמטרי התוכנית, בנוסף לראות את makepkg תיעוד רשמי ב- Arch Linux Wiki מה אתה יכול למצוא כאן
טוב מאוד …
האם אתה יכול לגרום לחבילת .exe לנהל (לקמפל) לחבילת Arch?
כמו למשל מנהל ההורדות המפורסם המיפוני ??
עד כמה שידוע לי זה לא אפשרי, זכור כי ה- .exe הם בינאריות ולא קוד מקור. אבל יש JDownloader.
כמו שאתה אומר, אתה לא יכול לקמפל מחדש exe מכיוון שזה קוד בינארי.
ניתן ליצור חבילה שמתקינה אותה ומבצעת אותה עם Wine, וכך גם החבילה ב- AUR של תוכנית ה- P2P הידועה Ares.
מישהו משתמש בלינוקס ומתגעגע למיפוני ... ג'יג'יג'יג'י
jDownloader נמצא בג'אווה, וידוע לכל שג'אווה גורמת לסרטן ריאות ...
מעניין, נצטרך לבדוק חבילות אני חושב שאני אהיה נוטה לעשות את זה מ- qbittorrent האהה כבר קיים ביאור אבל גרסה משלך לא תהיה רעה לבדיקה, תודה על המידע, הברכות.
קלט טוב, +1
אני רוצה להוסיף שהם גם קלים יותר ליצירה ותחזוקה מאשר ג'נטו ebuilds!
לגבי דביאן, אני חושב שההפצה הזו תעלה את הנכות שלה בצורה עצומה רק על ידי מודרניזציה או מעבר למערכת מודרנית יותר של חבילות וניהול חבילות, אני לא יודע מתי העדכון האחרון של ערכת ה- dpkg / apt יהיה, אך הרעיון כבר אמור היה להיות קל 15 שנה והאמת היא שהיום הוא אנכרוניסטי.
תודה רבה, חיפשתי את זה לאחרונה בוויקי ולא הבנתי את המבנה (רציתי לעדכן את ה- PlayonLinux) אבל עדיין וויתרתי ... יש דברים שהייתי רוצה שיהיה לי עוזר או משהו כזה (אל תירה בי) אבל עדיין ... בהיעדר כלים לאורך זמן אראה אם אני יוצר כאלה
בזכות המדריך שלך התחלתי ליצור את PKGBUILD של Zeya (http://web.psung.name/zeya/ברגע שאני מסיים את זה, אני מעלה אותו ל- AUR 🙂
מסכים לחלוטין, לפני זמן מה ניסיתי ליצור חבילה לאובונטו ולא היה אפשרי עבורי למצוא מידע מובן כיצד ליצור כזה, בסופו של דבר ויתרתי והתקנתי את התוכנית בערך.
לאותה תוכנית לארץ לקח לי פחות מחמש דקות להרכיב את החבילה.
ואני לא בטוח, אבל אני חושב ש- RPM מעט קל יותר לעשות מאשר DEB, אבל קשה יותר מ- Arch.
טוב מאוד וקל, ובאשר ל- .deb זה לא כל כך קשה, ובכן עבור iOS
לגבי
אני חושב שזה היה משרת אותי לפני זמן מה כשהעליתי את ה- PKGBUILD הראשון שלי ל- AUR 🙂
מישהו יכול להסביר לי מה זה, אני חדש ואני לא יודע אם זה עוזר לי להתקין חבילת .deb אבל באופן מקומי במנג'רו, משחק ליתר דיוק. כן זה עובד?
בדיוק כתבתי מאמר נוסף כיצד ליצור חבילות עבור arch / manjaro מחבילות .deb
https://blog.desdelinux.net/archlinux-crear-paquetes-multiplataforma-y-desde-paquetes-deb/
כן, כבר ראיתי את זה, אבל אני מאוד חדשני ואני לא מבין אם לא רק הקו הזה
תקליטור "$ {srcdir} /"
זפת xvzf data.tar.gz -C.
cp -r usr $ {pkgdir}
מה שיש לך מאחור
אם [«$ {CARCH}» = 'x86_64 ′]; לאחר מכן
ARCH = 'amd64'
md5sums=(‘192a0a222893d59d95f00c34f3c8a674’)
תלוי = ('openal' 'lib32-openal')
elif ["$ {CARCH}" = 'i686 ′]; לאחר מכן
קשת = 'i386'
md5sums=(‘047c670443124193c5cc3dd54da99925’)
תלוי = ('פתוח')
fi
source = ("http://www.unaurl.com/files/$ trackmaster. $ ARCH.deb")
אני לא מבין את זה, זה נראה מורכב מאוד, הם צעדים משותפים או החלק הראשון
תקליטור "$ {srcdir} /"
זפת xvzf data.tar.gz -C.
cp -r usr $ {pkgdir}
ניתן לעשות זאת לבד כדי להמיר .deb. .tar.gz?