@Rejpal
1. Proc je v edithosts.sh uvedeno
#!/bin/bash
sudo nano /etc/hosts.d/hosts.conf && sudo /opt/edithosts/gethosts.sh
exit 0
Co me je do nejakeho nano, kdyz vsude pouzivam a chci pouzivat svuj oblibeny textovy editor definovany v $EDITOR?
To jsi výjimka, u většiny lidí, co znám, není $EDITOR nastavené. Pokud by neměli v systému nastaveno $EDITOR, tak by jim to nefungovalo vůbec.
Budiž, měním na
sudo $EDITOR /etc/hosts.d/hosts.conf && sudo /opt/edithosts/gethosts.sh || sudo nano /etc/hosts.d/hosts.conf && sudo /opt/edithosts/gethosts.sh
2. proc tam je dvakrat za sebou uvedene sudo? Proc to neni schovane pod jednim sudem? Pokud nekdo ma nastavenu politiku zadani hesla pro kazde sudo, tak se clovek uhesluje. Navic konfiguraci systemu vzdy provadi root, tak proc to tu delat jinak (takze v tomto pripadu, udelam-li to pod rootem, tak se navic root vysuduje...)? Takze proc tam je vlastne sudo?
2x sudo nevidím jako překážku. U většiny uživatelů se zadává heslo jen jednou. Ten, kdo má politiku pro zadání hesla pro každé sudo, tak to tak má z bezpečnostního důvodu a asi mu nevadí, že ho zadá někdy vícekrát. 2x zadání hesla není zas takový problém, navíc skript může spouštět až poté, co se přihlásí přes su. Pak mu sudo nebude vůbec vadit, protože se už systém na heslo ptát nebude.
3. uninstall.sh: pokud provedu uninstall dvakrat po sobe, rve na me chyby, ze mazane adresare/soubory neexistuji
To není chyba, ale pravda, protože již odinstalace proběhla. Sice bych mohl dát podmínku, například, aby se zkontrolovala existence složky /opt/edithosts, ale co v případě, že by někdo složku smazal ručně, a chtěl by vrátit veškeré změny v /etc/hosts a smazat naplánované úlohy?
4. autoupdate.sh: v pripade neprovedeni aktualizace program vypise
"edithosts:Instalace aktualizace se nezdařila."
"edithosts:Po úspěšné aktualizaci uklízím dočasné soubory."
Opraveno.
5. update.sh: opet se nechci usudovat...
Mohl bych to řešit jedním sudem, které by spouštělo jiný skript, kde již by sudo nebylo, ale tímto způsobem by narůstala zbytečně velikost. Je možné spouštět pod rootem, takže není potřeba se usudovat
.