Kaptain.
Telegram /
LinkedIn /
Email /
GIT /
RSS /
GPG /
Заказ печатных плат

№ 6946 В разделе
Sysadmin
от February 13th, 2015,
В подшивках: Linux
Есть такая штука whiptail, которая помогает вам в текстовой консольке рисовать диалоговые окна в bash скриптах. Этот конкретный postinst скрипт для сборки deb репозитория btsync. Сначала диалогом с кнопками да и нет конфигурируется интерфейс на котором будет работать btsync (в тупую меняется sed’ом с дефолтного значения), потом показывается упоминание об опасности слушания всех интерфейсов и в конце индикатор оставшегося прогресса (начат с 30%, т.к. конфигурация являлась одним из трех шагов установки). Именно с помощью echo в индикаторной части выводятся проценты выполненой задачи.
#!/bin/bash
if [ ! -f /etc/btsync.conf.fix ]
then
if (whiptail --title "BTSYNC CONFIGURATION" --yesno "Listen \
only loopback interface? If NO btsync will bind to all \
interfaces. Use firewall if you in non private network!" 10 60)
then
sed -i.orig s/0.0.0.0/127.0.0.1/g /etc/btsync.conf
else
sed -i.orig s/127.0.0.1/0.0.0.0/g /etc/btsync.conf
whiptail --title "REMEMBER IT!" --msgbox "BTSYNC WILL \
LISTEN ALL INTERFACES! USE IT WITH CARE!" 10 60
fi
#prevent reconfiguring at next btsync update
touch /etc/btsync.conf.fix
fi
{
echo 30
/usr/sbin/update-rc.d btsync defaults &> /dev/null
echo 70
/etc/init.d/btsync restart &> /dev/null
} | whiptail --gauge "Please wait while installing" 6 60 0
Fortune cookie: I want EARS! I want two ROUND BLACK EARS to make me feel warm 'n secure!!
Leave a Reply