Come creare uno script di post-installazione

Hey Ciao GNU / Linuxeros, oggi vengo con una voce super utile e super veloce, che sarà sicuramente molto utile quando si salta da una distro (o distribuzione) a un'altra (distro-hopping) o quando si riformatta un PC con la stessa distribuzione , Smetto di girovagare e iniziamo.

Questo script viene utilizzato per installare automaticamente i programmi quando si esegue lo script, molto utile per i distro-hoper come me.

Con questo comando creiamo il file install.sh, (.sh è un file bash)

touch install.sh

E con questo comando rendiamo eseguibile il file install.sh, sudo perché altrimenti non ci permetterebbe di modificare i permessi

sudo chmod a+x install.sh

Qui scelgono l'editor di testo che gli piace di più: vim, nano, emacs, kate, gedit ... beh, tu conosci quello che ti piace di più e sudo per poter salvare le modifiche, da parte mia io ' sceglierò Vim.

sudo vim install.sh

Quando stiamo modificando all'inizio di tutto dobbiamo scrivere

#!/bin/bash

E dopo

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

Un po 'più in basso scriviamo il comando per aggiornare la nostra distribuzione:

Debian, Ubuntu e i suoi milioni di derivati :

su && apt update && apt upgrade

CentOS y Red Hat piace:

sudo yum update

Nell'ultima versione di Fedora, è stato introdotto dnf, che è il figlio diretto di yum.

Fedora:

sudo dnf update

OpenSUSE:

sudo zypper update

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

sudo pacman -Syu o yaourt -Syua

Oppure altri, come Gentoo o Slackware, usano i comandi di aggiornamento e installazione ..., nel mio caso utilizzo Arch Linux quindi nel mio script dovrebbe essere:

Snap1

Dopo aver scritto, classificheremo i programmi da installare in 7 categorie:

  1. Utilità
  2. Internet
  3. Giochi
  4. DE (ambiente desktop o desktop)
  5. Multimedia
  6. Produttività
  7. sviluppo

Abbiamo scritto:

# Utilità # Sviluppo # Internet # Giochi # DE e WM # Multimedia # Produttività

Mettiamo questo per classificare un po 'meglio le applicazioni e le utilità in gruppi, successivamente scriviamo i comandi di installazione, secondo la nostra distribuzione, dei pacchetti che vogliamo, normalmente dovresti sapere qual è la tua distribuzione e come installare i pacchetti quindi installiamo cosa vogliamo, ad esempio, cromo, vapore e gnome-shell

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

Alla fine salviamo il nostro script e:

cd (Dov'è lo script) && ./install.sh

Un esempio è questo:

Snap2

Bene, questo è stato tutto per oggi, spero che lo trovi molto utile e ci vediamo in altri post.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   Ignacio suddetto

    Ingresso molto buono per quelli di noi che non hanno così tante idee, ma ci piace distribuire, installare cose e infine rovinare le distribuzioni hahaha

    1.    eruzama suddetto

      Bene, questa è la base più semplice, quindi può essere resa più complicata

  2.   cacciatore suddetto

    Ho il mio per Debian, ma può essere modificato in modo relativamente facile per qualsiasi altra distribuzione.

    https://github.com/xr09/kaos

    1.    eruzama suddetto

      Grazie per il commento, ho visto la tua sceneggiatura e da essa realizzerò la mia complessa sceneggiatura.
      Ho visto anche il tuo blog ed è bello, se ho dubbi su PyQT, so a chi chiedere.

      1.    cacciatore suddetto

        Bene, sono contento che serva come base, quello script è stato ispirato da uno che ho visto al lavoro per installare Fedora che era molto buono. Il nome che ho messo "KaOS" non ha nulla a che fare con la distro, infatti penso che quando ho avviato la sceneggiatura la distro non fosse ancora stata annunciata.

  3.   Manuel Bianco Montero suddetto

    Lihuen con ambiente desktop► LXDE con integrazione di ► LibreOffice
    Si adattano molto bene, è un successo veloce e molto completo, sto installando diverse persone e attualmente lo uso.
    Ad esempio: Canaima; Trisquel; GuadaLinex; lliurex usano ambienti molto pesanti e lenti come GNone e KDE come% predefinito
    Non hanno qualità di design come le avevano. Gli UD / s sono gli unici a pensare di rendere possibile un Linux così veloce e stabile
    e con pacchetti di programmi molto utili sulle piattaforme: 32 bit e 64 bit.
    e Diviso in quattro Needs Desktop Lihuen LXDE e Lihuen Educational Applications e Linux for Informatica Students
    = Immagina un mondo che utilizza l'ambiente come base: LXDE e Cinnamon
    -> Mi congratulo con te. Ottimo sistema operativo Hanno tolto UD / s
    Grazie a Dio li ho pagati ...
    "Si spera che il governo del Venezuela usi questo Linux Lihuen e lo metta a Canaima e lo promuova in Venezuela nella popolazione e nelle istituzioni pubbliche e nelle case per la sua velocità"
    -> Lo promuoverò nelle università del mio stato e nei miei amici e familiari mi è piaciuto quanto sia facile e veloce installare il fantastico
    Presentazione Q ha
    -> Grazie per esserti divertito dal Venezuela-> Stato di Trujillo.
    D prendi sempre Linux Lihuen Lo scaricherò, lo userò e consiglierò a tutti Q Conosco Q Usa il PC

  4.   dago suddetto

    Una precisazione, KaOS non usa yaourt, dato che non è basato su Arch, usa kcp.
    Saluti.

    1.    eruzama suddetto

      Lo so, ho usato KaOS per un po ', diceva che pacman era il comune tra le due distribuzioni, yaourt è tipico di Arch e kcp è KaOS, pacchetto kcp -i

  5.   swicher suddetto

    Non conosco altre distribuzioni ma con Gentoo il problema è un po 'più semplice dato che per elencare tutti i programmi installati basta fare un
    cat /var/lib/portage/world
    Ad esempio, così è come appare il mio file world (la categorizzazione è già inclusa).
    Per quanto riguarda lo script, lo migliorerei un po 'usando un array come questo:
    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

    Ciò semplifica anche la modifica del comando di installazione (un altro problema è se i pacchetti mantengono gli stessi nomi in distribuzioni diverse).
    E per installare tutti i pacchetti contemporaneamente puoi cambiare il ciclo for del codice precedente in questo:
    sudo apt-get install $(echo ${paquetes[@]})

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

    Se per qualche motivo vuoi usare qualsiasi altro carattere come separatore invece dello spazio, qui vengono spiegati alcuni modi per farlo.

    1.    swicher suddetto

      Apparentemente WordPress interpreta le interruzioni di riga e i numeri / pad come vuole all'interno del codice del tag (o ho fatto qualcosa di sbagliato). Ho appena inserito il codice dello script qui in modo che sia meglio compreso.

      1.    eruzama suddetto

        Grazie per l'ingresso

  6.   Inukaz suddetto

    Puoi fare qualcosa di più completo usando bash per esempio, sottolineo che è SOLO UN ESEMPIO:

    Puoi fare qualcosa di più completo usando bash per esempio

    #! / Bin / bash

    -- CODIFICA: UTF-8 --

    Titolo = »Aggiornamento distribuzioni o derivati»
    Domanda = »Scegli un'opzione:»
    Distribuzioni = (
    ArchLinux
    "Debian"
    "CentOS"
    "Fedora"
    "OpenSuSE"
    "Esci"
    )

    function distro () {

    Determina se / etc / issue esiste

    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

    Fine di "Determina se / etc / issue esiste"

    fi

    Se non esiste, restituisce il testo "Unknown Distro"

    altro

    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

    }

    Questo va alla fine 😀

    eco
    echo "Utilizza un numero"
    echo 'To Update Desired Distro'
    eco
    echo "$ Title"
    PS3 = »$ Domanda»

    seleziona Opzione in "$ {Distribos [@]}"; fare
    printf "\ n"
    case "$ REPLY" in

    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

    fatto
    fi

    Fine dell'esempio. Suggerisco che se hai intenzione di fare qualcosa di molto funzionante e complesso, in tal caso, è meglio usare "dialog" per creare installatori testuali, come quello offerto da Debian

    Puoi vedere un esempio qui -> http://bash.cyberciti.biz/guide/Bash_display_dialog_boxes

    1.    eruzama suddetto

      So cosa si può fare se poi fi, come lo farò da solo, farò una sceneggiatura il più completa possibile, con tutte le distribuzioni che conosco, e grazie per l'aiuto, mi hai chiarito un po 'come si fa, quando finisco la sceneggiatura, te la passo

  7.   Harry suddetto

    Ti interessa Slackware qui! Qualcuno da aiutare?

    1.    eruzama suddetto

      Penso con sabopkg - pacchetto i invece di apt get o pacman, e per aggiornare non ne ho idea, non ho ancora passato quella distro.

  8.   derin suddetto

    @eruzama

    Che bella GUIDA questo post, mi è davvero piaciuto molto, cioè la modalità tramite i comandi che FreeBSD Unix muove, ora sto lentamente comprendendo gli script, puoi fare lo stesso in FreeBSD Unix ?, vorrei una GUI come configurare e personalizzare un desktop Fluxbox e LXDE su un sistema come Gentoo o Slackware, ma i wiki creano molta confusione per i nuovi utenti.

  9.   Dave rivera suddetto

    Voto molto buono. Di recente ho dovuto reinstallare il sistema operativo e mi sono imbattuto nel problema di reinstallare tutto ciò di cui avevo bisogno, quindi crea uno script post-installazione: https://gist.github.com/daverivera/7d47761a98c3dd995225#file-install-sh

    È fatto per Arch, configura e installa alcuni pacchetti. È realizzato su funzioni che possono essere commentate per utilizzare solo il necessario. All'improvviso può anche servire a qualcuno come base.

  10.   baldoria suddetto

    Questo articolo è molto interessante, penso che la cosa migliore sarebbe che lo script potesse prendere un elenco di ciò che è installato e salvarlo per una futura formattazione installerà quello da quell'elenco, ecco perché non ho cambiato distro ultimamente.
    Grazie mille.

  11.   cannone suddetto

    Buon post, 10 punti già favoriti lince di montagna.

    Approfondirò un po 'questi script per creare il mio per Ubuntu.
    Ricordo che nella pagina Slice of Linux mettevano quegli script nei post di «cosa fare dopo l'installazione ...»

  12.   nosferatuxx suddetto

    Saluti comunità .. !!

    Wow. !!
    Vedo che questo script può diventare complesso e completo quanto vuoi come ho letto i commenti.
    Ad esempio, ho trovato uno script di post installazione per xubuntu che include anche il codice colore per renderlo più presentabile, diciamo, con cui ho persino osato giocare.

    Qui voglio pensare di poter realizzare un primo script che, tramite il condizionale if then fi, possa prima verificare di che distro si tratta, e all'interno del rispettivo condizionale; chiama lo script appropriato per l'installazione dei pacchetti sulla distribuzione corrispondente.

    Questo per renderli il più semplici possibile e che detti script non sono né così estesi né così complessi e sono più facili da mantenere / aggiornare.