Здесь я как бы сталкиваюсь с дилеммой , у меня есть репозиторий GitHub приличного размера, и я хочу создать setup.sh или bootstrap.sh который после запуска с root загрузит некоторые необходимые модули Python и репозитории apt на запущенных компьютерах.
Репозиторий нацелен на Raspberry Pis, работающий на Raspbian Jessie 8.0. Pis должен быть настроен как AdHoc Network Nodes. Однако скрипт, который я хочу написать, можно использовать и на любом ноутбуке на основе дистрибутива Debian.
Я хочу, чтобы этот setup.sh/bootstrap.sh также создавал резервную копию файла /etc/network/interfaces и перезаписывал исходный файл, настраивая интерфейсы следующим образом:
## Desired Interfaces file
auto lo
iface lo inet loopback
## Ethernet LAN
iface eth0 inet dhcp
## WLAN AdHoc
auto wlan0
allow hot-plug wlan0
iface wlan0 inet6 auto ## IPv6
Я хочу записать полные вышеупомянутые данные в setup.sh но я думаю, что это не стандартная практика!
Должен ли я создать файл interfaces.txt и он должен содержать вышеупомянутые детали, а затем использовать > или >> в моем setup.sh?
пример
что-то вроде
# in the setup.sh file
cat interfaces.txt > /etc/network/interfaces
cat adhoc.txt > /etc/rc.local
где adhoc.txt содержит
adhocNet(){
ifconfig wlan0 down
iwconfig wlan0 mode ad-hoc essid my-ESSID channel 1 txpower 3dBm
ifconfig wlan0 up
}
adhocNet()
exit 0
Я хочу создать этот bash-скрипт, который может сделать вещи для конечного пользователя намного проще! (Просто мысль здесь!)
Вопрос
Означает ли это, что мне нужно создать файл .txt для всех установок, которые я хочу настроить на моем компьютере с GNU/Linux, или есть ли что-то среднее?
Как большие репозитории создают такие bash-скрипты, чтобы конечному пользователю было легко его использовать изначально.
