Paano lumikha ng isang post-install na script

Hoy Kumusta GNU / Linuxeros, ngayon ay dumating ako na may isang napaka kapaki-pakinabang at napakabilis na pagpasok, na tiyak na magiging napaka kapaki-pakinabang kapag tumatalon mula sa isang distro (o pamamahagi) patungo sa isa pa (distro-hopping), o kapag nag-reformat ng isang PC Na may parehong pamamahagi, Huminto ako sa pag-ikot sa paligid ng bush at nagsisimula kami.

Ginagamit ang script na ito upang awtomatikong mai-install ang mga programa kapag pinatakbo mo ang script, lubhang kapaki-pakinabang para sa mga distro-hoper na tulad ko.

Sa utos na ito nilikha namin ang install.sh file, (.sh ay isang bash file)

touch install.sh

At sa utos na ito ginagawa namin ang file ng install.sh na maipatupad, sudo dahil kung hindi, hindi ito papayagang i-edit namin ang mga pahintulot

sudo chmod a+x install.sh

Dito mo pipiliin ang text editor na pinaka gusto mo: vim, nano, emacs, kate, gedit ... well, alam mo ang pinaka gusto mo at sudo ko upang mai-save ang mga pagbabago, para sa aking bahagi pipiliin ko Vim.

sudo vim install.sh

Kapag nag-e-edit kami sa simula ng lahat ng kailangan nating isulat

#!/bin/bash

At pagkatapos

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

Medyo malayo pa ay isinusulat namin ang utos na i-update ang aming pamamahagi:

Debian, Ubuntu at ang milyon-milyong nito derivatives :

su && apt update && apt upgrade

CentOS y Red sumbrero gaya ng:

sudo yum update

Sa pinakabagong bersyon ng Fedora, ipinakilala ang dnf, na direktang anak ni yum.

Fedora:

sudo dnf update

OpenSUSE:

sudo zypper update

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

sudo pacman -Syu o yaourt -Syua

O ang iba, tulad ng Gentoo o Slackware, gamitin ang mga pag-update at pag-install na utos ..., sa aking kaso gumagamit ako ng Arch Linux kaya sa aking script dapat ito ay:

Snap1

Pagkatapos ng pagsulat ay uuri-uriin namin ang mga program na mai-install sa 7 na kategorya:

  1. Utilities
  2. internet
  3. Juegos
  4. DE (Kapaligiran ng Desktop, o mga desktop)
  5. Multimedia
  6. Pagiging Produktibo
  7. Pag-unlad

Sinulat namin:

# Mga Gamit # Pag-unlad # Internet # Mga Laro # DE at WM ng # Multimedia # Kakayahang Gumawa

Inilagay namin ito upang maiuri ang mga application at kagamitan nang medyo mas mahusay sa mga pangkat, kalaunan isinusulat namin ang mga utos ng pag-install, ayon sa aming pamamahagi, ng mga package na gusto namin, normal na dapat mong malaman kung ano ang iyong pamamahagi at kung paano i-install ang mga pakete upang mai-install namin ang nais namin, halimbawa chromium, steam, at gnome-shell

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

Sa huli ay nai-save namin ang aming script at:

cd (Nasaan ang script) && ./install.sh

Ang isang halimbawa ay ito:

Snap2

Sa gayon, ito ay naging lahat para sa araw na ito, inaasahan kong makita mo itong napaka kapaki-pakinabang at makita ka sa iba pang mga post.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   Ignacio dijo

    Napakahusay na pagpasok para sa atin na walang masyadong ideya, ngunit nais naming mag-distro-hop, mag-install ng mga bagay at sa wakas ay masisira ang mga pamamahagi hahaha

    1.    eruzama dijo

      Sa gayon ito ang pinakasimpleng base, sa paglaon maaari itong gawing mas kumplikado

  2.   dhunter dijo

    Mayroon akong minahan para sa Debian, ngunit maaari itong mabago nang madali para sa anumang iba pang distro.

    https://github.com/xr09/kaos

    1.    eruzama dijo

      Salamat sa puna, nakita ko ang iyong script at mula rito gagawin ko ang aking kumplikadong script.
      Nakita ko rin ang iyong blog at mabuti, kung may pag-aalinlangan ako tungkol sa PyQT, alam ko kung sino ang hihilingin.

      1.    dhunter dijo

        Sa gayon, natutuwa ako na nagsisilbi itong isang batayan, ang script na iyon ay inspirasyon ng isa na nakita ko sa trabaho upang mai-install ang Fedora na napakahusay. Ang pangalang inilagay kong "KaOS" ay walang kinalaman sa distro, sa katunayan sa palagay ko na noong sinimulan ko ang iskrip ang distro ay hindi pa naipahayag.

  3.   Manuel White Montero dijo

    Lihuen na may kapaligiran sa desktop ► LXDE na may pagsasama ng ► LibreOffice
    Tama ang pagkakasya nila, ito ay isang mabilis at kumpletong tagumpay, nag-i-install ako ng maraming mga tao at kasalukuyang ginagamit ko ito.
    Tulad ng: Canaima; Trisquel; GuadaLinex; lliurex ang mga ito ay gumagamit ng Napaka Mabigat at Mabagal na Mga Kapaligiran tulad ng GNone at KDE bilang Default%
    Wala silang mga katangian sa disenyo tulad ng sa kanila. Ikaw lang ang mag-iisip tungkol sa paggawa ng isang mabilis at matatag na Linux na posible
    at may Napaka-kapaki-pakinabang na Mga Pakete ng Program sa Mga Platform: 32Bit & 64Bit.
    at Nahahati sa apat na Pangangailangan ng Desktop Lihuen LXDE at Lihuen Educational Applications at Linux para sa Mga Mag-aaral ng Informatica
    = Naiisip ko ang isang Mundo na Gumagamit ng Kapaligiran bilang Base: LXDE at Cinnamon
    -> Binabati kita ng Magaling na Operating System Inilabas nila ang UD / s
    Salamat sa Diyos na binayaran ko sila ...
    "Sana Pamahalaan ng Venezuela Gamitin Ang Linux Lihuen at Ilagay ang mga ito sa Canaima at Itaguyod ito sa Venezuela sa Populasyon at sa Mga Public Institution at sa Homes para sa Bilis nito"
    -> Isusulong ko ito sa mga unibersidad ng aking estado at sa aking mga kaibigan at pamilya. Nagustuhan ko kung gaano kabilis at kadali i-install ang mahusay
    Paglalahad Q Mayroon
    -> Salamat sa pagkakaroon ng magandang oras mula sa Venezuela-> Trujillo State.
    Palaging makuha ang Q ng Linux Lihuen Ina-download ko ito at ginagamit at inirekomenda ang lahat Q Malaman Q Gumamit ng PC

  4.   dago dijo

    Isang paglilinaw, ang KaOS ay hindi gumagamit ng yaourt, dahil hindi ito nakabatay sa Arch, gumagamit ito ng kcp.
    Pagbati.

    1.    eruzama dijo

      Alam ko, gumamit ako ng KaOS nang ilang sandali, sinabi nito na ang pacman ang karaniwan sa pagitan ng dalawang disto, ang iyoourt ay tipikal ng Arch at ang kcp ay KaOS, kcp -i package

  5.   Switcher dijo

    Hindi ko alam ang tungkol sa iba pang mga pamamahagi ngunit sa Gentoo ang isyu ay medyo madali dahil upang mailista ang lahat ng mga naka-install na programa gawin lamang ang
    cat /var/lib/portage/world
    Hal kaya ay kung ano ang hitsura ng aking file sa mundo (kasama na ang kategorya).
    Tulad ng para sa script, pagbutihin ko ito nang kaunti gamit ang isang array na tulad nito:
    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

    Ginagawa nitong mas madali upang baguhin ang utos ng pag-install (isa pang isyu ay kung ang mga pakete ay panatilihin ang parehong mga pangalan sa iba't ibang mga pamamahagi).
    At upang mai-install ang lahat ng mga pakete nang sabay-sabay maaari mong baguhin ang para sa loop ng nakaraang code dito:
    sudo apt-get install $(echo ${paquetes[@]})

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

    Kung sa ilang kadahilanan nais mong gumamit ng anumang iba pang mga character bilang isang separator sa halip na ang puwang, dito ang ilang mga paraan upang gawin ito ay ipinaliwanag.

    1.    Switcher dijo

      Maliwanag na binibigyang kahulugan ng WordPress ang mga linya ng break at numero / pad na nais nito sa loob ng tag code (o may nagawa akong mali). Inilagay ko lang ang script code dito upang mas maintindihan ito.

      1.    eruzama dijo

        Gracias por el aporte

  6.   Inukaze dijo

    Maaari kang gumawa ng isang bagay na mas kumpleto gamit ang bash halimbawa, binibigyan ko diin na ISANG HALIMBAWA LANG:

    Maaari kang gumawa ng isang bagay na mas kumpleto gamit ang bash halimbawa

    #! / bin / bash

    -- ENCODING: UTF-8 --

    Pamagat = »Distros o Derivatives Updater»
    Tanong = »Mangyaring Pumili ng isang Opsyon:»
    Distros = (
    ArchLinux
    "Debian"
    "CentOS"
    "Fedora"
    "OpenSuSE"
    "Lumabas ka"
    )

    function distro () {

    Tukuyin kung mayroon / etc / isyu na mayroon

    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

    Pagtatapos ng "Tukuyin kung / etc / isyu na umiiral"

    fi

    Kung wala ito, ibalik ang teksto na "Unknown Distro"

    iba

    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

    }

    Pupunta ito sa dulo 😀

    miss
    echo 'Mangyaring gumamit ng isang Numero'
    echo 'Upang I-update ang Ninanais na Distro'
    miss
    echo "$ Pamagat"
    PS3 = »$ Tanong»

    piliin ang Opsyon sa "$ {Distros [@]}"; gawin
    printf "\ n"
    kaso "$ REPLY" sa

    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

    tapos
    fi

    Wakas ng Halimbawa. Iminumungkahi ko na kung gagawa ka ng isang bagay na napakahusay at kumplikado, sa kasong iyon, mas mahusay kang gumamit ng "diyalogo" upang makagawa ng mga installer ng tekstuwal, tulad ng dinala ni Debian

    Maaari kang makakita ng isang halimbawa dito -> http://bash.cyberciti.biz/guide/Bash_display_dialog_boxes

    1.    eruzama dijo

      Alam ko kung ano ang maaaring gawin kung kung gayon, kung paano ko ito gagawin, gagawa ako ng isang script na kumpleto hangga't maaari, sa lahat ng mga distro na alam ko, at salamat sa tulong, nilinaw mo ako medyo kung paano ito gawin, kapag natapos ko ang script, ipasa ko ito sa iyo

  7.   Manloob dijo

    Interesado sa Slackware dito! May makakatulong?

    1.    eruzama dijo

      Sa palagay ko sa sabopkg - i package sa halip na apt get o pacman, at upang i-update wala akong ideya, hindi pa ako dumaan sa distro na iyon.

  8.   malalim dijo

    @eruzama

    Ano ang isang mahusay na GABAY sa post na ito, talagang nagustuhan ko ito, iyon ang mode sa pamamagitan ng mga utos na gumagalaw ang FreeBSD Unix, ngayon ay dahan-dahan kong nauunawaan ang tungkol sa mga script, magagawa mo rin ba ang pareho sa FreeBSD Unix?, Gusto ko ng isang GUI ng tulad ng pag-configure at pagpapasadya ng isang Fluxbox at LXDE desktop sa isang system tulad ng Gentoo o Slackware, ngunit ang mga wiki ay napakalito para sa mga bagong gumagamit.

  9.   Dave rivera dijo

    Napakagandang marka. Kamakailan ko lamang muling na-install ang OS at naranasan ang problema ng muling pag-install ng lahat ng kailangan ko, kaya lumikha ng isang post-install script: https://gist.github.com/daverivera/7d47761a98c3dd995225#file-install-sh

    Ginawa ito para sa Arch, i-configure at i-install ang ilang mga pakete. Ginagawa ito sa mga pagpapaandar na maaaring magkomento upang magamit lamang ang kinakailangan. Biglang maaari din itong maghatid ng isang tao bilang isang base.

  10.   pagsasaya dijo

    Ang artikulong ito ay napaka-kagiliw-giliw, sa palagay ko ang pinakamagandang bagay na ang script ay maaaring kumuha ng isang listahan ng kung ano ang na-install at i-save ito para sa isang hinaharap na pag-format mai-install nito ang isa mula sa listahang iyon, iyon ang dahilan kung bakit hindi ko binago ang distro nitong huli.
    Maraming salamat sa inyo.

  11.   kannon dijo

    Magandang post, 10 puntos na ang mga paboritong lynx ng mga bundok.

    Maghuhukay ako nang kaunti sa mga script na ito upang likhain ang minahan para sa Ubuntu.
    Naaalala ko na sa pahina ng Slice of Linux ginamit nila upang ilagay ang mga script na iyon sa mga post ng "kung ano ang gagawin pagkatapos i-install ..."

  12.   nosferatuxx dijo

    Pagbati sa pamayanan .. !!

    Wow. !!
    Nakikita ko na ang script na ito ay maaaring maging kumplikado at kumpleto ayon sa gusto mo tulad ng nabasa ko ang mga komento.
    Halimbawa, nakakita ako ng isang script sa pag-install ng post para sa xubuntu na nagsasama ng kahit code ng kulay upang gawing mas kanais-nais, sabihin natin, na kahit na naglakas-loob akong laruin.

    Dito nais kong isipin na makakagawa ako ng isang unang iskrip na, sa pamamagitan ng kung pagkatapos ay kondisyonal, maaaring mapatunayan muna kung anong distro ito, at sa loob ng kani-kanilang kondisyon; tawagan ang naaangkop na script para sa pag-install ng mga pakete sa kaukulang distro.

    Ito upang gawing simple ang mga ito hangga't maaari at ang nasabing mga script ay hindi gaano kalawak o kaya kumplikado at mas madaling mapanatili / mag-update.