Cum se creează un script post-instalare

Hei! Bună ziua, GNU / Linuxeros, astăzi vin cu o intrare super utilă și super rapidă, care va fi cu siguranță foarte utilă atunci când săriți dintr-o distro (sau distribuție) în alta (distro-salt) sau când reformatați un PC Cu aceeași distribuție, încetez să mai bat în jurul tufișului și începem.

Acest script este folosit pentru a instala automat programe atunci când rulați scriptul, foarte util pentru distro-hopers ca mine.

Cu această comandă creăm fișierul install.sh, (.sh este un fișier bash)

touch install.sh

Și cu această comandă facem fișierul install.sh executabil, sudo pentru că altfel nu ne-ar permite să edităm permisiunile

sudo chmod a+x install.sh

Aici aleg editorul de text care le place cel mai mult: vim, nano, emacs, kate, gedit ... ei bine, îl știi pe cel care îți place cel mai mult și eu sudo să pot salva modificările, din partea mea voi alege Vim.

sudo vim install.sh

Când edităm la începutul a tot ce trebuie să scriem

#!/bin/bash

Și apoi

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

Puțin mai jos scriem comanda pentru actualizarea distribuției noastre:

Debian, Ubuntu și milioanele sale de derivate :

su && apt update && apt upgrade

CentOS y Red Hat ca:

sudo yum update

În cea mai recentă versiune a Fedora a fost introdus dnf, care este copilul direct al lui yum.

Fedora:

sudo dnf update

OpenSUSE:

sudo zypper update

Arch Linux, Manjaro, Antergos, KaOS ...:

sudo pacman -Syu o yaourt -Syua

Sau alții, cum ar fi Gentoo sau Slackware, folosesc comenzile de actualizare și instalare ..., în cazul meu folosesc Arch Linux, deci în scriptul meu ar trebui să fie:

Snap1

După ce am scris, vom clasifica programele de instalat în 7 categorii:

  1. utilitati
  2. Internet
  3. Juegos
  4. DE (Desktop Environment, sau desktop-uri)
  5. Multimedia
  6. Productivitate
  7. Dezvoltare

Noi am scris:

# Utilități # Dezvoltare # Internet # Jocuri # DE și WM # Multimedia # Productivitate

Am pus acest lucru pentru a clasifica aplicațiile și utilitățile puțin mai bine în grupuri, ulterior scriem comenzile de instalare, în funcție de distribuția noastră, a pachetelor pe care le dorim, în mod normal, ar trebui să știți care este distribuția dvs. și cum să instalați pachetele, astfel încât să instalăm ce vrem, de exemplu, crom, abur și gnome-shell

sudo pacman -S crom sudo pacman -S abur sudo pacman -S gnome-shell gnome-extra

La final ne salvăm scenariul și:

cd (Unde este scriptul) && ./install.sh

Un exemplu este acesta:

Snap2

Ei bine, asta a fost totul pentru astăzi, sper că vi se pare foarte util și să ne vedem în alte postări.


Conținutul articolului respectă principiile noastre de etică editorială. Pentru a raporta o eroare, faceți clic pe aici.

20 comentarii, lasă-le pe ale tale

Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   Ignacio el a spus

    Intrare foarte bună pentru cei dintre noi care nu au atât de multă idee, dar ne place să facem distro-hop, să instalăm lucruri și, în cele din urmă, să distrugem distribuțiile hahaha

    1.    erUzama el a spus

      Ei bine, aceasta este cea mai simplă bază, mai târziu poate fi complicată

  2.   dhunter el a spus

    Am al meu pentru Debian, dar poate fi modificat relativ ușor pentru orice altă distribuție.

    https://github.com/xr09/kaos

    1.    erUzama el a spus

      Vă mulțumesc pentru comentarii, v-am văzut scenariul și din acesta voi face scenariul meu complex.
      De asemenea, v-am văzut blogul și este bine, dacă am îndoieli cu privire la PyQT, știu cui să întreb.

      1.    dhunter el a spus

        Ei bine, mă bucur că servește ca bază, acel script a fost inspirat de unul pe care l-am văzut la locul de muncă pentru a instala Fedora, care a fost foarte bun. Numele pe care l-am pus „KaOS” nu are nicio legătură cu distro-ul, de fapt cred că atunci când am început scenariul, distro-ul nu fusese încă anunțat.

  3.   Manuel Blanco Montero el a spus

    Lihuen cu mediu desktop ► LXDE cu integrare ► LibreOffice
    Se potrivesc foarte bine, este un succes rapid și foarte complet, instalez mai mulți oameni și îl folosesc în prezent.
    Cum ar fi: Canaima; Trisquel; GuadaLinex; liberx acestea folosesc medii foarte grele și lente precum GNone și KDE ca% implicit
    Nu au calități de design așa cum au avut. Sunteți singurii care se gândesc să facă posibil un Linux atât de rapid și stabil
    și cu pachete de programe foarte utile pe platforme: 32Bit și 64Bit.
    și împărțit în patru Aplicații educative Lihuen LXDE și Lihuen Desktop și Linux pentru studenții Informatica
    = Imaginez o lume folosind mediul ca bază: LXDE și scorțișoară
    -> Vă felicit Sistem de operare excelent Au scos UD / s
    Slavă Domnului că le-am plătit ...
    „Sperăm că guvernul venezuelean folosește acest Linux Lihuen și le pune în Canaima și îl promovează în Venezuela în rândul populației și al instituțiilor publice și al caselor pentru viteza sa”
    -> Am de gând să-l promovez în universitățile din statul meu și în prietenii și familia mea. Mi-a plăcut cât de rapid și ușor de instalat
    Prezentare Q Has
    -> Vă mulțumim că vă distrați bine din Venezuela-> Statul Trujillo.
    Q obține întotdeauna Linux Lihuen Îl voi descărca și voi folosi și recomanda tuturor Q Cunoaște Q Folosește computerul

  4.   american din America de Sud el a spus

    O clarificare, KaOS nu folosește yaourt, deoarece nu se bazează pe Arch, folosește kcp.
    Salutări.

    1.    erUzama el a spus

      Știu, am folosit KaOS pentru o vreme, se spunea că pacman era comun între cele două distribuții, yaourt este tipic pentru Arch și kcp este KaOS, pachetul kcp -i

  5.   Swicher el a spus

    Nu știu despre alte distribuții, dar cu Gentoo problema este puțin mai ușoară, deoarece pentru a lista toate programele instalate, faceți doar o
    cat /var/lib/portage/world
    De exemplu, astfel așa arată fișierul meu mondial (clasificarea este deja inclusă).
    În ceea ce privește scriptul, l-aș îmbunătăți puțin folosind o matrice ca aceasta:
    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

    Acest lucru facilitează și schimbarea comenzii de instalare (o altă problemă este dacă pachetele păstrează aceleași nume în distribuții diferite).
    Și pentru a instala toate pachetele simultan, puteți schimba bucla for a codului anterior la aceasta:
    sudo apt-get install $(echo ${paquetes[@]})

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

    Dacă din anumite motive doriți să utilizați orice alt caracter ca separator în loc de spațiu, aici sunt explicate câteva modalități de ao face.

    1.    Swicher el a spus

      Se pare că WordPress interpretează întreruperile de linie și numerele / tampoanele așa cum dorește în codul etichetei (sau am făcut ceva greșit). Tocmai am pus codul scriptului aici astfel încât să fie mai bine înțeles.

      1.    erUzama el a spus

        Vă mulțumim pentru contribuție

  6.   Inukaze el a spus

    Puteți face ceva mai complet folosind bash, de exemplu, subliniez că este DOAR UN EXEMPLU:

    De exemplu, puteți face ceva mai complet folosind bash

    #! / Bin / bash

    -- CODARE: UTF-8 --

    Title = »Actualizatoare de distribuții sau instrumente derivate»
    Întrebare = »Vă rugăm să alegeți o opțiune:»
    Distros = (
    ArchLinux
    „Debian”
    „CentOS”
    „Fedora”
    „OpenSuSE”
    "Ieși"
    )

    function distro () {

    Determinați dacă există / etc / issue

    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

    Sfârșitul „Determinați dacă există / etc / issue”

    fi

    Dacă nu există, returnați textul „Distroare necunoscută”

    altfel

    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

    }

    Aceasta merge până la capăt 😀

    ecou
    echo „Vă rugăm să folosiți un număr”
    ecou „Pentru a actualiza distribuția dorită”
    ecou
    ecou „$ Title”
    PS3 = »$ Întrebare»

    selectați Opțiune în „$ {Distros [@]}”; do
    printf "\ n"
    cazul „$ REPLY” în

    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

    făcut
    fi

    Sfârșitul exemplului. Vă sugerez că, dacă aveți de gând să faceți ceva foarte lucrat și complex, în acest caz, utilizați mai bine „dialog” pentru a face instalatori textuali, precum cel pe care îl aduce Debian

    Puteți vedea un exemplu aici -> http://bash.cyberciti.biz/guide/Bash_display_dialog_boxes

    1.    erUzama el a spus

      Știu cu ce se poate face dacă atunci fi, cum o voi face singur, voi face un scenariu cât mai complet posibil, cu toate distrosurile pe care le știu și mulțumesc pentru ajutor, mi-ați lămurit puțin cum să o fac, când termin scenariul, ți-l transmit

  7.   Dezbrăca el a spus

    Interesat de Slackware aici! Cineva care să ajute?

    1.    erUzama el a spus

      Cred că cu sabopkg - i pachet în loc de apt get sau pacman, iar pentru a actualiza habar n-am, nu am trecut încă prin această distribuție.

  8.   adâncime el a spus

    @erUzama

    Ce ghid minunat pentru această postare, mi-a plăcut foarte mult, adică modul prin comenzi pe care le mută FreeBSD Unix, acum înțeleg încet despre scripturi, poți face același lucru în FreeBSD Unix ?, aș dori un GUI de cum ar fi configurarea și personalizarea unui desktop Fluxbox și LXDE pe un sistem precum Gentoo sau Slackware, dar wiki-urile sunt foarte confuze pentru utilizatorii noi.

  9.   Dave Rivera el a spus

    Notă foarte bună. Recent, a trebuit să reinstalez sistemul de operare și am întâmpinat problema reinstalării a tot ceea ce aveam nevoie, așa că creează un script post-instalare: https://gist.github.com/daverivera/7d47761a98c3dd995225#file-install-sh

    Este creat pentru Arch, configurați și instalați unele pachete. Este realizat pe funcții care pot fi comentate pentru a utiliza doar cele necesare. Dintr-o dată, poate servi și pe cineva ca bază.

  10.   jaraneda el a spus

    Acest articol este foarte interesant, cred că cel mai bun lucru ar fi dacă scriptul ar putea lua o listă cu ceea ce a fost instalat și l-ar salva pentru o viitoare formatare, îl va instala pe cel din lista respectivă, de aceea nu am schimbat distribuția în ultima vreme.
    Mulţumesc mult.

  11.   KANNON el a spus

    Post bun, 10 puncte și râsul favorit al munților.

    Voi sapa un pic mai adânc în aceste scripturi pentru a-mi crea al meu pentru Ubuntu.
    Îmi amintesc că, în pagina Slice of Linux, obișnuiau să pună acele scripturi în postările de „ce să fac după instalare ...”

  12.   nosferatuxx el a spus

    Salutări comunitate .. !!

    Wow. !!
    Văd că acest script poate deveni la fel de complex și complet pe cât doriți pe măsură ce am citit comentariile.
    De exemplu, am găsit un script post-instalare pentru xubuntu care include chiar și cod de culoare pentru a-l face mai prezentabil, să zicem, cu care chiar am îndrăznit să joc.

    Aici vreau să cred că pot face un prim script care, prin intermediul condiționalului if then fi, poate verifica mai întâi ce distro este, și în interiorul condiționalului respectiv; apelați scriptul corespunzător pentru instalarea pachetelor pe distribuția corespunzătoare.

    Acest lucru pentru a le face cât mai simple posibil și că scripturile menționate nu sunt nici atât de extinse, nici atât de complexe și sunt mai ușor de întreținut / actualizat.