Giter Site home page Giter Site logo

singularis-mzf / linux-spellbook Goto Github PK

View Code? Open in Web Editor NEW
5.0 5.0 4.0 4.68 MB

Multimediální sbírka velmi krátkých řešených příkladů z prostředí linuxu, připomínající konverzační slovník cizího jazyka.

Home Page: https://singularis-mzf.github.io/

License: Creative Commons Attribution Share Alike 4.0 International

Makefile 2.32% CSS 10.10% TeX 6.53% Awk 55.81% Shell 6.67% HTML 4.32% Perl 3.94% Roff 3.04% Dockerfile 0.89% Raku 6.39%
bash book czech kniha linux terminal ubuntu

linux-spellbook's People

Contributors

huangyan1987 avatar singularis-mzf avatar wozniakjan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

linux-spellbook's Issues

Spouštěč lkk by měl použít Getopt::Long

Současná verze spouštěče lkk (skripty/lkk/lkk-spouštěč.pl) analyzuje parametry příkazového řádku sama; pravděpodobně by bylo lepší použít k tomu standardní modul Perlu „Getopt::Long“, už jen proto, aby se usnadnila údržba kódu pro ostatní programátory.

Zaklínadlo pro výpis seznamu účtů ve skupině není použitelné v interaktivním režimu

Přesný postup, jak navodit chybu na „čistém systému“:
date

getent group sudo >/dev/null && (gid=$(getent group sudo cut -d : -f 3); sed -E "/^([^:]*:){3}$gid:/!d;s/:.*//" /etc/passwd; getent group $gid | cut -d : -f 4 | sed -E '/^$/d;s/,/\n/g') | LC_ALL=C.UTF-8 sort -u

Co by měl příkaz podle Linuxu: Knihy kouzel správně udělat:
Vypsat čas a seznam uživatelských účtů ve skupině „sudo“.

Co ve vašem případě udělá:
Asi to, co má, ale s chybovými hlášeními:
getent: invalid option -- 'd'

Try `getent --help' or `getent --usage' for more information.

sed: -e expression #1, char 17: extra characters after command

Přesná verze LKK, název kapitoly a umístění zaklínadla:
Vanilková příchuť 2.4, kapitola „Správa uživatelských účtů“, podsekce 5/2 „Přidat/vypsat/odebrat účty“; 3. zaklínadlo.

Jak by to mělo být správně (nepovinné; jen pokud to víte):
Vykřičník uvnitř dvojitých uvozovek musí být v zaklínadle odzvláštněný.

Filtrace textových záznamů nefunkční pro některé podřetězce

Přesný postup, jak navodit chybu na „čistém systému“:
printf %s\\n -a -b -c >test.txt
fgrep '-c' test.txt

Co by měl příkaz podle Linuxu: Knihy kouzel správně udělat:
Vyfiltrovat ze souboru test.txt záznamy obsahující podřetězec „-c“.

Co ve vašem případě udělá:
Očekává data na standardním vstupu.

Přesná verze LKK, název kapitoly a umístění zaklínadla:
Vanilková příchuť 2.8, kapitola „Zpracování textových souborů“, podsekce 4/3 „Filtrace záznamů podle obsahu“; 2. zaklínadlo, 1. řádka.

Jak by to mělo být správně (nepovinné; jen pokud to víte):
Před podřetězec je v takových případěch nutno přidat „--“.

Implementovat podporu podkapitol

Kapitola Diskové oddíly přestává být přehledná, bylo by potřeba ji rozdělit na několik samostatných kapitol se společným základem. Podobné rozdělení by prospělo i několika dalším kapitolám. Proto je potřeba implementovat podporu podkapitol kompatibilní se systémem štítků.

PDF záložky

Úkol: Do PDF variant přidat PDF záložky kapitol pro snadné procházení v prohlížečích PDF na počítači.

Lepší označení podkapitol

  • Podkapitoly by měly používat hierarchické číslování (tzn. např. podkapitoly kapitoly „3“ by měly být označeny „3.1“, „3.2“ atd.).
  • Na přehledové stránce formátu HTML by mohlo být přehlednější mít podkapitoly pod sebou.

Nejde přeložit verze 2.1

Operační systém: Ubuntu 20.04.1 LTS

Přesný postup, jak navodit chybu na „čistém systému“:
make -j4 html log deb

Co by měl příkaz podle Linuxu: Knihy kouzel správně udělat:
Přeložit formáty HTML, LOG a DEB.

Co ve vašem případě udělá:
gawk: skripty/plnění-šablon/hlavní.awk:244: (FILENAME=formáty/html/šablona.htm FNR=384) fatal: not enough arguments to satisfy format string
`<a href="https://github.com/singularis-mzf/linux-spellbook/blob/stabilni/dokumentace/odm%C4%9Bna-za-sestaven%C3%AD.md">Odměna za sestavení (prémiové kapitoly)</a>
' ^ ran out for this one

Přesná verze LKK, název kapitoly a umístění zaklínadla:
Vanilková příchuť 2.1 (větev „stabilni“)

Jak by to mělo být správně (nepovinné; jen pokud to víte):

Chybí možnost odinstalovat balíček

Přesný popis chyby:
V kapitole Správa balíčků chybí zaklínadlo na odinstalování balíčku typu „deb“.

Přesná verze LKK, název kapitoly a umístění zaklínadla:
Vanilková příchuť 2.0, kapitola „Správa balíčků“, podsekce 3/1 „Instalace a odinstalace“.

Jak by to mělo být správně (nepovinné; jen pokud to víte):
V sekci „Zaklínadla: DPKG a APT“ a podsekci „Instalace a odinstalace“ by mělo být zaklínadlo umožňující odinstalovat balíček.

Rejstřík podle klasických příkazů

Součástí vydání by měl být rejstřík úloh podle příkazů, které se k jejich plnění používaly v klasickém linuxu. Tento rejstřík by měl navádět čtenářstvo na místa, kde se tytéž úlohy řeší v Linuxu: Knize kouzel.

Chybné názvy oblíbených zaklínadel

Některé chyby ve vanilkové příchuti 2.9:

  • Zaklínadla na formátování oddílu na NTFS a Btrfs (v kapitole Diskové oddíly) jsou v oddílu předvolených oblíbených zaklínadel prohozena.
  • Zaklínadlo na formátování na BTRFS se objevuje jako oblíbené i v podkapitole „Diskové oddíly / Btrfs“.

Nefunguje spojování videí

Přesný postup, jak navodit chybu na „čistém systému“:

  • Nainstalovat ffmpeg.
  • Do prázdného aktuálního adresáře umístit soubory „a.mp4“ a „b.mp4“.

ffmpeg -f concat -safe 0 -i <(printf "file '%s'\\n" *.mp4) -c copy test.mp4

Co by měl příkaz podle Linuxu: Knihy kouzel správně udělat:
Spojit videa v souborech a.mp4 a b.mp4 do souboru test.mp4.

Co ve vašem případě udělá:
[concat @ 0x556d9074e680] Impossible to open '/dev/fd/a.mp4'
/dev/fd/63: No such file or directory

Přesná verze LKK, název kapitoly a umístění zaklínadla:
Vanilková příchuť 2.5, kapitola „Zpracování videa a zvuku“, podsekce 4/4 „Celé příkazy“; 4. zaklínadlo.

Jak by to mělo být správně (nepovinné; jen pokud to víte):
Je nutné souborům zadat absolutní cestu (a ta nesmí obsahovat apostrofy). Absolutní cestu je možno zjistit příkazem realpath v cyklu for.

Zavést diakritiku do názvů souborů a adresářů

Vzhledem k tomu, že jde o záměrně český projekt a zúčastněné nástroje podporují UTF-8, připadá mi jako dobrý nápad zavést diakritiku tam, kde to použité nástroje umožňují. Zatím plánuji zavedení ve třech fázích:

  1. V dočasných souborech mimo repozitář (např. „soubory_překladu“).
  2. Ve skriptech a dokumentaci.
  3. V id kapitol a dodatků.

Třetí fáze bude nejnáročnější, protože vnitřně bude stejně mechanismus překladu z velké části pracovat s id bez diakritiky.

Chyba v konverzi časové známky

Přesný postup, jak navodit chybu na „čistém systému“:
date -d %1597647680 "+%F %T %z"

Co by měl příkaz podle Linuxu: Knihy kouzel správně udělat:
Vypsat lokální čas odpovídající časové známce 1597647680.

Co ve vašem případě udělá:
date: chybné datum: „%1597647680“

Přesná verze LKK, název kapitoly a umístění zaklínadla:
Vanilková příchuť 1.11, kapitola „Datum, čas a kalendář“, podsekce 3/8 „Aritmetika s časem“; 2. zaklínadlo, 1. řádka.

Jak by to mělo být správně (nepovinné; jen pokud to víte):
Místo % má být @, pak to funguje.

Při překladu na Ubuntu 20.04 se nevygenerují PDF záložky

Operační systém: Ubuntu 20.04.1 LTS

Přesný postup, jak navodit chybu na „čistém systému“:
make -j4 pdf-a4

Co by měl příkaz podle Linuxu: Knihy kouzel správně udělat:
Přeložit formát PDF A4 včetně PDF záložek.

Co ve vašem případě udělá:
Přeloží formát PDF A4, ale PDF záložky chybí.

Přesná verze LKK, název kapitoly a umístění zaklínadla:
Verze 2.2 (tag v2.2).

Jak by to mělo být správně (nepovinné; jen pokud to víte):

Implementovat podporu pro překlad v Dockeru

Pro uživatele jiných distribucí, kteří pro překlad nechtějí používat plnou virtualizaci, je vhodná podpora překladu v kontejneru. Docker je k tomu vhodný nástroj.

Chybí kapitola Perl: moduly a objekty

Kapitola „Perl: moduly a objekty“ chybí v seznamu prémiových kapitol ve vydaných verzích. (Verze: vanilková příchuť 2.3 Klára Krejčí.)

Možnost kontroly nainstalovaných nástrojů

Přidat příkaz „make kontrola“, který zkontroluje přítomnost a verze nástrojů vyžadovaných k překladu. Příkaz by neměl vyžadovat balíčkovací systém kompatibilní s dpkg.

Prémiové kapitoly se vypisují, i když nejsou zapnuté

Po překladu z čerstvě staženého repozitáře se v obsahu objeví prémiové kapitoly. Postup:

git clone --branch stabilní https://github.com/singularis-mzf/linux-spellbook.git
cd linux-spellbook
make -j4 html

Ve výchozím nastavení nemají být přítomny.

Podpora pro „oblíbená zaklínadla“

Mechanismus překladu by měl uživateli umožnit vybrat si z kapitol jeho „oblíbená zaklínadla“, která by se pak umístila na prominentním místě, aby je uživatel nemusel pokaždé hledat. Rovněž oblíbené zaklínadlo na svém řádném místě může být zvýrazněno.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.