Уголок новичка
   651

Создание скриптов

Всем доброе время суток. После того, как количество переустановок и настроек системы перевалило за десяток, я задумался над тем, чтобы написать скрипт, который бы устанавливал нужный софт после установки системы и создавал/правил нужные конфиги. Но вот проблема — не могу найти исчерпывающего мануала по этой теме. Может кто-нибудь поделится ссылками или знаниями? Буду признателен за любую помощь.
  • 1
  • 0

16 комментариев

avatar
Обрати внимание на TimeShift возможно это то что Вам надо, лично я ей пользуюсь… пока помогает
0
avatar
Спасибо за совет, но меня, как программиста, интересует именно автоматизация действий.
0
avatar
А что, bash'а уже не хватает? Бы у меня кент, он постоянно любил что-то там настраивать и переделывать. В конце концов он написал простой скрип на bash и все нормально. После перестановки системы запускал скрипт, подтверждал что нужно, а все остальное автоматом.
0
avatar
Пока не знаю хватает или нет. Только сейчас понял, что bash это то что я искал. Начал изучать, но не могу найти вменяемого туториала по использованию. Хочу попробовать написать скрипт для установки приложения через yaourt без проверки PGP подписей. Пока вот что получилось:
#!/bin/bash

read -p "Type name of package:" pkgname

echo "Installing $pkgname ..."
yaourt -G --noconfirm --tmp ~/tmp $pkgname
cd $pkgname
makepkg -c --skippgpcheck
makepkg -i
cd ..
rm -Rf $pkgname

Подскажите все ли верно?
0
avatar
Методом тыка наклепал скрипт:
#!/bin/bash

read -p "Type name of package:" pkgname

echo "Installing $pkgname ..."

yaourt -G --noconfirm $pkgname
cd $pkgname
makepkg -c -s --noconfirm --skippgpcheck
makepkg -i --noconfirm
cd ..
rm -Rf $pkgname
echo "Installation successfull"
exit

Далее планирую сделать его реентерабельным и добавить возможность читать список приложений из файла.
Последний раз редактировалось
0
avatar
?
Manjaro 18.0.0-rc XFCE x86_64 Linux 4.18.12-1-MANJARO Stable branch
0
avatar
Круто! Спасибо! Буду курить ман!
0
avatar
Вариант A.
Тыц.
Генерите лист пакетов. Любым методом, хоть руками, хоть автоматом.
Создаете архив с нужными конфигами. С абсолютными путями и правами, чтобы они сразу распаковывались куда надо. tar вполне умеет.
Далее пишете shell-скрипт, который ставит пакеты из списка и распаковывает архив конфигов.
Для унификации настроек пользователей смотрите в сторону /etc/skel.
Вариант B.
Клонирование.
Вариант C.
Создать свой образ. СБИШ.
0
avatar
bash это то что я искал

это вы еще zsh с плагинами не видели))
Экспорт списка пакетов
pacman -Q > pkglist.txt

Вместо йогурта (yaourt) советовал бы использовать другой хелпер, скажем pikaur синтаксис такое же как и у pacman разработчик наш соотечественник. Йогурт видимо заброшен уже.

Конфиги я бы хранил так:
Создаем проект git, в папку с проектом симлинкаем все нужные конфиги и коммитим на гит.
Ту да же можно отправлять содержимое скажем /home/user/.config ну и т д.
Еще можете почитать о etckeeper при правильной настроке оно умеет не только /etc.
Раскурите, делитесь. Сам интересуюсь этой темой)
Ну для продакшена конечно всем известные ansible, puppet, chef

P.S. До сих пор загадка зачем люди переустанавливают систему по 10 раз!?
Давеча съезжал с MBR на GPT
У меня btrfs. Следовательно btrfs send @ @home на флешку. Грузимся с LiveCD, (мне подходит Manjaro-Arhitect) переразмечаем диск под gpt (небыло создано отдельных разделов) создаем обратно все subvolumes @ @home заливаем обратно с флешки корень в @ хомяк в @home, chroot в систему подправили /etc/fstab установили загрузчик, reboot готово! Что ж вы лялих то все как венду то переустанавливаете?))))
?
root@localhost~ Если я попался вам навстречу, значит вам со мной не по PuTTY!
0
avatar
P.S. До сих пор загадка зачем люди переустанавливают систему по 10 раз!?
-так быстрее
-посмотреть, че намутили в новых сборках
-хочется «очистить чакры» и начать всё с чистого листа.
0
avatar
-так быстрее
Эээ… чем что?
-хочется «очистить чакры» и начать всё с чистого листа.
Груз неиспользуемых конфигов и неудаленных осиротевших пакетов тянет в сансару?
0
avatar
Эээ… чем что?
«Нет времени объяснять, просто делай переустановку!»

Груз неиспользуемых конфигов и неудаленных осиротевших пакетов тянет в сансару?
Ещё как. Но в большей степени порочные неразрешенные зависимости, да забытые имзенения в системных конфигах, которые уже не актуальны.

ЗЫ: Конечно, если у вас настроенные машины с рабочим процессом 24/7, переустановка — самый последний вариант, эт я понимаю.
Последний раз редактировалось
0
avatar
Новых сборках? Вы про Роллинг релизы? Новая сборка это лишь фиксация состояния системы.
?
root@localhost~ Если я попался вам навстречу, значит вам со мной не по PuTTY!
0
avatar
Ну посмотреть адекватность установщика, да настройки и набор приложений по умолчанию. А на виртуалке ощущения не те.
0
avatar
pacman -Q > pkglist.txt
Не надо так делать. Это будет список всех установленных в системе пакетов. Включая зависимости. В результате, скормив такое пакману для установки получим абсолютно все пакеты как явно установленные. И после удаления зависимости надо будет чистить руками.
pacman -Qqet

выдаст список всех поставленных руками пакетов.
+1
avatar
Спасибо за замечание. Привёл в принципе для направления в какую сторону двигаться.
Последний раз редактировалось
?
root@localhost~ Если я попался вам навстречу, значит вам со мной не по PuTTY!
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.