abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 18:44 | Komunita

    Organizace Free Software Foundation Europe (FSFE) zrušila svůj účet na 𝕏 (Twitter) s odůvodněním: "To, co mělo být původně místem pro dialog a výměnu informací, se proměnilo v centralizovanou arénu nepřátelství, dezinformací a ziskem motivovaného řízení, což je daleko od ideálů svobody, za nimiž stojíme". FSFE je aktivní na Mastodonu.

    Ladislav Hagara | Komentářů: 0
    dnes 17:55 | IT novinky

    Paramount nabízí za celý Warner Bros. Discovery 30 USD na akcii, tj. celkově o 18 miliard USD více než nabízí Netflix. V hotovosti.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | IT novinky

    Nájemný botnet Aisuru prolomil další "rekord". DDoS útok na Cloudflare dosáhl 29,7 Tbps. Aisuru je tvořený až čtyřmi miliony kompromitovaných zařízení.

    Ladislav Hagara | Komentářů: 1
    dnes 12:11 | Nová verze

    Iced, tj. multiplatformní GUI knihovna pro Rust, byla vydána ve verzi 0.14.0.

    Ladislav Hagara | Komentářů: 2
    dnes 05:22 | Komunita

    FEX, tj. open source emulátor umožňující spouštět aplikace pro x86 a x86_64 na architektuře ARM64, byl vydán ve verzi 2512. Před pár dny FEX oslavil sedmé narozeniny. Hlavní vývojář FEXu Ryan Houdek v oznámení poděkoval společnosti Valve za podporu. Pierre-Loup Griffais z Valve, jeden z architektů stojících za SteamOS a Steam Deckem, v rozhovoru pro The Verge potvrdil, že FEX je od svého vzniku sponzorován společností Valve.

    Ladislav Hagara | Komentářů: 0
    dnes 03:22 | Nová verze

    Byla vydána nová verze 2.24 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 15:11 | IT novinky

    Společnost Proton AG stojící za Proton Mailem a dalšími službami přidala do svého portfolia online tabulky Proton Sheets v Proton Drive.

    Ladislav Hagara | Komentářů: 3
    6.12. 15:55 | Komunita

    O víkendu (15:00 až 23:00) probíha EmacsConf 2025, tj. online konference vývojářů a uživatelů editoru GNU Emacs. Sledovat ji lze na stránkách konference. Záznamy budou k dispozici přímo z programu.

    Ladislav Hagara | Komentářů: 0
    6.12. 15:44 | Komunita

    Provozovatel internetové encyklopedie Wikipedia jedná s velkými technologickými firmami o uzavření dohod podobných té, kterou má s Googlem. Snaží se tak zpeněžit rostoucí závislost firem zabývajících se umělou inteligencí (AI) na svém obsahu. Firmy využívají volně dostupná data z Wikipedie k trénování jazykových modelů, což zvyšuje náklady, které musí nezisková organizace provozující Wikipedii sama nést. Automatické programy

    … více »
    Ladislav Hagara | Komentářů: 29
    6.12. 15:22 | IT novinky

    Evropská komise obvinila síť 𝕏 z porušení unijních pravidel, konkrétně nařízení Evropské unie o digitálních službách (DSA). Vyměřila jí za to pokutu 120 milionů eur (2,9 miliardy Kč). Pokuta je podle názoru amerického ministra zahraničí útokem zahraničních vlád na americký lid. K pokutě se vyjádřil i americký viceprezident: „EU by měla podporovat svobodu projevu, a ne útočit na americké společnosti kvůli nesmyslům“.

    Ladislav Hagara | Komentářů: 26
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (48%)
     (19%)
     (17%)
     (22%)
     (15%)
     (24%)
     (16%)
     (18%)
    Celkem 442 hlasů
     Komentářů: 18, poslední 2.12. 18:34
    Rozcestník

    Dotaz: prepis configu a restrat sluzby pod rootom

    21.10.2018 10:51 jany2 | skóre: 30 | blog: jany_blog
    prepis configu a restrat sluzby pod rootom
    Přečteno: 400×
    sorry, nie som v tychto veciach zdatny a preto sa chcem opytat.
    Potreboval by som v /etc/openvpn/server.conf zakomentovat jeden riadok a nasledne restartnut sluzbu.
    Je jasne, ze zmeny v tomto confe a restart sluzby moze robit len root, tak chcem vediet ako to spravit (s tym rootom by az taky problem nebol, lebo mozem sa rovno prihlasit ako root a spustit skript).
    Ide o to ako ten skript napisat. Viem len zaklady, ze do suboru na koniec mozem zapisvat cez echo >> ale zatial neviem ako pridat do urciteho riadku "#" resp. ako editovat konkretny riadok.
    Cize potreboval by som upravit nejaky riadok v configu (nie konkretne podla cisla riadku, ale podla jeho obsahu, pretoze ta direktova nemusi byt vzdy na tom istom riadku).
    Celkovo by mal skript obsahovat editaciu configu + nejaky sleep a restart sluzby.
    thx
    upozornujem, ze v linuxe som vecny zaciatocnik ...

    Odpovědi

    21.10.2018 11:19 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
    Konfigurace se nepřepisuje jak jsi se dnes vyspal!

    Takže jako root se upraví konfigurák a už se na něj nesahá!

    Jak restartnout službu těžko říct když nevíme distribuci většinou nějak takto: "systemctl restart služba"
    Josef Kufner avatar 21.10.2018 12:02 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
    Pokud chceš upravit konfigurák, přihlaš se jako root, spusť mc, najdi konfigurák, zmáčkni F4.

    Pokud chceš nějak automaticky upravovat konfiguraci, tak ji neupravuj, ale generuj ze šablony:
    #!/bin/bash
    
    cert="server.crt"
    key="server.key"
    
    cat >/etc/openvpn/server.conf <<EOF
    proto udp
    dev tun
    port 1194
    ca ca.crt
    cert $cert
    key $key
    EOF
    
    systemctl restart openvpn
    
    Otázkou je, zda to je opravdu dobrý nápad a nešlo by to nějak lépe a jednodušeji.
    Hello world ! Segmentation fault (core dumped)
    21.10.2018 12:32
    Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
    Hlasuji pro "mc, najdi konfigurák, zmáčkni F4".

    Pak uprav ručně konfigurák a zmáčkni F2.
    21.10.2018 14:42 jany2 | skóre: 30 | blog: jany_blog
    Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
    Teraz to robim cez nano :-D Neni v tom problem, je to robota vsude vseho na 1-2 minutky, ale chcel som si to este ulahcit (a potrebujem to spravit raz za 2-3 mesiace). Urcite by to bolo pohodlnejsie spustenim skriptu, ale ak to nebude cez skript, tak svet sa nezruti :) + chcel som zistit (naucit sa) ako editovat nejaky config cez skript s root pravami.
    2Josef Kufner zaujmalo by ma ako to riesit generovanim sablon (zatial som sa s tym nestretol).
    2Jendа sleep tam nemusi byt .... vyskusam to
    thx
    upozornujem, ze v linuxe som vecny zaciatocnik ...
    21.10.2018 15:25 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
    Však tohle je šablona. Místo proměnných můžeš použít parametry při volání skriptu.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    21.10.2018 15:27 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
    Vytkl bych jen nepoužití uvozovek kolem názvů proměnných, jinak OK.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    21.10.2018 12:06 NN
    Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
    sed '23s/.*/#&/' /etc/openvpn/server.conf && service openvpn restart &
    
    Jendа avatar 21.10.2018 14:19 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
    Je jasne, ze zmeny v tomto confe a restart sluzby moze robit len root
    sudo
    ale zatial neviem ako pridat do urciteho riadku "#" resp. ako editovat konkretny riadok
    sed -ire "s/^(řádek)$/#\1/"
    + nejaky sleep
    Proč?
    21.10.2018 15:55 debian+
    Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
    Vyssie uz pisali, ako zmenit konkretny riadok. Tak len napisem ako zistit riadok (upoznojuem, mozno existuje viac riesieni, toto je jedno z nich).
    $ line=`cat -n /etc/openvpn/server.conf|grep "search text"|awk '{print $1}'`
    
    $ echo "je na riadku: $riadok"
    21.10.2018 16:20 debian+
    Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
    Tu mas v PHP. Funkcne. Maj vsetky subory v jednom priecinku.

    Nastavenie:
    $ chmod 700 comment_and_restart uncomment_and_restart
    Spustenie:
    $ ./comment_and_restart
    $ ./uncomment_and_restart
    Subor service.conf
    id=persone
    name=Unknow
    last_name=LAST
    
    Subor config.php
    <?php
    
    $path_conf="service.conf";
    $search="name=Unknow";
    
    ?>
    
    Subor comment_and_restart
    #!/usr/bin/php
    <?php
    
    include "config.php";
    
    function comment_in_file($path, $search)
    {
    	/*
    	 * Read file
    	 */
    	/* read file as "C array" */
    	$file=@file($path);
    	if($file === false)
    	{
    		fputs(STDERR, "Error open/read file '$path'\n");
    		exit(1);
    	}
    	// print_r($file);                      // vypis na overenie
    	
    	/*
    	 * Comming in memory
    	 */
    	$count=count($file);
    	for($a=0;$a<$count; $a++)
    		if(strpos($file[$a], $search) !== false)
    		{
    			if($file[$a][0] != "#")
    				$file[$a]= "#".$file[$a];
    			else
    				fputs(STDERR, "Warning: Uncomment line $a in '$path'\n");
    			// break; # uncomment this, if only first searched line
    		}
    	
    	/*
    	 * Write from memory to file
    	 */
    	if(file_put_contents($path, $file) === false)
    	{
    		fputs(STDERR, "Error open/write file '$path'\n");
    		exit(1);
    	}
    }
    
    comment_in_file($path_conf, $search);
    sleep(2);
    system("systemctl restart openvpn");
    ?>
    
    
    Subor uncomment_and_restart
    #!/usr/bin/php
    <?php
    
    include "config.php";
    
    function uncomment_in_file($path, $search)
    {
    	/*
    	 * Read file
    	 */
    	/* nacita pole ako "C array" */
    	$file=@file($path);
    	if($file === false)
    	{
    		fputs(STDERR, "Error open/read file '$path'\n");
    		exit(1);
    	}
    	// print_r($file);                      // vypis na overenie
    	
    	/*
    	 * Uncomment in memory
    	 */
    	$count=count($file);
    	for($a=0;$a<$count; $a++)
    		if(strpos($file[$a], $search) !== false)
    		{			
    			if($file[$a][0] == "#")
    				$file[$a]= substr($file[$a], 1);
    			else
    				fputs(STDERR, "Warning: Uncomment line $a in '$path'\n");
    			// break; # uncomment this, if only first searched line
    		}
    	
    	/*
    	 * Write from memory to file
    	 */
    	if(file_put_contents($path, $file) === false)
    	{
    		fputs(STDERR, "Error open/write file '$path'\n");
    		exit(1);
    	}
    }
    
    uncomment_in_file($path_conf, $search)
    sleep(2);
    system("systemctl restart openvpn");
    ?>
    
    21.10.2018 22:32 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
    Mám rád PHP. Takovou hnusárnu si fakt nezaslouží.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    22.10.2018 12:06 debian+
    Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
    Konstruktivnu kritiku daj. Ci len skoro prazdne reci.
    22.10.2018 13:09 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
    Nejlepší řešení poskytl Josef Kufner. Mohl bych to přepsat do PHP, ale to by dávalo smysl jen v případě, že bych to chtěl přepínat přes webové rozhraní.

    Ještě ke kritice tvého řešení:
    • PHP není C, proto je generování chybových hlášek zbytečné a ty zavináče před file() také
    • Používáš cyklus for tam, kde patří foreach - soubor není pole řádek, ale seznam řádek
    • Máš to rozstrkané ve třech souborech, přitom by stačil jeden parametrizovaný
    • Zapomínáš psát složené závorky. Je to sice jen kosmetická vada, ale časem se ti to vymstí
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    22.10.2018 21:33 debian+
    Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
    PHP není C, proto je generování chybových hlášek zbytečné a ty zavináče před file() také
    Nie je. Ale je s nim dost podobny. ... Da sa aj povedal "super C" (pokial viete C). ... A ano. Pouzil som tento pristup, lebo je najlahsi na pochopenie. Pre nezainteresovaneho.
    oužíváš cyklus for tam, kde patří foreach - soubor není pole řádek, ale seznam řádek
    Aj tak interne sa musi pouzit nejake for. Jednoduchost. A ulahcuje mi to zmenu riadku. Lebo napr. toto nefunguje:
    <?php
    
    $array=array("1","2","3","4");
    foreach($array as $line)
    	if($line == "3")
    	{
    		echo "set 'X' for value '$line'\n";
    		$line="X";
    	}
    print_r($array);
    
    ?>
    
    vystup:
    set 'X' for value '3'
    Array
    (
        [0] => 1
        [1] => 2
        [2] => 3
        [3] => 4
    )
    
    Vdaka za konstr. kritiku.
    Máš to rozstrkané ve třech souborech, přitom by stačil jeden parametrizovaný
    Pre jednoduchost. ... Logicku funkcnost si moze sam dat do 1 suboru, alebo napisat. Lahsie napisat "./bla" ako "./rob bla".
    Zapomínáš psát složené závorky. Je to sice jen kosmetická vada, ale časem se ti to vymstí
    Ak je 1 podmienka, nepisem ju - moj programatorsky styl.
    22.10.2018 22:54 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
    Je třeba umět foreach používat. foreach ($array as &$line) se už bude chovat správně. Jenže když to chceš mít rychlejší, tak je obvykle výhodnější generovat nový seznam.
    <?php
     
    $array = array("1", "2", "3", "4");
    $output = array();
    foreach ($array as $line) {
        if ($line == "3") {
            $line="X";
        }
        $output[] = $line;
    }
    print_r($output);
    
    Jenže PHP umí jít ještě dále:
    <?php
    
    $array = array("1", "2", "3", "4");
    $komentuj = function ($line) {
        return ($line == "3") ? "X" : $line;
    };
    print_r(array_map($komentuj, $array));
    
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    21.10.2018 16:35
    Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
    Neco takoveho:
    sed -i -e '
    /#NastaveniKtereChciMenit/ s/No/Yes/
    /#NastaveniKtereChciMenit/ s/^#//
    /^NastaveniKtereChciTakyMenit/ s/^/#/
    /^DalsiNastaveniKtereChciMenit/ s/bila/cerna/
    ' /etc/MojeSluzba/konfigurak
    
    
    21.10.2018 16:59 pavele
    Rozbalit Rozbalit vše Re: prepis configu a restrat sluzby pod rootom
    sudo mc -e /etc/openvpn/server.conf && service openvpn restart &

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.