Aktywne Wpisy
Xefirex +1916
AspoleczneUfo +493
Spędziłem kilka miesięcy w jednej z największych polskich hut na stanowisku, które kojarzy się z odpowiedzialną pracą, a jedyne co zobaczyłem to nieprawdopodobną skalę kradzieży, korupcję i ogólny kult #!$%@? się. Niesamowite, że w 2024 roku wciąż istnieją firmy zatrzymane w latach 80 ubiegłego wieku. Stare narzędzia ledwo się trzymające, #!$%@? w BHP, pracownicy wynoszący dosłownie wszystko, łącznie z sześciometrowymi rurami przez bramę, na której jest ochrona i nie powinno być na
Jakby ktoś szukał parsera w C/C++(i inne) do linuksowych configów co by sobie na przykład zmieniać konfigurację interfejsów sieciowych w pliku /etc/network/interfaces z własnego interfejsu użytnika napisanego np. z pomocą Qt to jest takie coś.
Biblioteka http://augeas.net/ (Augiasz - spoko to nazwali xD )
Dziś korzystałem i jest bardzo bardzo spoko.
Chyba nawet Redhat sypie na to piniondz.
Ugółem to działa w taki sposób że biblioteka na domyślnej konfiguracji #!$%@? przez wszystkie pliki w katalogu /etc(i innych jak się jej każe) i udostępnia ustawienia w nich zawarte w postaci drzewa opcji z edytowalnymi parametrami.
I tak na przykład jak mamy zdefiniowany w /etc/network/interfaces interfejs wlan0:
i chcemy aby używał statycznego adresu IP to wystarczy takie wywołanie:
i zawartość pliku nam się ładnie zmienia bez ruszania pozostałych rzeczy
+ dodatkowo do tego jest augtool - program konsolowy pozwalający na podgląd i edycję configów za pomocą biblioteki augeas.
Podobną do tego rzeczą jest UCI używane w OpenWRT, ale tam filozofia jest trochę inna - UCI trzyma własne configi, a tutaj jest to pozostawione tak jak stwórcy-stworzyciele oprogramowania planowali.
Może się komuś przyda - bo sam straciłem z dwa dni na pisanie czegoś co już ktoś zrobił.
Tu lista z plikami jakich składnię jest w stanie parsować biblioteka augeas - jest tego sporo:
http://augeas.net/stock_lenses.html
#linux #programowanie #jezykc #cpp
a robi backup configa?
https://manpages.debian.org/stretch/augeas-tools/augtool.1.en.html
a w C/C++ czy czymś innym trzeba dodatkowo włączyć opcję backup w "/augeas/save/"
http://augeas.net/docs/api.html