Як створити сценарій після встановлення

Гей! Привіт, GNU / Linuxeros, сьогодні я маю надзвичайно корисний і надзвичайно швидкий запис, який, безсумнівно, буде дуже корисним при переході з одного дистрибутива (або розподілу) на інший (дистрибутив) або при переформатуванні ПК з таким самим дистрибутивом , Я перестаю бити навколо куща, і ми починаємо.

Цей сценарій використовується для автоматичної установки програм під час запуску сценарію, дуже корисно для дистрибуторів, таких як я.

За допомогою цієї команди ми створюємо файл install.sh, (.sh - це файл bash)

touch install.sh

І за допомогою цієї команди ми робимо файл install.sh виконуваним, sudo, оскільки інакше він не дозволив би нам редагувати дозволи

sudo chmod a+x install.sh

Тут вони вибирають текстовий редактор, який їм найбільше подобається: vim, nano, emacs, kate, gedit ... ну, ти знаєш того, котрий тобі найбільше подобається, і я думаю, що зможу зберегти зміни, зі свого боку я збираюся обрати Vim.

sudo vim install.sh

Коли ми редагуємо на початку всього, що ми маємо написати

#!/bin/bash

І потім

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

Трохи далі ми пишемо команду для оновлення нашого розподілу:

Debian, Ubuntu і його мільйони похідні :

su && apt update && apt upgrade

CentOS y Red Hat подібно до:

sudo yum update

В останній версії Fedora було введено dnf, який є безпосереднім потомком yum.

Fedora:

sudo dnf update

OpenSUSE:

sudo zypper update

Arch Linux, Маньяро, Antergos, KaOS ...:

sudo pacman -Syu o yaourt -Syua

Або інші, такі як Gentoo або Slackware, використовують команди оновлення та встановлення ..., у моєму випадку я використовую Arch Linux, тому в моєму сценарії це повинно бути:

Snap1

Після написання ми збираємося класифікувати програми для встановлення на 7 категорій:

  1. комунальні послуги
  2. інтернет
  3. ігри
  4. DE (середовище робочого столу або робочий стіл)
  5. мультимедіа
  6. Продуктивність
  7. Розвиток

Ми писали:

# Службові програми # Розробка # Інтернет # Ігри # DE та WM # Мультимедіа # Продуктивність

Ми ставимо це, щоб трохи краще класифікувати програми та утиліти в групах, пізніше ми пишемо команди встановлення, відповідно до нашого розподілу, пакунків, які ми хочемо, як правило, ви повинні знати, який ваш дистрибутив і як встановлювати пакети, щоб ми встановлювали ми хочемо, наприклад, хром, пару та оболонку гнома

sudo pacman -S хром sudo pacman -S паровий sudo pacman -S гном-оболонка гном-екстра

В кінці ми зберігаємо наш сценарій і:

cd (Де скрипт) && ./install.sh

Приклад:

Snap2

Ну, це все на сьогодні, сподіваюся, вам це буде дуже корисно і побачимось в інших дописах.


20 коментарі, залиште свій

Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   Ігнасіо - сказав він

    Дуже хороший запис для тих з нас, хто не має такої ідеї, але нам подобається дистрибутизувати, встановлювати речі і, нарешті, руйнувати дистрибутиви ха-ха-ха

    1.    ерузама - сказав він

      Ну, це найпростіша основа, пізніше її можна ускладнити

  2.   dhunter - сказав він

    У мене є свій для Debian, але його можна відносно легко змінити для будь-якого іншого дистрибутива.

    https://github.com/xr09/kaos

    1.    ерузама - сказав він

      Дякую за коментар, я побачив ваш сценарій і з нього я збираюся створити свій складний сценарій.
      Я також бачив ваш блог, і добре, якщо у мене є сумніви щодо PyQT, я знаю, кого запитати.

      1.    dhunter - сказав він

        Ну, я радий, що він служить базою. Цей сценарій був натхненний сценарієм, який я бачив на роботі, щоб встановити дуже хороший Fedora. Назва, яку я поставив "KaOS", не має нічого спільного з дистрибутивом, насправді я думаю, що коли я запускав сценарій, дистрибутив ще не був оголошений.

  3.   Мануель Бланко Монтеро - сказав він

    Lihuen з робочим середовищем► LXDE з інтеграцією ► LibreOffice
    Вони дуже добре підходять, це швидкий і дуже повний успіх, я встановлюю кілька людей і зараз користуюся нею. Ця версія є єдиною у світі, яка вийшла з цим середовищем: LXDE настільки ефективний у поєднанні з LibreOffice від Весь іспанський Linux
    Такі як: Канайма; Тріскель; GuadaLinex; lliurex вони використовують дуже важкі та повільні середовища, такі як GNone та KDE як за замовчуванням%
    Вони не мають дизайнерських якостей, як у них. Ви єдині, хто думав про те, щоб зробити такий швидкий і стабільний Linux можливим
    та з дуже корисними пакетами програм на платформах: 32Bit & 64Bit.
    і розділений на чотири потреби: робочий стіл Lihuen LXDE та Lihuen Освітні програми та Linux для студентів Informatica
    = Я уявляю світ, що використовує середовище як основу: LXDE та корицю
    -> Вітаю вас із відмінною операційною системою Вони вийняли UD / s
    Слава Богу, я заплатив їм ...
    "Сподіваємось, уряд Венесуели використовує цей Linux Lihuen та розміщує їх у Canaima та просуває у Венесуелі серед населення та державних установ та будинків для його швидкості"
    -> Я збираюся просувати його в університетах мого штату та в своїх друзях та родині. Мені сподобалось, як швидко та просто встановити чудовий
    Презентація Q має
    -> Дякуємо, що добре провели час з Венесуелою-> штат Трухільо.
    Завжди отримуй Linux Lihuen. Я завантажу його, використовую та рекомендую всім Q Know Q Використовуй ПК

  4.   даго - сказав він

    Пояснення: KaOS не використовує yaourt, оскільки він не заснований на Arch, він використовує kcp.
    Привіт.

    1.    ерузама - сказав він

      Я знаю, я деякий час використовував KaOS, там говорилося, що pacman є спільним між двома дистрибутивами, yaourt типовий для Arch, а kcp - це KaOS, kcp -i пакет

  5.   Свічер - сказав він

    Я не знаю про інші дистрибутиви, але з Gentoo проблема стає дещо простішою, оскільки перерахувати всі встановлені програми просто так
    cat /var/lib/portage/world
    Наприклад, як це так виглядає мій світовий файл (категоризація вже включена).
    Що стосується сценарію, я б трохи вдосконалив його, використовуючи такий масив:
    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

    Це також полегшує зміну команди встановлення (інша проблема полягає в тому, що пакети зберігають однакові імена в різних дистрибутивах).
    А щоб встановити всі пакети одночасно, ви можете змінити цикл for попереднього коду на такий:
    sudo apt-get install $(echo ${paquetes[@]})

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

    Якщо з якихось причин ви хочете використовувати будь-який інший символ як роздільник замість пробілу, тут пояснюються деякі способи це зробити.

    1.    Свічер - сказав він

      Очевидно, WordPress інтерпретує розриви рядків та цифри / прокладки як хоче в коді тегу (або я щось зробив не так). Я просто поставив код сценарію тут так що це краще зрозуміти.

      1.    ерузама - сказав він

        Gracias Por ель aporte

  6.   Інукадзе - сказав він

    Наприклад, ви можете зробити щось більш повне, використовуючи bash, наголошую, це ТІЛЬКИ ОДИН ПРИКЛАД:

    Ви можете зробити щось більш повне, наприклад, за допомогою bash

    #! / бін / баш

    -- КОДУВАННЯ: UTF-8 --

    Title = »Оновлення дистрибутивів або деривативів»
    Питання = »Виберіть варіант:»
    Дистрибутиви = (
    ArchLinux
    "Debian"
    "CentOS"
    "Fedora"
    "OpenSuSE"
    "Вийти"
    )

    функція distro () {

    Визначте, чи існує / 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

    Кінець "Визначте, чи існує / etc / issue"

    fi

    Якщо він не існує, поверніть текст "Невідомий дистрибутив"

    ще

    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

    }

    Це доходить до кінця 😀

    нудьгувати
    echo 'Будь ласка, використовуйте номер'
    echo 'Оновити бажаний дистрибутив'
    нудьгувати
    echo "$ Title"
    PS3 = »$ Питання»

    виберіть параметр у "$ {Distros [@]}"; робити
    printf "\ n"
    справа "$ REPLY" у

    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

    зроблений
    fi

    Кінець прикладу. Я пропоную, якщо ви збираєтеся робити щось дуже відпрацьоване та складне, у такому випадку вам краще скористатися "діалоговим вікном", щоб зробити текстові інсталятори, як той, який пропонує Debian

    Ви можете побачити приклад тут -> http://bash.cyberciti.biz/guide/Bash_display_dialog_boxes

    1.    ерузама - сказав він

      Я знаю, з чим можна вчинити, якщо потім fi, як я це зроблю сам, я зроблю сценарій максимально повним, з усіма відомими дистрибутивами, і дякую за допомогу, ви мене пояснили трохи, як це зробити, коли я закінчу сценарій, я передам його вам

  7.   Гаррі - сказав він

    Зацікавлені в Slackware тут! Хтось допомогти?

    1.    ерузама - сказав він

      Я думаю, що з пакетом sabopkg -i замість apt get або pacman, і для оновлення я поняття не маю, я ще не пройшов цей дистрибутив.

  8.   derin - сказав він

    @eruzama

    Який чудовий ГІД цей пост, мені він дуже сподобався, тобто режим за допомогою команд, які переміщує FreeBSD Unix, тепер я повільно розумію сценарії, чи можете ви зробити те саме у FreeBSD Unix?, Я хотів би графічний інтерфейс подібно налаштуванню та налаштуванню робочого столу Fluxbox та LXDE у такій системі, як Gentoo або Slackware, але вікі дуже заплутані для нових користувачів.

  9.   Дейв Рівера - сказав він

    Дуже хороша оцінка. Нещодавно мені довелося перевстановити ОС і зіткнутися з проблемою перевстановлення всього необхідного, тому створіть сценарій після встановлення: https://gist.github.com/daverivera/7d47761a98c3dd995225#file-install-sh

    Він створений для Arch, налаштовує та встановлює деякі пакунки. Це зроблено для функцій, які можна коментувати, використовуючи лише необхідне. Раптом це також може служити комусь базою.

  10.   джаранеда - сказав він

    Ця стаття дуже цікава, я думаю, найкраще було б, щоб сценарій міг взяти список встановленого та зберегти його для подальшого форматування, він встановить той із цього списку, тому останнім часом я не міняв дистрибутива.
    Велике спасибі.

  11.   КАННОН - сказав він

    Хороший пост, 10 балів вже улюблена рись гір.

    Я збираюся заглибитися трохи глибше в ці сценарії, щоб створити свій для Ubuntu.
    Я пам’ятаю, що на сторінці Slice of Linux вони розміщували ці скрипти в повідомленнях «що робити після встановлення ...»

  12.   носфератукс - сказав він

    Привітання спільнота .. !!

    Ого. !!
    Я бачу, що цей сценарій може стати настільки складним і повним, наскільки ви хочете, як я вже читав коментарі.
    Наприклад, я знайшов сценарій після встановлення для xubuntu, який включає навіть кольоровий код, щоб зробити його більш презентабельним, скажімо, з яким я навіть наважився пограти.

    Тут я хочу подумати, що я можу створити перший скрипт, який за допомогою if, тоді fi умовного, може спочатку перевірити, що це за дистрибутив, і в межах відповідного умовного; викликати відповідний скрипт для встановлення пакунків на відповідний дистрибутив.

    Це для того, щоб зробити їх максимально простими, а також те, що зазначені сценарії не є ні настільки обширними, ні настільки складними і простішими в обслуговуванні / оновленні.