Comment créer un script post-installation

Hey Bonjour GNU / Linuxeros, aujourd'hui je viens avec une entrée super utile et super rapide, qui sera sûrement très utile lors du saut d'une distribution (ou distribution) à une autre (distro-hopping), ou lors du reformatage d'un PC Avec la même distribution, j'arrête de tourner autour du pot et on recommence.

Ce script est utilisé pour installer automatiquement des programmes lorsque vous exécutez le script, très utile pour les distro-hopers comme moi.

Avec cette commande, nous créons le fichier install.sh, (.sh est un fichier bash)

touch install.sh

Et avec cette commande nous rendons le fichier install.sh exécutable, sudo car sinon il ne nous laisserait pas modifier les permissions

sudo chmod a+x install.sh

Ici, vous choisissez l'éditeur de texte que vous aimez le plus: vim, nano, emacs, kate, gedit ... eh bien, vous connaissez celui que vous aimez le plus et je sudo pour enregistrer les modifications, pour ma part je vais choisir Vim.

sudo vim install.sh

Lorsque nous éditons au début de tout ce que nous devons écrire

#!/bin/bash

et après

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

Un peu plus bas, nous écrivons la commande pour mettre à jour notre distribution:

Debian, Ubuntu et ses millions de dérivés :

su && apt update && apt upgrade

CentOS y Red Hat comme:

sudo yum update

Dans la dernière version de Fedora, dnf a été introduit, qui est l'enfant direct de yum.

Fedora:

sudo dnf update

OpenSUSE:

sudo zypper update

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

sudo pacman -Syu o yaourt -Syua

Ou d'autres, comme Gentoo ou Slackware, utilisent les commandes de mise à jour et d'installation ..., dans mon cas j'utilise Arch Linux donc dans mon script cela devrait être:

Snap1

Après avoir écrit, nous allons classer les programmes à installer en 7 catégories:

  1. Utilitaires
  2. Internet
  3. Game
  4. DE (environnement de bureau ou ordinateurs de bureau)
  5. Multimédia
  6. Productivité
  7. Développement

On a écrit:

# Utilitaires # Développement # Internet # Jeux # DE et WM # Multimédia # Productivité

Nous mettons cela pour classer un peu mieux les applications et les utilitaires en groupes, plus tard nous écrivons les commandes d'installation, selon notre distribution, des packages que nous voulons, normalement vous devriez savoir quelle est votre distribution et comment installer les packages afin que nous installions ce que nous voulons, par exemple, du chrome, de la vapeur et du gnome-shell

sudo pacman -S chrome sudo pacman -S vapeur sudo pacman -S gnome-shell gnome-extra

À la fin, nous sauvegardons notre script et:

cd (Où est le script) && ./install.sh

Un exemple est celui-ci:

Snap2

Eh bien, c'est tout pour aujourd'hui, j'espère que vous le trouverez très utile et que vous vous verrez dans d'autres articles.


20 commentaires, laissez le vôtre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   ignacio dit

    Très bonne entrée pour ceux d'entre nous qui n'ont pas tellement d'idée, mais on aime distro-hop, installer des choses et enfin ruiner les distributions hahaha

    1.    éruzama dit

      Eh bien, c'est la base la plus simple, plus tard, elle peut être rendue plus compliquée

  2.   chasseur dit

    J'ai le mien pour Debian, mais il peut être modifié relativement facilement pour n'importe quelle autre distribution.

    https://github.com/xr09/kaos

    1.    éruzama dit

      Merci d'avoir commenté, j'ai vu votre script et je vais en faire mon script complexe.
      J'ai aussi vu votre blog et c'est bien, si j'ai des doutes sur PyQT, je sais à qui demander.

      1.    chasseur dit

        Eh bien, je suis content que cela serve de base, ce script a été inspiré par celui que j'ai vu au travail pour installer Fedora qui était très bon. Le nom que j'ai mis "KaOS" n'a rien à voir avec la distribution, en fait je pense que quand j'ai commencé le script, la distribution n'avait pas encore été annoncée.

  3.   Manuel Blanc Montero dit

    Lihuen avec environnement de bureau ► LXDE avec intégration de ► LibreOffice
    Ils s'intègrent très bien, c'est un succès rapide et très complet, j'installe plusieurs personnes et je l'utilise actuellement.
    Tels que: Canaima; Trisquel; GuadaLinex; lliurex ceux-ci utilisent des environnements très lourds et lents comme GNone et KDE par défaut%
    Ils n'ont pas les qualités de conception comme eux. Vous êtes les seuls à penser à rendre possible un Linux aussi rapide et stable
    et avec des packages de programmes très utiles sur les plates-formes: 32Bit & 64Bit.
    et divisé en quatre besoins Desktop Applications éducatives Lihuen LXDE et Lihuen et Linux pour les étudiants Informatica
    = J'imagine un monde utilisant l'environnement comme base: LXDE et Cinnamon
    -> Je vous félicite Excellent système d'exploitation.
    Dieu merci, je les ai payés ...
    "Espérons que le gouvernement vénézuélien utilisera ce Lihuen Linux et le placera dans le Canaima et le promouvra au Venezuela auprès de la population, des institutions publiques et des foyers pour sa rapidité"
    -> Je vais le promouvoir dans les universités de mon état et dans mes amis et ma famille J'ai aimé la rapidité et la facilité d'installation du grand
    Présentation Q a
    -> Merci d'avoir passé un bon moment du Venezuela -> État de Trujillo.
    Q toujours obtenir Linux Lihuen Je vais le télécharger et utiliser et recommander à tout le monde Q Savoir Q Utiliser un PC

  4.   Dago dit

    Une précision, KaOS n'utilise pas yaourt, puisqu'il n'est pas basé sur Arch, il utilise kcp.
    Salutations.

    1.    éruzama dit

      Je sais, j'utilise KaOS depuis un moment, cela dit que pacman était le commun entre les deux distributions, yaourt est typique d'Arch et kcp est KaOS, kcp -i package

  5.   commutateur dit

    Je ne connais pas les autres distributions mais avec Gentoo, le problème est un peu plus simple car pour lister tous les programmes installés il suffit de faire un
    cat /var/lib/portage/world
    Par exemple, si est à quoi ressemble mon fichier du monde (la catégorisation est déjà incluse).
    En ce qui concerne le script, je l'améliorerais un peu en utilisant un tableau comme celui-ci:
    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

    Cela facilite également la modification de la commande d'installation (un autre problème est si les packages conservent les mêmes noms dans différentes distributions).
    Et pour installer tous les packages en même temps, vous pouvez modifier la boucle for du code précédent pour cela:
    sudo apt-get install $(echo ${paquetes[@]})

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

    Si, pour une raison quelconque, vous souhaitez utiliser un autre caractère comme séparateur au lieu de l'espace, ici ! quelques façons de le faire sont expliquées.

    1.    commutateur dit

      Apparemment, WordPress interprète les sauts de ligne et les chiffres / blocs comme il le souhaite dans le code de la balise (ou j'ai fait quelque chose de mal). Je viens de mettre le code du script ici ! pour qu'il soit mieux compris.

      1.    éruzama dit

        Merci pour les commentaires

  6.   Inukaze dit

    Vous pouvez faire quelque chose de plus complet en utilisant bash par exemple, je souligne que c'est JUSTE UN EXEMPLE:

    Vous pouvez faire quelque chose de plus complet en utilisant bash par exemple

    #! / Bin / bash

    -- ENCODAGE: UTF-8 --

    Title = »Mise à jour des distributions ou des dérivés»
    Question = »Veuillez choisir une option:»
    Distros = (
    ArchLinux
    "Debian"
    "CentOS"
    "Feutre"
    "OpenSuSE"
    "Sortir"
    )

    function distro () {

    Déterminez si / etc / issue existe

    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

    Fin de "Déterminer si / etc / issue existe"

    fi

    S'il n'existe pas, renvoyez le texte "Distro inconnu"

    d'autre

    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

    }

    Cela va jusqu'au bout 😀

    echo
    echo 'Veuillez utiliser un nombre'
    echo 'Pour mettre à jour la distribution souhaitée'
    echo
    echo "$ Title"
    PS3 = »$ Question»

    sélectionnez l'option dans "$ {Distros [@]}"; faire
    printf "\ n"
    case "$ REPLY" dans

    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

    fait
    fi

    Fin de l'exemple. Je suggère que si vous allez faire quelque chose de très travaillé et complexe, dans ce cas, vous feriez mieux d'utiliser "dialog" pour créer des programmes d'installation textuels, comme celui que Debian apporte

    Vous pouvez voir un exemple ici -> http://bash.cyberciti.biz/guide/Bash_display_dialog_boxes

    1.    éruzama dit

      Je sais ce qu'on peut faire avec si alors fi, comment je vais le faire moi-même, je vais faire un script aussi complet que possible, avec toutes les distributions que je connais, et merci pour l'aide, tu m'as un peu clarifié comment le faire, quand j'aurai fini le script, je te le passe

  7.   Enrique dit

    Intéressé par Slackware ici! Quelqu'un pour aider?

    1.    éruzama dit

      Je pense qu'avec sabopkg - i package au lieu de apt get ou pacman, et pour mettre à jour je n'en ai aucune idée, je n'ai pas encore parcouru cette distribution.

  8.   derin dit

    @eruzama

    Quel bon GUIDE cet article, je l'ai vraiment aimé, c'est le mode au moyen des commandes que FreeBSD Unix déplace, maintenant je comprends lentement les scripts, pouvez-vous faire la même chose dans FreeBSD Unix?, Je voudrais une interface graphique de comme configurer et personnaliser un bureau Fluxbox et LXDE sur un système comme Gentoo ou Slackware, mais les wikis sont très déroutants pour les nouveaux utilisateurs.

  9.   David Rivera dit

    Très bonne note. J'ai récemment dû réinstaller le système d'exploitation et j'ai rencontré le problème de réinstaller tout ce dont j'avais besoin, alors créez un script de post-installation: https://gist.github.com/daverivera/7d47761a98c3dd995225#file-install-sh

    C'est fait pour Arch, configurer et installer certains packages. Il est fait sur des fonctions qui peuvent être commentées pour n'utiliser que le nécessaire. Du coup, il peut aussi servir de base à quelqu'un.

  10.   Jaraneda dit

    Cet article est très intéressant, je pense que la meilleure chose serait si le script pouvait prendre une liste de ce qui a été installé et l'enregistrer pour un formatage futur, il installera celui de cette liste, c'est pourquoi je n'ai pas changé la distribution ces derniers temps.
    Merci beaucoup.

  11.   cannon dit

    Bon post, 10 points déjà favori du lynx des montagnes.

    Je vais approfondir un peu ces scripts pour créer le mien pour Ubuntu.
    Je me souviens que dans la page Slice of Linux, ils mettaient ces scripts dans les messages "Que faire après l'installation ..."

  12.   nosferatuxx dit

    Salutations communauté .. !!

    Sensationnel. !!
    Je vois que ce script peut devenir aussi complexe et complet que vous le souhaitez car j'ai lu les commentaires.
    Par exemple, j'ai trouvé un script de post-installation pour xubuntu qui inclut même un code couleur pour le rendre plus présentable, disons, avec lequel j'ai même osé jouer.

    Ici, je veux penser que je peux faire un premier script qui, au moyen du conditionnel if then fi, peut d'abord vérifier de quelle distribution il s'agit, et dans le conditionnel respectif; appelez le script approprié pour installer les packages sur la distribution correspondante.

    Ceci afin de les rendre aussi simples que possible et que lesdits scripts ne soient ni aussi étendus ni aussi complexes et soient plus faciles à maintenir / mettre à jour.