كيفية إنشاء نص برمجي بعد التثبيت

مهلا! مرحبًا GNU / Linuxeros ، أتيت اليوم بإدخال مفيد جدًا وسريع للغاية ، والذي سيكون بالتأكيد مفيدًا جدًا عند القفز من توزيعة (أو توزيع) إلى آخر (قفز التوزيعات) ، أو عند إعادة تهيئة جهاز كمبيوتر بنفس التوزيع ، أتوقف عن الضرب في الأدغال ونبدأ.

يتم استخدام هذا البرنامج النصي لتثبيت البرامج تلقائيًا عند تشغيل البرنامج النصي ، وهو مفيد جدًا لعشاق التوزيعات مثلي.

باستخدام هذا الأمر نقوم بإنشاء ملف install.sh (.sh هو ملف bash)

touch install.sh

وباستخدام هذا الأمر ، نجعل ملف install.sh قابلاً للتنفيذ ، sudo وإلا فلن يسمح لنا بتحرير الأذونات

sudo chmod a+x install.sh

هنا تختار محرر النصوص الذي يعجبك أكثر: vim ، nano ، emacs ، kate ، gedit ... حسنًا ، أنت تعرف أكثر ما يعجبك وأنا sudo لحفظ التغييرات ، من جانبي سأختار Vim.

sudo vim install.sh

عندما نقوم بالتحرير في بداية كل شيء علينا كتابته

#!/bin/bash

وثم

# -*- ENCODING: UTF-8 -*-

بعد ذلك بقليل نكتب الأمر لتحديث توزيعنا:

ديبيان, أوبونتو والملايين من المشتقات :

su && apt update && apt upgrade

CentOS y ريد هات مثل:

sudo yum update

في أحدث إصدار من Fedora ، تم تقديم dnf ، وهو الطفل المباشر لـ yum.

فيدورا:

sudo dnf update

زحمة:

sudo zypper update

قوس لينكس, Manjaro, أنترجوس ، كاوس ...:

sudo pacman -Syu o yaourt -Syua

أو غيرهم ، مثل Gentoo أو Slackware ، يستخدمون أوامر التحديث والتثبيت ... ، في حالتي ، أستخدم Arch Linux لذا في البرنامج النصي الخاص بي يجب أن يكون:

Snap1

بعد الكتابة سنقوم بتصنيف البرامج لتثبيتها في 7 فئات:

  1. خدمات
  2. Internet
  3. ألعاب
  4. DE (بيئة سطح المكتب ، أو أجهزة الكمبيوتر المكتبية)
  5. Multimedia
  6. إنتاجية
  7. تنمية

كتبنا:

# المرافق # التطوير # الإنترنت # الألعاب # DE's و WM's # الوسائط المتعددة # الإنتاجية

لقد وضعنا هذا لتصنيف التطبيقات والأدوات المساعدة بشكل أفضل قليلاً في مجموعات ، ثم نكتب لاحقًا أوامر التثبيت ، وفقًا لتوزيعنا ، للحزم التي نريدها ، وعادةً يجب أن تعرف ما هو التوزيع الخاص بك وكيفية تثبيت الحزم حتى نقوم بتثبيت ما نريد ، على سبيل المثال الكروم ، والبخار ، وقشرة جنوم

sudo pacman -S chromium sudo pacman -S steam sudo pacman -S gnome-shell gnome-extra

في النهاية نحفظ السيناريو الخاص بنا و:

القرص المضغوط (أين هو البرنامج النصي) && ./install.sh

مثال على ذلك:

Snap2

حسنًا ، كان هذا كل شيء لهذا اليوم ، وآمل أن تجده مفيدًا جدًا وأن أراك في منشورات أخرى.


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.

  1.   اجناسيو قال

    إدخال جيد جدًا لأولئك منا الذين ليس لديهم الكثير من الأفكار ، لكننا نحب التوزيعة ، وتثبيت الأشياء ، وأخيراً إتلاف التوزيعات.

    1.    اروزاما قال

      حسنًا ، هذه أبسط قاعدة ، ويمكن أن تصبح أكثر تعقيدًا فيما بعد

  2.   صائد قال

    لدي توزيعة لديبيان ، ولكن يمكن تعديلها بسهولة نسبيًا لأي توزيعة أخرى.

    https://github.com/xr09/kaos

    1.    اروزاما قال

      شكرًا للتعليق ، لقد رأيت النص الخاص بك ومنه سأقوم بعمل نصي المعقد.
      لقد رأيت أيضًا مدونتك وهي جيدة ، إذا كانت لدي شكوك حول PyQT ، فأنا أعرف من أسأل.

      1.    صائد قال

        حسنًا ، أنا سعيد لأنه يعمل كقاعدة ، هذا السيناريو مستوحى من نص رأيته في العمل لتثبيت Fedora وكان جيدًا جدًا. الاسم الذي أضعه "KaOS" لا علاقة له بالتوزيعة ، في الواقع أعتقد أنه عندما بدأت البرنامج النصي ، لم يتم الإعلان عن التوزيعة بعد.

  3.   مانويل بلانكو مونتيرو قال

    Lihuen مع بيئة سطح المكتب LXDE مع تكامل LibreOffice
    إنها مناسبة تمامًا ، إنها نجاح سريع وكامل للغاية ، أقوم بتثبيت العديد من الأشخاص وأستخدمها حاليًا.
    مثل: Canaima؛ تريسكيل. GuadaLinex lliurex هذه تستخدم بيئات ثقيلة جدًا وبطيئة مثل GNone و KDE كنسبة افتراضية
    ليس لديهم خصائص تصميمية كما فعلوا ، أنت الوحيد الذي يفكر في جعل مثل هذا لينكس سريع ومستقر ممكنًا
    ومع حزم برامج مفيدة للغاية على المنصات: 32 بت و 64 بت.
    وتنقسم إلى أربعة تطبيقات Needs Desktop Lihuen LXDE و Lihuen التعليمية و Linux لطلاب Informatica
    = أتخيل عالمًا يستخدم البيئة كقاعدة: LXDE والقرفة
    -> أهنئكم على نظام تشغيل ممتاز لقد استخرجوا UD / s
    الحمد لله دفعت لهم ...
    "نأمل أن تستخدم حكومة فنزويلا نظام Linux Lihuen هذا وتضعه في Canaima وتروج له في فنزويلا في السكان وفي المؤسسات العامة وفي المنازل من أجل سرعته"
    -> سأقوم بالترويج له في جامعات ولايتي وفي أصدقائي وعائلتي. لقد أحببت السرعة والسهولة في تثبيت البرنامج الرائع
    العرض التقديمي Q Has
    -> شكرًا لك على قضاء وقت ممتع من فنزويلا-> ولاية تروخيو.
    Q احصل دائمًا على Linux Lihuen سأقوم بتنزيله واستخدامه والتوصية به للجميع Q Know Q Use PC

  4.   داغو قال

    توضيح ، لا تستخدم KaOS yaourt ، لأنها لا تعتمد على Arch ، فهي تستخدم kcp.
    تحية.

    1.    اروزاما قال

      أعلم ، لقد استخدمت KaOS لفترة من الوقت ، قيل إن Pacman كان الشائع بين التوزيعتين ، yaourt هو نموذجي لـ Arch و kcp هو KaOS ، kcp -i package

  5.   سويشر قال

    لا أعرف في التوزيعات الأخرى ولكن مع Gentoo ، فإن المشكلة أسهل قليلاً لأن إدراج جميع البرامج المثبتة يكفي للقيام
    cat /var/lib/portage/world
    على سبيل المثال هكذا هو الشكل الذي يبدو عليه ملف العالم الخاص بي (تم تضمين التصنيف بالفعل).
    بالنسبة إلى البرنامج النصي ، أود تحسينه قليلاً باستخدام مصفوفة مثل هذا:
    declare -a paquetes

    Si bien pareciera que las categorías están dentro del array, estas son ignoradas ya que son comentarios

    paquetes=(

    categoría1

    paquete1
    paquete2
    paquete3

    categoría2

    paquete4
    paquete5
    )

    Iteramos sobre el array para instalar los paquetes secuencialmente

    for contador in ${!paquetes[@]}
    do
    sudo apt-get install ${paquetes[$contador]}
    done

    يؤدي هذا أيضًا إلى تسهيل تغيير أمر التثبيت (هناك مشكلة أخرى تتمثل في احتفاظ الحزم بنفس الأسماء في توزيعات مختلفة).
    ولتثبيت جميع الحزم مرة واحدة ، يمكنك تغيير حلقة for في الكود السابق إلى هذا:
    sudo apt-get install $(echo ${paquetes[@]})

    Seria lo mismo que escribir sudo apt-get install paquete1 paquete2 paquete3...

    إذا كنت تريد لسبب ما استخدام أي حرف آخر كفاصل بدلاً من المسافة ، هنا يتم شرح بعض الطرق للقيام بذلك.

    1.    سويشر قال

      يبدو أن WordPress يفسر فواصل الأسطر والأرقام / اللوحات كما تريد داخل رمز العلامة (أو فعلت شيئًا خاطئًا). أنا فقط وضعت كود البرنامج النصي هنا حتى يتم فهمها بشكل أفضل.

      1.    اروزاما قال

        شكرا لمدخلات

  6.   إينوكازي قال

    يمكنك القيام بشيء أكثر اكتمالا باستخدام bash على سبيل المثال ، أؤكد أنه مجرد مثال واحد:

    يمكنك القيام بشيء أكثر اكتمالا باستخدام bash على سبيل المثال

    #! / بن / باش

    -- الترميز: UTF-8 --

    العنوان = »محدث التوزيعات أو المشتقات»
    سؤال = »الرجاء تحديد خيار:»
    التوزيعات = (
    ArchLinux
    "دبيان"
    "CentOS"
    "فيدورا"
    "OpenSuSE"
    "اذهب للخارج"
    )

    وظيفة توزيعة () {

    تحديد ما إذا كان / etc / المشكلة موجودة

    if test -f /etc/issue
    then

    DISTRO_DESTINO="Manjaro Linux"
    DISTRO_ISSUE=$(cat /etc/issue | grep "$DISTRO_DESTINO" | cut -d " " -f01,02)

    if [ $DISTRO_ISSUE = $DISTRO_DESTINO ] then
    DISTRO=ArchLinux
    fi

    DISTRO_DESTINO="Debian"
    DISTRO_ISSUE=$(cat /etc/issue | grep "$DISTRO_DESTINO" | cut -d " " -f01)

    if [ $DISTRO_ISSUE = $DISTRO_DESTINO ] then
    DISTRO=Debian
    fi

    DISTRO_DESTINO="Ubuntu"
    DISTRO_ISSUE=$(cat /etc/issue | grep "$DISTRO_DESTINO" | cut -d " " -f01,02)

    if [ $DISTRO_ISSUE = $DISTRO_DESTINO ] then
    DISTRO=Debian
    fi

    DISTRO_DESTINO="Elementary"
    DISTRO_ISSUE=$(cat /etc/issue | grep "$DISTRO_DESTINO" | cut -d " " -f01,02)

    if [ $DISTRO_ISSUE = $DISTRO_DESTINO ] then
    DISTRO=Debian
    fi

    DISTRO_DESTINO="Fedora"
    DISTRO_ISSUE=$(cat /etc/issue | grep "$DISTRO_DESTINO" | cut -d " " -f01)

    if [ $DISTRO_ISSUE = $DISTRO_DESTINO ] then
    DISTRO=Fedora
    fi

    نهاية "تحديد وجود / etc / المسألة"

    fi

    إذا لم يكن موجودًا ، فقم بإرجاع النص "Unknown Distro"

    آخر

    echo '
    Distro desconocida
    '

    fi
    }

    Update_Distro () {

    case $1 in
    ArchLinux)
    sudo pacman -Syu
    yaourt -Syua
    ;;
    Debian)Versiones
    sudo apt-get update
    sudo apt-get -y upgrade
    ;;
    CentOS)
    sudo yum update
    ;;
    Fedora)
    sudo dnf update
    ;;
    OpenSuSE)
    sudo zypper update
    ;;
    esac

    }

    هذا يذهب إلى النهاية 😀

    صدى
    صدى "الرجاء استخدام رقم"
    صدى "لتحديث Distro المطلوب"
    صدى
    صدى "$ Title"
    PS3 = »سؤال بالدولار»

    حدد الخيار في "$ {Distros [@]}" ؛ فعل
    printf "\ n"
    حالة "REPLY $" في

    1 ) echo "Has escogido la Opcion Numero : $REPLY" $'\n' "$(Actualizar_Distro $Opcion)" $'\n' $'\n\n' "$DISTRO La distro ha sido actualizada por Inukaze (De Venezuela)" $'\n'; break;;
    2 ) echo "Has escogido la Opcion Numero : $REPLY" $'\n' "$(Actualizar_Distro $Opcion)" $'\n' $'\n\n' "$DISTRO La distro ha sido actualizada por Inukaze (De Venezuela)" $'\n'; break;;
    3 ) echo "Has escogido la Opcion Numero : $REPLY" $'\n' "$(Actualizar_Distro $Opcion)" $'\n' $'\n\n' "$DISTRO La distro ha sido actualizada por Inukaze (De Venezuela)" $'\n'; break;;
    4 ) echo "Has escogido la Opcion Numero : $REPLY" $'\n' "$(Actualizar_Distro $Opcion)" $'\n' $'\n\n' "$DISTRO La distro ha sido actualizada por Inukaze (De Venezuela)" $'\n'; break;;
    5 ) echo "Hasta La Proxima!" $'\n' && break;;
    Salir ) echo "Hasta La Proxima!" $'\n' && break;;
    $(( ${#Distros[@]}+1 )) ) echo && echo "Hasta Luego!" && echo; break;;
    *) echo "Opcion Invilada. Por Favor Elige Una Opcion Valida." $'\n';continue;;
    esac

    فعل
    fi

    نهاية المثال. أقترح أنه إذا كنت ستفعل شيئًا معقدًا ومعقدًا للغاية ، في هذه الحالة ، من الأفضل استخدام "الحوار" لإنشاء أدوات تثبيت نصية ، مثل التي توفرها دبيان

    يمكنك مشاهدة مثال هنا -> http://bash.cyberciti.biz/guide/Bash_display_dialog_boxes

    1.    اروزاما قال

      أعلم ما الذي يمكن فعله إذا كان fi ، كيف سأفعل ذلك بنفسي ، سأقوم بعمل نص برمجي كامل قدر الإمكان ، مع كل التوزيعات التي أعرفها ، وبفضل المساعدة ، لقد أوضحت لي قليلاً كيفية القيام بذلك ، عندما أنتهي البرنامج النصي ، سأمرره لك

  7.   انريكي قال

    مهتم في سلاكوير هنا! شخص ما للمساعدة؟

    1.    اروزاما قال

      أعتقد أنه مع حزمة sabopkg -i بدلاً من apt get أو pacman ، وللتحديث ليس لدي أي فكرة ، لم أقم بتصفح هذا التوزيع حتى الآن.

  8.   derin قال

    تضمين التغريدة

    يا له من دليل رائع لهذا المنشور ، لقد أحببته حقًا ، هذا هو الوضع عن طريق الأوامر التي يحركها FreeBSD Unix ، والآن أفهم ببطء البرامج النصية ، هل يمكنك فعل الشيء نفسه في FreeBSD Unix ؟، أود أن يكون واجهة المستخدم الرسومية لـ مثل تكوين وتخصيص Fluxbox و LXDE لسطح المكتب على نظام مثل Gentoo أو Slackware ، لكن مواقع الويكي مربكة جدًا للمستخدمين الجدد.

  9.   ديف ريفيرا قال

    بتقدير جيد جدا. اضطررت مؤخرًا إلى إعادة تثبيت نظام التشغيل وواجهت مشكلة إعادة تثبيت كل ما أحتاجه ، لذلك قم بإنشاء نص برمجي بعد التثبيت: https://gist.github.com/daverivera/7d47761a98c3dd995225#file-install-sh

    إنه مصمم لـ Arch ، قم بتكوين وتثبيت بعض الحزم. وهي مصنوعة على الوظائف التي يمكن التعليق عليها لاستخدام ما هو ضروري فقط. فجأة يمكن أن تكون بمثابة قاعدة لشخص ما.

  10.   جارانيدا قال

    هذه المقالة ممتعة للغاية ، وأعتقد أن أفضل شيء هو أن البرنامج النصي يمكن أن يأخذ قائمة بما تم تثبيته وحفظه لتنسيق مستقبلي سيقوم بتثبيت ما هو من تلك القائمة ، ولهذا السبب لم أغير التوزيعة مؤخرًا.
    شكرا جزيلا.

  11.   كانون قال

    وظيفة جيدة ، 10 نقاط بالفعل الوشق المفضل للجبال.

    سأقوم بحفر أعمق قليلاً في هذه البرامج النصية لإنشاء منجم لـ Ubuntu.
    أتذكر أنه في صفحة Slice of Linux ، اعتادوا على وضع تلك البرامج النصية في مشاركات "ماذا تفعل بعد التثبيت ...

  12.   الأنف قال

    تحيات المجتمع .. !!

    رائع. !!
    أرى أن هذا البرنامج النصي يمكن أن يصبح معقدًا وكاملاً كما تريد كما قرأت التعليقات.
    على سبيل المثال ، عثرت على نص برمجي آخر لتثبيت xubuntu يتضمن حتى رمزًا لونيًا لجعله أكثر مظهرًا ، دعنا نقول ، والذي تجرأت حتى على اللعب به.

    هنا أريد أن أفكر أنه يمكنني عمل نص أول ، بواسطة if ثم الشرطي ، يمكنه أولاً التحقق من توزيعه ، وضمن الشرط المعني ؛ استدعاء البرنامج النصي المناسب لتثبيت الحزم على التوزيعة المقابلة.

    هذا من أجل جعلها بسيطة قدر الإمكان وأن البرامج النصية المذكورة ليست شاملة جدًا ولا معقدة جدًا ويسهل صيانتها / تحديثها.