Cara membuat skrip pasca-pemasangan

Hei Halo GNU / Linuxeros, hari ini saya hadir dengan entri yang sangat berguna dan super cepat, yang pasti akan sangat berguna ketika melompat dari satu distro (atau distribusi) ke yang lain (distro-hopping), atau saat memformat ulang PC Dengan distribusi yang sama, Saya berhenti berbelit-belit dan kita mulai.

Script ini digunakan untuk menginstal program secara otomatis saat Anda menjalankan script, sangat berguna untuk distro-hopers seperti saya.

Dengan perintah ini kita membuat file install.sh, (.sh adalah file bash)

touch install.sh

Dan dengan perintah ini kami membuat file install.sh dapat dieksekusi, sudo karena jika tidak, kami tidak akan mengizinkan kami mengedit izin

sudo chmod a+x install.sh

Di sini mereka memilih editor teks yang paling mereka sukai: vim, nano, emacs, kate, gedit ... yah, Anda tahu yang paling Anda sukai dan saya sudo dapat menyimpan perubahan, untuk bagian saya, saya akan memilih Vim.

sudo vim install.sh

Saat kita mengedit di awal semuanya harus kita tulis

#!/bin/bash

Lalu

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

Sedikit lebih jauh ke bawah kami menulis perintah untuk memperbarui distribusi kami:

Debian, Ubuntu dan jutaan nya turunan :

su && apt update && apt upgrade

CentOS y Red Hat seperti:

sudo yum update

Di Fedora versi terbaru, dnf telah diperkenalkan, yang merupakan turunan langsung dari yum.

Fedora:

sudo dnf update

OpenSUSE:

sudo zypper update

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

sudo pacman -Syu o yaourt -Syua

Atau yang lainnya, seperti Gentoo atau Slackware, menggunakan perintah update dan instalasi ..., dalam kasus saya, saya menggunakan Arch Linux jadi dalam skrip saya seharusnya:

Snap1

Setelah menulis kita akan mengklasifikasikan program yang akan diinstal menjadi 7 kategori:

  1. keperluan
  2. Internet
  3. Juegos
  4. DE (Desktop Environment, atau desktop)
  5. multimedia
  6. Produktivitas
  7. Pengembangan

Kami menulis:

# Utilitas # Pengembangan # Internet # Game # DE dan WM # Multimedia # Produktivitas

Kami menempatkan ini untuk mengklasifikasikan aplikasi dan utilitas sedikit lebih baik dalam kelompok, kemudian kami menulis perintah instalasi, sesuai dengan distribusi kami, dari paket yang kami inginkan, biasanya Anda harus tahu apa distribusi Anda dan bagaimana menginstal paket jadi kami menginstal apa yang kita inginkan, misalnya chromium, steam, dan gnome-shell

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

Pada akhirnya kami menyimpan skrip kami dan:

cd (Di mana scriptnya) && ./install.sh

Contohnya adalah ini:

Snap2

Nah, sekian untuk hari ini, semoga bermanfaat dan sampai jumpa di postingan lainnya.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   ignacio dijo

    Entri yang sangat bagus untuk kita yang tidak punya banyak ide, tapi kita suka distro-hop, menginstal sesuatu dan akhirnya merusak distribusi hahaha

    1.    eruzama dijo

      Nah ini base yang paling sederhana, nanti bisa dibuat lebih rumit

  2.   pemburu dijo

    Saya memiliki milik saya untuk Debian, tetapi dapat dimodifikasi dengan relatif mudah untuk distro lain.

    https://github.com/xr09/kaos

    1.    eruzama dijo

      Terima kasih telah berkomentar, saya telah melihat skrip Anda dan dari situ saya akan membuat skrip rumit saya.
      Saya juga telah melihat blog Anda dan itu bagus, jika saya ragu tentang PyQT, saya tahu harus bertanya kepada siapa.

      1.    pemburu dijo

        Yah, saya senang ini berfungsi sebagai basis, skrip itu terinspirasi oleh yang saya lihat di tempat kerja untuk menginstal Fedora yang sangat bagus. Nama yang saya masukkan "KaOS" tidak ada hubungannya dengan distro tersebut, sebenarnya saya rasa ketika saya memulai skrip distro tersebut belum diumumkan.

  3.   Manuel White Montero dijo

    Lihuen dengan lingkungan desktop ► LXDE dengan integrasi ► LibreOffice
    Mereka sangat cocok, ini sukses yang cepat dan sangat lengkap, saya menginstal beberapa orang dan saat ini saya menggunakannya.
    Seperti: Canaima; Trisquel; GuadaLinex; lliurex ini menggunakan Lingkungan Sangat Berat dan Lambat seperti GNone dan KDE sebagai% Default
    Mereka tidak memiliki kualitas desain seperti yang mereka miliki. Hanya Anda yang berpikir untuk membuat Linux yang cepat dan stabil menjadi mungkin
    dan dengan Paket Program yang Sangat Berguna di Platform: 32Bit & 64Bit.
    dan Dibagi menjadi empat Kebutuhan Desktop Lihuen LXDE dan Aplikasi Pendidikan Lihuen dan Linux untuk Mahasiswa Informatica
    = Saya Bayangkan Dunia Menggunakan Lingkungan sebagai Basis: LXDE dan Kayu Manis
    -> Saya ucapkan selamat kepada Anda Sistem Operasi yang Sangat Baik Mereka mengeluarkan UD / s
    Alhamdulillah saya membayar mereka ...
    "Semoga Pemerintah Venezuela Menggunakan Linux Lihuen Ini dan Menempatkannya di Canaima dan Mempromosikannya di Venezuela pada Populasi dan di Lembaga Publik dan Rumah untuk Kecepatannya"
    -> Saya akan mempromosikannya di universitas negara bagian saya dan di teman & keluarga saya, saya suka betapa cepat dan mudahnya menginstal yang hebat
    Presentasi Q Memiliki
    -> Terima kasih telah bersenang-senang dari Venezuela-> Negara Bagian Trujillo.
    T selalu dapatkan Linux Lihuen Saya akan mengunduhnya dan menggunakan serta merekomendasikan semua orang Q Tahu Q Menggunakan PC

  4.   dago dijo

    Klarifikasi, KaOS tidak menggunakan yaourt, karena tidak didasarkan pada Arch, ia menggunakan kcp.
    Salam.

    1.    eruzama dijo

      Saya tahu, saya telah menggunakan KaOS untuk beberapa waktu, dikatakan bahwa pacman adalah kesamaan antara kedua distro, yaourt adalah ciri khas Arch dan kcp adalah KaOS, paket kcp -i

  5.   Pengalih dijo

    Saya tidak tahu di distribusi lain tetapi dengan Gentoo masalahnya menjadi lebih mudah karena untuk mendaftar semua program yang terinstal cukup dengan melakukan
    cat /var/lib/portage/world
    Misalnya seperti ini adalah seperti apa file dunia saya (kategorisasi sudah termasuk).
    Sedangkan untuk skrip, saya akan sedikit memperbaikinya menggunakan array seperti ini:
    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

    Ini juga memudahkan untuk mengubah perintah instalasi (masalah lainnya adalah jika paket menyimpan nama yang sama di distribusi yang berbeda).
    Dan untuk menginstal semua paket pada saat yang sama Anda dapat mengubah loop for dari kode sebelumnya untuk ini:
    sudo apt-get install $(echo ${paquetes[@]})

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

    Jika karena alasan tertentu Anda ingin menggunakan karakter lain sebagai pemisah, bukan spasi, di sini beberapa cara untuk melakukannya dijelaskan.

    1.    Pengalih dijo

      Rupanya WordPress menafsirkan jeda baris dan angka / bantalan sesuai keinginannya di dalam kode tag (atau saya melakukan kesalahan). Saya hanya memasukkan kode script di sini agar lebih dipahami.

      1.    eruzama dijo

        Terima kasih atas masukan

  6.   Inukaze dijo

    Anda dapat melakukan sesuatu yang lebih lengkap menggunakan bash misalnya, saya tekankan HANYA SATU CONTOH:

    Anda dapat melakukan sesuatu yang lebih lengkap menggunakan bash misalnya

    #! / bin / bash

    -- ENCODING: UTF-8 --

    Judul = »Distro atau Turunan Updater»
    Pertanyaan = »Pilih salah satu Opsi:»
    Distro = (
    ArchLinux
    "Debian"
    "CentOS"
    "Fedora"
    "OpenSuSE"
    "Keluar"
    )

    function distro () {

    Tentukan apakah / etc / issue ada

    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

    Akhir dari "Tentukan apakah / etc / masalah ada"

    fi

    Jika tidak ada, kembalikan teks "Distro Tidak Dikenal"

    lain

    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

    }

    Ini sampai akhir 😀

    gema
    echo 'Harap gunakan Nomor'
    echo 'Untuk Memperbarui Distro yang Diinginkan'
    gema
    echo "$ Title"
    PS3 = »$ Pertanyaan»

    pilih Opsi di "$ {Distro [@]}"; melakukan
    printf "\ n"
    kasus "$ REPLY" di

    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

    dilakukan
    fi

    Akhir Contoh. Saya menyarankan jika Anda akan melakukan sesuatu yang sangat berhasil dan kompleks, dalam hal ini, lebih baik gunakan "dialog" untuk membuat penginstal tekstual, seperti yang dibawa Debian

    Anda dapat melihat contohnya di sini -> http://bash.cyberciti.biz/guide/Bash_display_dialog_boxes

    1.    eruzama dijo

      Saya tahu apa yang bisa dilakukan jika kemudian fi, bagaimana saya akan melakukannya sendiri, saya akan membuat skrip selengkap mungkin, dengan semua distro yang saya tahu, dan terima kasih atas bantuannya, Anda telah mengklarifikasi saya sedikit bagaimana melakukannya, ketika saya menyelesaikan skrip, saya akan meneruskannya kepada Anda

  7.   Enrique dijo

    Tertarik dengan Slackware di sini! Seseorang untuk membantu?

    1.    eruzama dijo

      Saya pikir dengan paket sabopkg - i daripada apt get atau pacman, dan untuk memperbarui saya tidak tahu, saya belum melalui distro itu.

  8.   mendalam dijo

    @erU

    Sungguh PANDUAN hebat posting ini, saya sangat menyukainya, itu adalah mode melalui perintah yang bergerak FreeBSD Unix, sekarang saya perlahan-lahan memahami tentang skrip, dapatkah Anda melakukan hal yang sama di FreeBSD Unix ?, Saya ingin GUI dari seperti mengkonfigurasi dan menyesuaikan desktop Fluxbox dan LXDE pada sistem seperti Gentoo atau Slackware, tetapi wiki sangat membingungkan bagi pengguna baru.

  9.   Dave rivera dijo

    Nilai yang sangat bagus. Saya baru-baru ini harus menginstal ulang OS dan mengalami masalah untuk menginstal ulang semua yang saya butuhkan, jadi buat skrip pasca-instal: https://gist.github.com/daverivera/7d47761a98c3dd995225#file-install-sh

    Itu dibuat untuk Arch, konfigurasikan dan instal beberapa paket. Itu dibuat dengan fungsi yang dapat dikomentari untuk digunakan hanya yang diperlukan. Tiba-tiba itu juga bisa menjadi basis seseorang.

  10.   pesta pora yg meriah dijo

    Artikel ini sangat menarik, saya pikir yang terbaik adalah skrip dapat mengambil daftar apa yang diinstal dan menyimpannya untuk format yang akan datang itu akan menginstal salah satu dari daftar itu, itulah mengapa saya belum mengubah distro belakangan ini.
    Terima kasih banyak.

  11.   kannon dijo

    Pos bagus, 10 poin dan favorit lynx pegunungan.

    Saya akan menggali lebih dalam skrip ini untuk membuat milik saya untuk Ubuntu.
    Saya ingat bahwa di halaman Slice of Linux mereka biasa meletakkan skrip-skrip itu di dalam tulisan "apa yang harus dilakukan setelah menginstal ..."

  12.   nosferatuxx.dll dijo

    Salam komunitas .. !!

    Wow. !!
    Saya melihat bahwa skrip ini dapat menjadi serumit dan selengkap yang Anda inginkan seperti yang telah saya baca di komentar.
    Sebagai contoh, saya menemukan skrip instalasi pasca untuk xubuntu yang bahkan menyertakan kode warna untuk membuatnya lebih rapi, katakanlah, yang bahkan berani saya mainkan.

    Di sini saya ingin berpikir bahwa saya dapat membuat skrip pertama yang, melalui if then fi conditional, pertama-tama dapat memverifikasi distro itu apa, dan dalam kondisional masing-masing; panggil skrip yang sesuai untuk menginstal paket pada distro yang sesuai.

    Ini untuk membuatnya sesederhana mungkin dan skrip tersebut tidak begitu luas atau terlalu rumit dan lebih mudah untuk dipelihara / diperbarui.