Archlinux: צור חבילות חוצה פלטפורמות ומתוך חבילות .deb

לפני כשנה הסברתי איך ליצור חבילות עבור. ובכן, היום אני הולך להסביר כיצד ליצור אותם מחבילות deb, אלה המשמשים ב דביאן / מנטה / אובונטו / וכו '.
מאמר זה עלה לאחר קריאת שאלה מהמשתמש בפורום jorgegc כי לא יכולתי להתקין חבילה מ- AUR, בעיקר בגלל שהיא מיושנת והשתמשתי בגרסה הופסק של PKGBUILD (למזלי הכנתי בעבר חבילות בצורה כזו), אסביר גם כיצד להכין חבילות של תוכניות שצריכות ספריות של 32 סיביות, של קוד סגור o כבר מלוקט ושיש לו חבילות שונות להורדה.

הבסיס ל- PKGBUILD זהה, רק עם כמה שינויים.
השינוי הראשון יהיה השימוש במשפט אם אליף מאת בש


if [ "${CARCH}" = 'x86_64' ]; then
ARCH='amd64'
md5sums=('192a0a222893d59d95f00c34f3c8a674')
depends=('openal' 'lib32-openal')
elif [ "${CARCH}" = 'i686' ]; then
ARCH='i386'
md5sums=('047c670443124193c5cc3dd54da99925')
depends=('openal')
fi
source=("http://www.unaurl.com/files/${name}.$ARCH.deb")

בדוגמה זו הוגדר משתנה שישמש מאוחר יותר לשינוי ה- כתובת האתר היכן החבילה (במקרה זה הארכיטקטורה של החבילה להורדה).
בנוסף, תלוי בארכיטקטורה, ה- סכומי MD5 לכן נשנה את אלה לאלו המתאימים.

כאשר משתמשים ב- makepkg -g ליצירת ה- סכומי MD5 זה ייצור רק את זה המתאים לארכיטקטורה בה אתה משתמש. כדי לדעת את סכום ה- MD5 של החבילה האחרת, הורד אותה והשתמש בפקודה md5sum file.deb להכיר את שלך

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

כעת עבור חבילות .deb נצטרך רק את השורות הבאות בתוך הפונקציה חבילה ():

cd "${srcdir}/"
tar xvzf data.tar.gz -C .
cp -r usr ${pkgdir}

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

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

ושוב, כבר יש לנו חבילת multilib או נוצר מחבילת deb מוכנה לשימוש.
אני מקווה שאתה אוהב את זה ושהסביר לי היטב 😀


תוכן המאמר עומד בעקרונותינו של אתיקה עריכתית. כדי לדווח על שגיאה לחץ כאן.

32 תגובות, השאר את שלך

השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם.

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   חסר תועלת דיג'ו

    האם לא קל יותר להשתמש בהתקנת המחאות?

  2.   לוצ'יאנו לגאסה דיג'ו

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

    1.    jorgecg דיג'ו

      כמובן שזה מעניין ... לפחות בעיניי.

      עכשיו כשאני עם מנג'רו אני מעריך את כל המידע האפשרי.

  3.   jorgecg דיג'ו

    כמה אתה נהדר, בן זוג.

    הייתי אומר לך בפורום שאם תוכל להסביר לי כיצד להרכיב חבילות .deb ולא אמרתי לך שום דבר כדי לא לנצל לרעה את נדיבותך ... ואני הולך לדף ואני רואה שהעלית מאמר המסביר את כל התהליך.

    זה מראה שאתה אדם נדיב.

    אמרתי, אתה סדק.

    ברכות

  4.   אניבל דיג'ו

    זה חבר נהדר, פעם ניסיתי רך שאני לא זוכר את השם שהמיר מ- .deb ל- .rpm, אבל זה לא עבד טוב בשבילי.

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

    http://www.justcloud.com/download/linux-64

    זה לגיבוי בענן, כבר שילמתי זמן מה ויש לי יותר מ -40 GB בענן =)

  5.   Inspiron דיג'ו

    גדול! תמיד אמרתי לעצמי שיום אחד אני רוצה להכין חבילה, גם אם זה לדעת איך לעשות את זה :).

    בסוגים אלה של פוסטים אודה שהבלוג מממש את האפשרות להוסיף ערכים כאלה ל"מועדפים "בחשבוני

    1.    צ'ינולוקו דיג'ו

      מסכים לחלוטין, שתלתי את זה, אבל שום דבר 🙂
      זה יהיה טוב גם להיות מסוגל לעקוב אחר משתמשים מסוימים

  6.   רבבא דיג'ו

    זקן טוב מאוד, אני משתמש במנג'רו כבר כמה ימים וללימודים אני צריך להתקין נותב מנות מסיסקו אבל יש לו רק חבילת .deb מהגרסה האחרונה וה- ke נמצא ב- AUR תמיד נותן לי שגיאה בעת ההידור, אני מקווה שבשלבים אלה אוכל להתקין אותו מכיוון שבכוח השתמשתי במנטה לינוקס, תודה רבה

  7.   מיטקו דיג'ו

    כדי לראות אם מישהו מעז להכניס מערכת AUR Multisystem

    תלוי בספריות deb שאינן בקשת

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

    כרגע יש לי ISO של אובונטו בפנים שמאפשר לי להוסיף תמונות אם אני רוצה על ידי אתחול ממנו על ה- USB עצמו

    אבל אם אף אחד לא מעז לשמור את הכרטיס

  8.   מיטקו דיג'ו

    סליחה, יש כבר מערכת רב, ולדעתי לא

    1.    מיטקו דיג'ו

      במערכת רב-מערכתית ...

      אבל מידה גדולה יותר מכיוון ש- yourt נותן בעיות, והם הציבו את זה כאופציונלי

  9.   מרקוס דיג'ו

    נהדר 😀 לאשר עם "Purrr" תוכנית לשינוי שם קבצים בכמות גדולה.

  10.   Apr4xas דיג'ו

    בברכה,

    נכון לעכשיו ב- AUR הם מבטלים את החבילות שאין להן את הפונקציה package (), איך אוכל לדעת אילו שורות לשים שם? כלומר, יש לי כמה חבילות ועשיתי את זה ככה אבל אני לא יודע אם זה בסדר https://github.com/abr4xas/Arch-pkgbuild/blob/master/%20django-admin-honeypot/PKGBUILD מה שבאמת עשיתי זה להעביר את מה שהיה בבניין () לחבילה () אבל כמו שאמרתי, אני לא יודע אם זה בסדר ... אתה יכול לתת לי את הערותיך והצעותיך?

    תודה 😀

  11.   עזאזל דיג'ו

    תודה על המידע שאסמן אותו לסימניות לעיון עתידי.

  12.   קלרפל דיג'ו

    האם מישהו יכול להסביר לי מה זה, אני חדש ואני לא יודע אם זה עוזר לי להתקין חבילת .deb אבל באופן מקומי במנג'רו, משחק ליתר דיוק. כן זה עובד?

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

    1.    גרמיין דיג'ו

      אותו דבר קורה לי; עלי להתקין את Kademar המבוסס על Arch; כמה חבילות שאני מקבל רק ב- .deb
      מישהו יכול לעזור לי?

      1.    ואלדו דיג'ו

        אם כוונתך היא כשל בהתקנת deb2targz, בדיוק סיימתי להתקין אותו עם הפקודה yaourt -S deb2targz. כמובן, ב- ArchLinux.

  13.   אחסון ענן חינם דיג'ו

    פוסט אינפורמטיבי מאוד. תודה על השיתוף.

  14.   ציפורים כועסות דיג'ו

    פוסט טוב. תודה ששיתפת מידע שימושי זה.

  15.   אפליקציות למחשב דיג'ו

    תודה על ההודעה המועילה הזו. זה יעזור מאוד.

  16.   יעקב דיג'ו

    היי, אתה יכול להשאיר את התסריט להמרה ואיך להשתמש בו? זה שבחלקים זה קצת מבלבל, יש לי כבר את הדיב שאני רוצה להמיר ואני יודע שזה אפשרי מכיוון ש- Google Chrome של AUR הוא deb אבל אני לא יודע להכין "MAKEPKG SI" עם deb אחר

bool (נכון)