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 16:22 | Nová verze

Po pěti měsících od vydání Waylandu a Westonu 1.12.0 oznámil Bryce Harrington (Samsung) vydání Waylandu 1.13.0 a Westonu 2.0.0.

Ladislav Hagara | Komentářů: 0
včera 13:37 | Bezpečnostní upozornění

Společnost Cloudflare (Wikipedie) na svém blogu potvrdila bezpečnostní problém s její službou. V požadovaných odpovědích od reverzní proxy byla odesílána také data z neinicializované paměti. Útočník tak mohl získat cookies, autentizační tokeny, data posílaná přes HTTP POST a další citlivé informace. Jednalo se o chybu v parsování HTML. Zneužitelná byla od 22. září 2016 do 18. února 2017. Seznam webů, kterých se bezpečnostní problém potenciálně týká na GitHubu.

Ladislav Hagara | Komentářů: 1
včera 08:22 | Nová verze

Byla vydána první beta verze Ubuntu 17.04 s kódovým názvem Zesty Zapus. Ke stažení jsou obrazy Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu GNOME, Ubuntu Kylin, Ubuntu Studio a Xubuntu. Dle plánu by Ubuntu 17.04 mělo vyjít 13. dubna 2017.

Ladislav Hagara | Komentářů: 17
23.2. 17:53 | Bezpečnostní upozornění

Google na svém blogu věnovaném počítačové bezpečnost informuje o nalezení "reálného" způsobu generování kolizí hašovací funkce SHA-1. Podrobnosti a zdrojové kódy budou zveřejněny do 90 dnů. Již dnes lze ale na stránce SHAttered nalézt 2 pdf soubory, jejichž obsah se liší a SHA-1 otisk je stejný (infografika).

Ladislav Hagara | Komentářů: 29
23.2. 17:51 | Nová verze

Vyšla nová verzia open source software na správu a automatizáciu cloudových datacentier Danube Cloud 2.4. Danube Cloud je riešenie postavené na SmartOS, ZFS, KVM a zónach. Obsahuje vlastnosti ako integrovaný monitoring, DNS manažment, zálohy, a samozrejme rozsiahlu dokumentáciu.

dano | Komentářů: 7
23.2. 17:46 | Pozvánky

V Plzni se 3. až 5. března 2017 uskuteční AIMTEChackathon. Je to akce pro vývojáře, grafiky, webdesignéry i veřejnost. Akci provází zajímavé přednášky IT odborníků. Více o programu a možnosti přihlášení na stránkách akce.

cuba | Komentářů: 0
23.2. 01:00 | Nová verze

Známý šifrovaný komunikátor Signal od verze 3.30.0 již nevyžaduje Google Play Services. Autoři tak po letech vyslyšeli volání komunity, která dala vzniknout Google-free forku LibreSignal (dnes již neudržovaný). Oficiální binárky jsou stále distribuované pouze přes Google Play, ale lze použít neoficiální F-Droid repozitář fdroid.eutopia.cz s nezávislými buildy Signalu nebo oficiální binárku stáhnout z Google Play i bez Google účtu

… více »
xm | Komentářů: 8
22.2. 23:14 | Nová verze

Po třech týdnech od vydání první RC verze byla vydána první stabilní verze 17.01.0 linuxové distribuce pro routery a vestavěné systémy LEDE (Linux Embedded Development Environment), forku linuxové distribuce OpenWrt. Přehled novinek v poznámkách k vydání. Dotazy v diskusním fóru.

Ladislav Hagara | Komentářů: 8
22.2. 17:28 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě CVE-2017-6074 v Linuxu zneužitelné k lokální eskalaci práv. Jde o chybu v podpoře DCCP (Datagram Congestion Control Protocol). Do linuxového jádra se dostala v říjnu 2005. V upstreamu byla opravena 17. února (commit). Bezpečnostní chyba byla nalezena pomocí nástroje syzkaller [Hacker News].

Ladislav Hagara | Komentářů: 16
22.2. 15:00 | Zajímavý software

Společnost Valve vydala novou beta verzi SteamVR. Z novinek lze zdůraznit oficiální podporu Linuxu. Další informace o podpoře této platformy pro vývoj virtuální reality v Linuxu v diskusním fóru. Hlášení chyb na GitHubu.

Ladislav Hagara | Komentářů: 0
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (13%)
 (2%)
 (72%)
 (3%)
 (10%)
Celkem 706 hlasů
 Komentářů: 66, poslední 22.2. 18:57
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: Jak zjistit volné místo na disku? (C/C++)

    kralуk avatar 30.1.2010 20:25 kralуk | skóre: 29 | blog: Untitled
    Jak zjistit volné místo na disku? (C/C++)
    Přečteno: 954×
    Ahoj,

    potřeboval bych, aby můj program uměl zjistit volný místo na disku. Z dokumentace jsem si vytáhl statfs(2) a následně napsal takovýhle kód:
      struct statfs stats;
    
      cout << statfs(path.c_str(), &stats) << endl;   /* path = "/" */
      cout << stats.f_bfree << " [" << stats.f_bsize << "]" << endl;
      cout << stats.f_bfree * stats.f_bsize << endl;
    
    Statfs proběhlo v pořádku (vrací nulu), ale výsledný volný místo se dost liší od čísla co ukazuje df, asi vo 1.5 Giga. To se mi vůbec nelíbí. Podezírám stafs(), že mi vrací nějaký bullshity. Zkoušel jsem i statvfs(), ale výsledek byl stejný.
    Nahlídl jsem do zdrojáků df, no ale kdo se má v tom jejich #define pekle vyznat. Používaj tam taky statvfs(), ale dělaj okolo toho nějaký úpravy, který se mi nepodařilo dešifrovat...

    Pro úplnost ještě přihodim příslišný výpisy z shellu:
    root|vojta-dell /tmp #> /cesta/k/programu
    0
    1542023 [4096]
    6316126208
    root|vojta-dell /tmp #> df -h
    Souborový systém  Velikost Užito Volno Uži% Připojeno do
    /dev/sda1              30G   24G  4,4G  85% /
    (...)
    
    Díky za každou radu.
    Shell v kostce: echo -e "\e[1;2r\e[?2l" | Java v kostce | Haskell v kostce

    Řešení dotazu:


    Odpovědi

    AraxoN avatar 30.1.2010 20:38 AraxoN | skóre: 45 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: Jak zjistit volné místo na disku? (C/C++)
    A nebude to tým, že df ukazuje voľné miesto využiteľné bežným používateľom? (5% veľkosti fs je rezervované pre roota)
    A fine is a tax for doing wrong. A tax is a fine for doing well.
    kralуk avatar 30.1.2010 20:47 kralуk | skóre: 29 | blog: Untitled
    Rozbalit Rozbalit vše Re: Jak zjistit volné místo na disku? (C/C++)
    Asi ne. Ta hodnota, co ukazuje df jsou asi 3/4 tý, co dostanu ze statfs()...
    Shell v kostce: echo -e "\e[1;2r\e[?2l" | Java v kostce | Haskell v kostce
    kralуk avatar 30.1.2010 20:50 kralуk | skóre: 29 | blog: Untitled
    Rozbalit Rozbalit vše Re: Jak zjistit volné místo na disku? (C/C++)
    Abych byl přesný, statfs() ukazuje 6'166'932 volných 1K bloků, zatímco df jen 4'594'128 1K bloků.
    Shell v kostce: echo -e "\e[1;2r\e[?2l" | Java v kostce | Haskell v kostce
    Jendа avatar 30.1.2010 20:56 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Jak zjistit volné místo na disku? (C/C++)
    Takže rozdíl je +/- 1,5 G (jsem líný to přepočítávat přes 1024, ale o tom radši pomlčíme ;-)). A kolik je 5% z 30 G?
    Vox agroferti, vox Dei.
    kralуk avatar 30.1.2010 21:00 kralуk | skóre: 29 | blog: Untitled
    Rozbalit Rozbalit vše Re: Jak zjistit volné místo na disku? (C/C++)
    Hergot, sem to ale hlupák :-D
    na co to svést? Jó, už vím, na notebooku se špatně pracuje s kalulačkou, nemám numpad :-D

    Každopádně díky.
    Shell v kostce: echo -e "\e[1;2r\e[?2l" | Java v kostce | Haskell v kostce
    30.1.2010 21:42 nikdo
    Rozbalit Rozbalit vše kalkulačka? :-D
    No nevím 5% z 30 se snad počítá z hlavy ne? 30/20 = 3/2 = 1,5 :D
    kralуk avatar 30.1.2010 22:21 kralуk | skóre: 29 | blog: Untitled
    Rozbalit Rozbalit vše Re: kalkulačka? :-D
    No já hlavně počítal chvílema špatnej filesystém (co byl na /dev/loop), se mi to celý v mylšenkách pomíchalo, zmatek, chaos,... :-D
    Shell v kostce: echo -e "\e[1;2r\e[?2l" | Java v kostce | Haskell v kostce
    30.1.2010 21:10 mich | skóre: 16
    Rozbalit Rozbalit vše Re: Jak zjistit volné místo na disku? (C/C++)
    Zajimavé. Mě ukazuje f_bavail spravne číslo.:-(
    je to teď v módě, na žive o tom furt píšou
    Jendа avatar 30.1.2010 21:12 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Jak zjistit volné místo na disku? (C/C++)
    Nemáš FS bez vyhrazených bloků? (asi všechny kromě ext)
    Vox agroferti, vox Dei.
    30.1.2010 21:24 mich | skóre: 16
    Rozbalit Rozbalit vše Re: Jak zjistit volné místo na disku? (C/C++)
    ve struct stafts jsou 2 promenne ukazujici volne misto:
    long    f_bfree;    /* free blocks in fs */
    long    f_bavail;   /* free blocks avail to non-superuser */
    
    neni jejich rozdil je podle me tech 5% o kterych se tu mluvi
    je to teď v módě, na žive o tom furt píšou
    30.1.2010 21:31 mich | skóre: 16
    Rozbalit Rozbalit vše Re: Jak zjistit volné místo na disku? (C/C++)
    Radši to dopíšu aby to bylo jasné - tazatel používá f_bfree, ale má používat f_bavail
    je to teď v módě, na žive o tom furt píšou
    kralуk avatar 30.1.2010 22:25 kralуk | skóre: 29 | blog: Untitled
    Rozbalit Rozbalit vše Re: Jak zjistit volné místo na disku? (C/C++)
    A proč? Mně nevadí, jestli se filesystém zabere po vrch. Příslušnej kód stejně nepůjde jinde, než pod právama roota. Šlo mi jen o to, aby to číslo nebyla nějaká úplná hovadina, a to se díky tobě prokázalo, že není...
    Shell v kostce: echo -e "\e[1;2r\e[?2l" | Java v kostce | Haskell v kostce
    AraxoN avatar 30.1.2010 23:16 AraxoN | skóre: 45 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: Jak zjistit volné místo na disku? (C/C++)
    Vlastný C-éčkový program bežiaci pod právami roota? Podľa mňa zlý nápad. Ak nie si C/C++ guru, tak je veľmi jednoduché spraviť chybu, nedočítať manuál ku funkcii, neošetriť nejaký vstup, či zabudnúť na akúsi zriedkavú okrajovú podmienku.
    A fine is a tax for doing wrong. A tax is a fine for doing well.
    kralуk avatar 31.1.2010 00:45 kralуk | skóre: 29 | blog: Untitled
    Rozbalit Rozbalit vše Re: Jak zjistit volné místo na disku? (C/C++)
    Je možné nastavit loop device a mountovat ho bez práv roota? Pokud ano, nebyly by práva roota nezbytný...
    Shell v kostce: echo -e "\e[1;2r\e[?2l" | Java v kostce | Haskell v kostce
    Jendа avatar 31.1.2010 00:49 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Jak zjistit volné místo na disku? (C/C++)
    man sudo

    (a jinak pokud se dá do fstabu s parametry loop a user, tak přimountovat půjde bez roota)
    Vox agroferti, vox Dei.
    kralуk avatar 31.1.2010 01:01 kralуk | skóre: 29 | blog: Untitled
    Rozbalit Rozbalit vše Re: Jak zjistit volné místo na disku? (C/C++)
    Ále sudo znám, co já potřebuju je nastavovat loop a mountovat přímo z programu - voláním API. Mountuje se voláním mount() a loop se nasstavuje před ioctl(). Tam mi je sudo nahouby.
    Leda bych volal externí nástroje mount a losetup, ale to mi nepřijde jako právě čistý řešení, radši bych se tomu vyhnul...
    Shell v kostce: echo -e "\e[1;2r\e[?2l" | Java v kostce | Haskell v kostce
    31.1.2010 13:32 vencas | skóre: 32
    Rozbalit Rozbalit vše Re: Jak zjistit volné místo na disku? (C/C++)
    To se řeší tak, že velmi krátký hlavní program (který např. provede mount) se pustí rootem, ale sám pak pustí jiný proces s omezeným uživatelem. Např. zde.
    31.1.2010 13:34 vencas | skóre: 32
    Rozbalit Rozbalit vše Re: Jak zjistit volné místo na disku? (C/C++)
    (což funguje jen s mountem hned na začátku, jinak ne -- pardon)
    kralуk avatar 31.1.2010 14:57 kralуk | skóre: 29 | blog: Untitled
    Rozbalit Rozbalit vše Re: Jak zjistit volné místo na disku? (C/C++)
    Ok, díky, mrknu na to.

    V zásadě by mi mohlo stačit, když na začátku zrušim veškerý capabilities a pak ve chvíli, kdy potřebuju mount() nebo ioctl() na chvíli příslušnou capabilitie(s) povolim, ne?
    Shell v kostce: echo -e "\e[1;2r\e[?2l" | Java v kostce | Haskell v kostce
    31.1.2010 15:05 benn | skóre: 18
    Rozbalit Rozbalit vše Re: Jak zjistit volné místo na disku? (C/C++)
    Kdysi jsem taky potřeboval, zjišťovat využité místo a vyšel jsem z df od BusyBoxu. Kde počítají:

    Využité místo v procentech:
    blocks_used = s.f_blocks - s.f_bfree;
    blocks_percent_used = 0;
    if (blocks_used + s.f_bavail) {
           blocks_percent_used = (blocks_used * 100ULL + (blocks_used + s.f_bavail)/2) / (blocks_used + s.f_bavail);
    }
    
    
    A zbytek informaci:
    static unsigned long kscale(unsigned long b, unsigned long bs)
    {
           return (b * (unsigned long long) bs + 1024/2) / 1024;
    }
    
    printf(" %9lu %9lu %9lu %3u%% %s\n",
    	kscale(s.f_blocks, s.f_bsize),    Celkova kapacita (kB)
    	kscale(s.f_blocks - s.f_bfree, s.f_bsize),   Vyuzito (kB)
    	kscale(s.f_bavail, s.f_bsize),     Dostupne misto (kB)
    	blocks_percent_used, mount_point); Procent zaplneni a pripojny bod
    

    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.