Jak stworzyć skrypt poinstalacyjny

Hej! Witaj, GNU / Linuxeros, dziś przychodzę z super przydatnym i super szybkim wpisem, który z pewnością będzie bardzo przydatny podczas przeskakiwania z jednej dystrybucji (lub dystrybucji) do innej (skakanie) lub podczas ponownego formatowania komputera z tą samą dystrybucją , Przestaję owijać w bawełnę i zaczynamy.

Ten skrypt jest używany do automatycznego instalowania programów po uruchomieniu skryptu, bardzo przydatny dla dystrybutorów, takich jak ja.

Za pomocą tego polecenia tworzymy plik install.sh (.sh to plik bash)

touch install.sh

Za pomocą tego polecenia sprawiamy, że plik install.sh jest wykonywalny, sudo, ponieważ w przeciwnym razie nie pozwoliłby nam edytować uprawnień

sudo chmod a+x install.sh

Tutaj wybierasz edytor tekstu, który lubisz najbardziej: vim, nano, emacs, kate, gedit ... cóż, znasz ten, który lubisz najbardziej i ja sudo, aby zapisać zmiany, ze swojej strony mam zamiar wybrać Krzepkość.

sudo vim install.sh

Kiedy na początku edytujemy wszystko to musimy napisać

#!/bin/bash

I wtedy

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

Nieco dalej piszemy polecenie aktualizacji naszej dystrybucji:

Debian, Ubuntu i jego miliony pochodne :

su && apt update && apt upgrade

CentOS y Red Hat lubić:

sudo yum update

W najnowszej wersji Fedory został wprowadzony dnf, który jest bezpośrednim dzieckiem yum.

Fedora:

sudo dnf update

OpenSUSE:

sudo zypper update

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

sudo pacman -Syu o yaourt -Syua

Lub inni, jak Gentoo lub Slackware, używają poleceń aktualizacji i instalacji ... w moim przypadku używam Arch Linux, więc w moim skrypcie powinno być:

Snap1

Po napisaniu będziemy klasyfikować programy do zainstalowania na 7 kategorii:

  1. Użytkowe
  2. Internet
  3. Gry
  4. DE (środowisko graficzne lub komputery stacjonarne)
  5. multimedialny
  6. Produktywność
  7. rozwój

Napisaliśmy:

# Narzędzia # Rozwój # Internet # Gry # DE i WM # Multimedia # Produktywność

Umieściliśmy to, aby nieco lepiej sklasyfikować aplikacje i narzędzia w grupach, później piszemy polecenia instalacyjne, zgodnie z naszą dystrybucją, pakietów, które chcemy, zwykle powinieneś wiedzieć, jaka jest twoja dystrybucja i jak zainstalować pakiety, więc instalujemy co chcemy na przykład chromu, pary i muszli gnoma

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

Na koniec zapisujemy nasz skrypt i:

cd (gdzie jest skrypt) && ./install.sh

Oto przykład:

Snap2

Cóż, to wszystko na dziś, mam nadzieję, że uznasz to za bardzo przydatne i do zobaczenia w innych postach.


Treść artykułu jest zgodna z naszymi zasadami etyka redakcyjna. Aby zgłosić błąd, kliknij tutaj.

20 komentarzy, zostaw swoje

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Ignacio powiedział

    Bardzo dobry wpis dla tych z nas, którzy nie mają takiego pomysłu, ale lubimy podskakiwać na dystrybucję, instalować rzeczy i wreszcie niszczyć dystrybucje hahaha

    1.    eruzama powiedział

      To najprostsza podstawa, później można ją bardziej skomplikować

  2.   łowca powiedział

    Mam swoją dla Debiana, ale można ją stosunkowo łatwo zmodyfikować dla każdej innej dystrybucji.

    https://github.com/xr09/kaos

    1.    eruzama powiedział

      Dziękuję za komentarz, widziałem twój skrypt i na jego podstawie zrobię mój złożony scenariusz.
      Widziałem również Twojego bloga i dobrze, jeśli mam wątpliwości co do PyQT, wiem, kogo zapytać.

      1.    łowca powiedział

        Cóż, cieszę się, że służy jako baza, ten skrypt został zainspirowany tym, który widziałem podczas instalacji Fedory, który był bardzo dobry. Nazwa, którą umieściłem "KaOS" nie ma nic wspólnego z dystrybucją, tak naprawdę myślę, że kiedy zaczynałem skrypt, dystrybucja nie została jeszcze ogłoszona.

  3.   Manuel Biały Montero powiedział

    Lihuen ze środowiskiem graficznym► LXDE z integracją ► LibreOffice
    Pasują bardzo dobrze, to szybki i bardzo pełny sukces, instaluję kilka osób i obecnie z niego korzystam.Ta wersja jako jedyna na świecie została wydana z tym środowiskiem: LXDE so Efficient w połączeniu z LibreOffice of Cały hiszpański Linux
    Takich jak: Canaima; Trisquel; GuadaLinex; lliurex używają bardzo ciężkich i powolnych środowisk, takich jak GNone i KDE, jako domyślny%
    Nie mają takich cech konstrukcyjnych jak oni. Jesteście jedynymi, którzy myślą o umożliwieniu tak szybkiego i stabilnego Linuksa
    oraz z pakietami bardzo przydatnych programów na platformach: 32-bitowy i 64-bitowy.
    i podzielony na cztery aplikacje edukacyjne dla komputerów stacjonarnych Lihuen LXDE i Lihuen oraz Linux dla studentów Informatica
    = I Wyobraź sobie świat wykorzystujący środowisko jako podstawę: LXDE i cynamon
    -> Gratuluję doskonałego systemu operacyjnego Wyjęli UD / s
    Dzięki Bogu zapłaciłem im ...
    „Miejmy nadzieję, że rząd Wenezueli wykorzysta ten Linux Lihuen i umieści go w Canaima i będzie promować w Wenezueli wśród ludności oraz w instytucjach publicznych i domach ze względu na jego szybkość”
    -> Mam zamiar promować go na uniwersytetach w moim stanie oraz u znajomych i rodziny. Podobało mi się, jak szybko i łatwo można zainstalować
    Prezentacja Q Has
    -> Dziękuję za miłe spędzenie czasu z Wenezueli -> Trujillo State.
    P zawsze otrzymuję Linuksa Lihuen Będę go pobierać, używać i polecać wszystkim. P Wiem Q Używaj PC

  4.   mieszaniec powiedział

    Wyjaśnienie, KaOS nie używa yaourt, ponieważ nie jest oparty na Arch, używa kcp.
    Pozdrowienia.

    1.    eruzama powiedział

      Wiem, używam KaOS od jakiegoś czasu, powiedział, że pacman jest wspólny między dwiema dystrybucjami, yaourt jest typowy dla Arch, a kcp to KaOS, pakiet kcp -i

  5.   przełącznik powiedział

    Nie wiem o innych dystrybucjach, ale w przypadku Gentoo problem jest nieco łatwiejszy, ponieważ lista wszystkich zainstalowanych programów jest prostsza
    cat /var/lib/portage/world
    Np. así tak wygląda mój plik świata (kategoryzacja jest już uwzględniona).
    Jeśli chodzi o skrypt, poprawiłbym go nieco za pomocą tablicy takiej jak ta:
    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

    Ułatwia to również zmianę polecenia instalacji (innym problemem jest to, że pakiety zachowują te same nazwy w różnych dystrybucjach).
    Aby zainstalować wszystkie pakiety naraz, możesz zmienić pętlę for poprzedniego kodu na:
    sudo apt-get install $(echo ${paquetes[@]})

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

    Jeśli z jakiegoś powodu chcesz użyć innego znaku jako separatora zamiast spacji, tutaj wyjaśniono kilka sposobów, aby to zrobić.

    1.    przełącznik powiedział

      Najwyraźniej WordPress interpretuje podziały wierszy i cyfry / pola tak, jak chce w kodzie tagu (lub zrobiłem coś źle). Po prostu wstawiłem kod skryptu tutaj aby było lepiej zrozumiane.

      1.    eruzama powiedział

        Dzięki za wejście

  6.   Inukaze powiedział

    Możesz na przykład zrobić coś bardziej kompletnego używając basha, podkreślam, że to TYLKO JEDEN PRZYKŁAD:

    Możesz na przykład zrobić coś bardziej kompletnego używając basha

    #! / bin / bash

    -- KODOWANIE: UTF-8 --

    Title = »Aktualizator dystrybucji lub instrumentów pochodnych»
    Pytanie = »Wybierz opcję:»
    Dystrybucje = (
    ArchLinux
    „Debian”
    „CentOS”
    „Fedora”
    „OpenSuSE”
    "Wychodzić"
    )

    function distro () {

    Sprawdź, czy istnieje plik / 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

    Koniec „Ustal, czy / etc / problem istnieje”

    fi

    Jeśli nie istnieje, zwróć tekst „Nieznana dystrybucja”

    więcej

    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

    }

    To trwa do końca 😀

    przegapić
    echo „Proszę użyć numeru”
    echo „Aby zaktualizować pożądaną dystrybucję”
    przegapić
    echo „$ Title”
    PS3 = »$ Pytanie»

    wybierz opcję w „$ {Distros [@]}”; zrobić
    printf "\ n"
    sprawa „$ REPLY” w

    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

    zrobić
    fi

    Koniec przykładu. Sugeruję, aby w takim przypadku, jeśli zamierzasz zrobić coś bardzo działającego i złożonego, lepiej użyj "okna dialogowego" do tworzenia tekstowych instalatorów, takich jak ten, który przynosi Debian

    Tutaj możesz zobaczyć przykład -> http://bash.cyberciti.biz/guide/Bash_display_dialog_boxes

    1.    eruzama powiedział

      Wiem, co można zrobić, jeśli w takim razie fi, jak mam to zrobić sam, zrobię scenariusz jak najbardziej kompletny, ze wszystkimi dystrybucjami, które znam, i dzięki za pomoc, wyjaśniłeś mi trochę jak to zrobić, kiedy skończę scenariusz, przekażę ci go

  7.   Harry powiedział

    Zainteresowany Slackware tutaj! Ktoś do pomocy?

    1.    eruzama powiedział

      Myślę, że z sabopkg - pakuję zamiast apt get lub pacman, a żeby zaktualizować nie mam pojęcia, jeszcze nie przeszedłem przez tę dystrybucję.

  8.   derin powiedział

    @eruzama.

    Cóż za świetny PRZEWODNIK ten post, bardzo mi się podobał, czyli tryb za pomocą poleceń, które porusza FreeBSD Unix, teraz powoli rozumiem skrypty, czy możesz zrobić to samo we FreeBSD Unix ?, chciałbym mieć GUI jak konfigurowanie i dostosowywanie pulpitu Fluxboksa i LXDE w systemie takim jak Gentoo lub Slackware, ale wiki są bardzo mylące dla nowych użytkowników.

  9.   Dave rivera powiedział

    Ocena bardzo dobra. Niedawno musiałem ponownie zainstalować system operacyjny i napotkałem problem ponownej instalacji wszystkiego, czego potrzebowałem, więc utwórz skrypt poinstalacyjny: https://gist.github.com/daverivera/7d47761a98c3dd995225#file-install-sh

    Jest przeznaczony do Arch, konfiguracji i instalacji niektórych pakietów. Jest wykonany na funkcjach, które można komentować, aby używać tylko niezbędnych. Nagle może też służyć komuś jako baza.

  10.   Jaraneda powiedział

    Ten artykuł jest bardzo interesujący, myślę, że najlepiej byłoby, gdyby skrypt mógł pobrać listę tego, co zostało zainstalowane i zapisać go do przyszłego formatowania, zainstaluje to, co jest z tej listy, dlatego ostatnio nie zmieniałem dystrybucji.
    Dziękuję bardzo.

  11.   kannoń powiedział

    Dobry post, 10 punktów już ulubione rysie gór.

    Zamierzam zagłębić się w te skrypty, aby utworzyć moje dla Ubuntu.
    Pamiętam, że na stronie Slice of Linux umieszczali te skrypty w postach „co zrobić po zainstalowaniu ...”

  12.   nosferatuxx powiedział

    Greetings Community .. !!

    Łał. !!
    Widzę, że ten skrypt może stać się tak złożony i kompletny, jak chcesz, ponieważ przeczytałem komentarze.
    Na przykład znalazłem skrypt poinstalacyjny dla xubuntu, który zawiera nawet kod kolorów, aby uczynić go bardziej reprezentacyjnym, powiedzmy, co nawet odważyłem się bawić.

    Tutaj chcę pomyśleć, że mogę stworzyć pierwszy skrypt, który za pomocą warunku if then fi może najpierw zweryfikować, jaka to jest dystrybucja iw ramach odpowiedniego warunku; wywołaj odpowiedni skrypt do zainstalowania pakietów w odpowiedniej dystrybucji.

    Ma to na celu uczynienie ich tak prostymi, jak to tylko możliwe, a wspomniane skrypty nie są ani tak obszerne, ani tak złożone i są łatwiejsze w utrzymaniu / aktualizacji.