Здесь я как бы сталкиваюсь с дилеммой , у меня есть репозиторий 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-скрипты, чтобы конечному пользователю было легко его использовать изначально.