Jsou chvíle, kdy stáhneme soubor (řekněme obraz ISO) hostovaný někde na internetu, abychom zjistili, že nefunguje podle očekávání (nebo vůbec). Může za tím být několik důvodů, jedním z nich je poškození souboru (soubor se poškodil během procesu stahování nebo byl poškozen samotný původní hostovaný soubor). Jak ale potvrdit, že k takové korupci došlo?
No, existuje řešení tohoto problému. Ve většině případů se udělá to, že když je soubor původně vytvořen, vypočítá se kontrolní součet, který je pro daný soubor jedinečný. I když dojde k nepatrné změně v souboru, kontrolní součet se – po opětovném výpočtu – změní.
Většina prodejců tedy nabízí kontrolní součet (nebo kód podobný kontrolnímu součtu) odpovídající stahovaným souborům. Pokud se soubor nechová očekávaným způsobem, uživatel může přepočítat kontrolní součet souboru a porovnat jej s původním kontrolním součtem poskytnutým dodavatelem, aby zjistil, zda je soubor neporušený nebo poškozený.
V Linuxu existuje nástroj příkazového řádku, který můžete použít k vytvoření/ověření kontrolního součtu. Říká se tomu cksum . V tomto tutoriálu rychle probereme, jak tento nástroj funguje.
Příkaz Linux cksum
Tento příkaz vypočítá kontrolní součet Cyclic Redundancy Check (CRC) vstupního souboru a vytiskne toto číslo/kód ve svém výstupu na terminálu příkazového řádku. Kromě kontrolního součtu nástroj také zobrazuje počet bajtů, které soubor obsahuje.
Následuje obecná syntaxe příkazu cksum:
cksum [OPTION]... [FILE]...
Zde je to, co o něm říká oficiální dokumentace nástroje:
`cksum' is typically used to ensure that files transferred by unreliable means (e.g., netnews) have not been corrupted, by comparing the `cksum' output for the received files with the `cksum' output for the original files (typically given in the distribution).
Jak používat cksum?
Použití tohoto nástroje je velmi jednoduché:stačí zadat název souboru jako vstup a příkaz vypíše odpovídající kontrolní součet a také počet bajtů, které se v souboru nacházejí.
V našem případě jsme například provedli následující příkaz:
cksum file1
Zde je výše uvedený příkaz v akci:
Takže první číslo na výstupu je kontrolní součet, druhé číslo je počet bajtů a třetí entita - netřeba říkat - je název vstupního souboru.
Dále jsme provedli malou změnu v textu souboru a znovu provedli stejný příkaz:
Jak tedy můžete vidět, kontrolní součet se změnil, což naznačuje, že v souboru došlo k nějaké změně.
To je o tomto nástroji do značné míry vše. Nabízí několik možností, ale ty jsou docela obecné (--help a -verze ) – nejsou pouze samozřejmé, ale lze je také nalézt v téměř každém seznamu možností příkazu v Linuxu.
Závěr
Příkaz cksum je jednoduchý na pochopení a ještě jednodušší na použití. Můžete to snadno vyzkoušet na svém systému - pokud existuje soubor, pro který je znám odpovídající kontrolní součet CRC, lze tento nástroj použít k ověření, zda je soubor neporušený. Další informace o cksum naleznete na informační stránce nástroje (spusťte příkaz: info coreutils cksum ), namísto jeho manuálové stránky.