Как создать сценарий после установки

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

Этот сценарий используется для автоматической установки программ при запуске сценария, что очень полезно для таких пользователей, как я.

С помощью этой команды мы создаем файл install.sh (.sh - это файл bash)

touch install.sh

И с помощью этой команды мы делаем файл install.sh исполняемым, sudo, потому что в противном случае он не позволил бы нам редактировать разрешения

sudo chmod a+x install.sh

Здесь они выбирают текстовый редактор, который им больше всего нравится: vim, nano, emacs, kate, gedit ... ну, вы знаете, какой вам нравится больше всего, и я sudo, чтобы сохранить изменения, со своей стороны я собираюсь выбрать 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.

Мягкая фетровая шляпа:

sudo dnf update

OpenSUSE:

sudo zypper update

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

sudo pacman -Syu o yaourt -Syua

Или другие, такие как Gentoo или Slackware, используют команды обновления и установки ... в моем случае я использую Arch Linux, поэтому в моем сценарии это должно быть:

Snap1

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

  1. коммунальные услуги
  2. Интернет
  3. Juegos
  4. DE (среда рабочего стола или рабочие столы)
  5. Мультимедиа
  6. Производительность
  7. разработка

Мы написали:

# Утилиты # Разработка # Интернет # Игры # DE и WM # Мультимедиа # Производительность

Мы поместили это, чтобы немного лучше классифицировать приложения и утилиты по группам, позже мы напишем команды установки, в соответствии с нашим дистрибутивом, пакетов, которые мы хотим, обычно вы должны знать, какой у вас дистрибутив и как устанавливать пакеты, поэтому мы устанавливаем что мы хотим, например хром, пар и оболочка гнома

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

В конце сохраняем наш скрипт и:

cd (где находится скрипт) && ./install.sh

Пример такой:

Snap2

Что ж, на сегодня это все, надеюсь, вы найдете это очень полезным и увидимся в других постах.


Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

20 комментариев, оставьте свой

Оставьте свой комментарий

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

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Игнасио сказал

    Очень хорошая запись для тех из нас, кто не имеет такого большого представления, но нам нравится скачивать дистрибутивы, устанавливать что-то и, наконец, разрушать дистрибутивы хахаха

    1.    эрУзама сказал

      Ну это самая простая база, потом можно усложнить

  2.   Данхантер сказал

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

    https://github.com/xr09/kaos

    1.    эрУзама сказал

      Спасибо за комментарий, я видел ваш сценарий и из него собираюсь сделать свой сложный сценарий.
      Я тоже видел ваш блог, и это хорошо, если у меня есть сомнения по поводу PyQT, я знаю, у кого спросить.

      1.    Данхантер сказал

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

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

    Lihuen со средой рабочего стола ► LXDE с интеграцией ► LibreOffice
    Они очень хорошо подходят, это быстрый и очень полный успех, я устанавливаю несколько человек и в настоящее время использую его. Эта версия - единственная в мире, выпущенная с такой средой: LXDE so Efficient в сочетании с LibreOffice of Весь испанский Linux
    Такие как: Канайма; Трискель; GuadaLinex; lliurex они используют очень тяжелые и медленные среды, такие как GNone и KDE по умолчанию%
    У них нет качества дизайна, как у них. Вы единственный, кто думает о том, чтобы сделать возможным такой быстрый и стабильный Linux.
    и пакеты очень полезных программ для платформ: 32-битные и 64-битные.
    и разделен на четыре потребности Desktop Lihuen LXDE и Lihuen Educational Applications и Linux для студентов Informatica
    = Я представляю себе мир, использующий среду как основу: LXDE и Cinnamon
    -> Поздравляю Отличная операционная система Вынули UD / s
    Слава богу, я заплатил им ...
    «Надеюсь, что правительство Венесуэлы использует этот Linux Lihuen, поместит их в Канайму и продвигает в Венесуэле среди населения, в государственных учреждениях и в домах для повышения скорости»
    -> Я собираюсь продвигать его в университетах моего штата, а также среди моих друзей и семьи. Мне понравилось, как быстро и легко установить отличный
    Презентация Q имеет
    -> Спасибо за хорошо проведенное время из Венесуэлы -> Штат Трухильо.
    Q Всегда получайте Linux Lihuen Я буду загружать его, использовать и всем рекомендовать Q Знаю Q Использовать ПК

  4.   даго сказал

    Уточнение, KaOS не использует yaourt, поскольку он не основан на Arch, он использует kcp.
    Привет.

    1.    эрУзама сказал

      Я знаю, я использовал KaOS какое-то время, он сказал, что pacman был общим для двух дистрибутивов, yaourt типичен для Arch, а kcp - это KaOS, kcp -i package

  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.    эрУзама сказал

        Спасибо за вход

  6.   Инукадзе сказал

    Вы можете сделать что-то более полное, например, используя bash, я подчеркиваю, что это ТОЛЬКО ОДИН ПРИМЕР:

    Вы можете сделать что-то более полное, например, используя bash

    #! / Bin / Баш

    - КОДИРОВАНИЕ: UTF-8 -

    Title = »Обновление дистрибутивов или деривативов»
    Вопрос = »Выберите вариант:»
    Дистрибутивы = (
    ArchLinux
    "Debian"
    «ЦентОС»
    "Федора"
    "OpenSuSE"
    "Выйди"
    )

    function 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"
    case "$ 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.    эрУзама сказал

      Я знаю, что можно сделать с if then 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 then fi может сначала проверить, что это за дистрибутив, и в рамках соответствующего условного оператора; вызвать соответствующий скрипт для установки пакетов в соответствующий дистрибутив.

    Это сделано для того, чтобы сделать их настолько простыми, насколько это возможно, и чтобы указанные сценарии не были такими обширными и сложными, и их было легче поддерживать / обновлять.