ObecnéNávody

Různé

Typické "tohle nechci zapomenout" místo :o)

Obsah stránky (hide)

  1.   1.  grub-install - won't fit
  2.   2.  Wireguard
  3.   3.  Postfix debug IP
  4.   4.  Výpis kompletní konfigurace Apache:
  5.   5.  Odhlášení z reklam na webu a podobně
  6.   6.  Kopírování tabulky rozdělení disků
  7.   7.  Dual boot Linux a Windows 10 - EFI chytáky
    1.   7.1  Na jednom disku oba - pozor na styl bootování
    2.   7.2  Dva disky.
  8.   8.  bash: cyklus se soubory s mezerou v názvu
  9.   9.  Amavis, Postfix - queue write error
  10. 10.  Icinga2 - Anag: Use API
  11. 11.  Upgrade Debian Buster -> Bullseye
    1. 11.1  Postup při upgrade
  12. 12.  Upgrade Debian Stretch -> Buster
    1. 12.1  Dovecot
  13. 13.  grep pro filtrování komentářových a prázných řádků
  14. 14.  ansible, scp SSH Error
  15. 15.  grep na filtrování kousků z logu
  16. 16.  Firefox neukazuje v adrese celou url
  17. 17.  eGroupware - kalendář, pomalé vkládání (calendar slow insert/update)
  18. 18.  Samba: session setup failed: NT_STATUS_INTERNAL_DB_CORRUPTION
  19. 19.  clamav-milter - MailScanner[13153]: p record handling: Loop condition found, aborting file.
  20. 20.  grub: symbol grub_env_find not found
  21. 21.  RAID1 stručně
  22. 22.  Upgrade Wheezy -> Jessie opravdu stručně
  23. 23.  Upgrade Squeeze -> Wheezy opravdu stručně
  24. 24.  Automatické nastavení proxy v Gnome
  25. 25.  Samba + LDAP
  26. 26.  LVM - změna velikosti logické jednotky
  27. 27.  Postup při výměněně disků za větší u raid+lvm.
  28. 28.  ImageMagick - zvětšení plátna do průhlednosti
  29. 29.  Obnova GRUB ze záchranného disku
  30. 30.  Výpadek raid
  31. 31.  Logování na vzdálený stroj
  32. 32.  Jak z chrootu ftp serveru zpřístupnit vně ležící adresář.
  33. 33.  Černý okraj ve FullHD u ATI
  34. 34.  VirtualBox nejede po aktualizaci jádra
  35. 35.  Windows update a proxy
  36. 36.  Hromadné přejmenování souborů z linuxové konzoly
  37. 37.  Power saving mode / out of range
  38. 38.  Windows 8 s chováním Windows 7
  39. 39.  Windows a fdisk -> diskpart, správa disků
  40. 40.  Postfix - práce s frontou
  41. 41.  HTML entity na UTF-8 html-xml-utils
  42. 42.  Najít porušené symbolické linky
  43. 43.  basename, dirname
  44. 44.  LXDE
    1. 44.1  přepínání klávesnice
    2. 44.2  přidání klávesové zkratky pro maximalizaci okna Alt-F10

1.  grub-install - won't fit

  # grub-install /dev/sdX

  Installing for i386-pc platform.
  grub-install: warning: your core.img is unusually large.  It won't fit in the embedding area.
  grub-install: error: embedding is not possible, but this is required for RAID and LVM install.

Reason is using MBR without any else space for Grub. One of:

  • efi disk partition
  • bios boot partition

Solution brief:

  • We need some small space (1MB) on disk
  • create disk partition type bios boot
  • grub-install again

HOWTO:

The needed tool is gdisk

  gdisk /dev/sdX   # read MBR formated disk and changes it to GPT in memory for now.
  'n' command creates new partition, use type 'ef02' BIOS boot partition
  'w' command writes patrition table in GPT format to disk

  partprobe /dev/sdX   # re-reads partition table by system without need for reboot

  grub-install /dev/sdX   # now it it possible

Sources:

2.  Wireguard

 Wireguard

3.  Postfix debug IP

  1. postconf -e debug_peer_list=IP

V logu vypisuje podrobné informace o komunikaci s jednou konkrétní IP.

4.  Výpis kompletní konfigurace Apache:

  # a2enmod info
  # apachectl -DDUMP_CONFIG | grep -vE "^[ ]*#[ ]*[0-9]+:$" | less

5.  Odhlášení z reklam na webu a podobně

Rozšíření pro prohlížeče (Chrome, Firefox,...), který vypne sledování Google Analytics:

https://tools.google.com/dlpage/gaoptout

Odhlášení z reklamních webů:

https://optout.networkadvertising.org/

6.  Kopírování tabulky rozdělení disků

Mám dva disky s RAID oddíly. U jednoho jsem rozbil tabulku oddídů. První příkaz udělá zálohu rozdělení disku, druhý příkaz obnoví na druhý disk s tím, že vynechá identifikátory platné pro konkrétní disk: disk label, uuid diskových oddílů. V příkladu je sda správně, sdb je ten rozbitý:

    sfdisk --dump /dev/sda > sda.dump
    grep -v ^label-id sda.dump | sed -e 's/, *uuid=[0-9A-F-]*//' | sfdisk /dev/sdb

7.  Dual boot Linux a Windows 10 - EFI chytáky

Týká se Linux Mint 20. 2x jsem na tom strávil den i více:

7.1  Na jednom disku oba - pozor na styl bootování

Systém je GPT/EFI - bootovat z instalační flash taky v EFI. Když nainstaluješ v legacy módu tak poslední krok - instalace zavaděče zkolabuje.

7.2  Dva disky.

Oba musí mít stejný styl bootování. Tedy oba legacy, nebo oba EFI. Pokud jsou Legacy Windows, pak lze použít nástroj mbr2gpt.exe. Je lepší ho spouštět v jakémsi lepším adminstrátorském protředí. V normální konzoli mi to skončilo chybou.

Jde se tam přes Nastavení -> Update & Security -> Reboot. Pak to nabídne pár možností, mezi nimi Troubleshoot -> Advanced -> Command prompt. Tady už to prošlo.

Návod: windowscentral

8.  bash: cyklus se soubory s mezerou v názvu

Obvyklé

  for NN in $(ls); do ... 

nefunguje - soubor s mezerou v názvu je brán jako dvě položky (mezera odděluje položky v seznamu for).

Řešení:

 ls | while read NN; do ...

zdroj: http://www.macgeekery.com/tips/cli/handling_filenames_with_spaces_in_bash

Nebo nastavit proměnnout IFS:

 IFS=$(echo -en "\n\b")

Nejlépe takto:

https://www.cyberciti.biz/faq/unix-howto-read-line-by-line-from-file/

  while read VARIABLE; do
    # do something with VARIABLE
    echo "$VARIABLE"
  done < /path/to/txt/file

9.  Amavis, Postfix - queue write error

Postfix sends admin e-mails with this error message. The problem was unsufficient time for amavis checks. Solution: set longer timeout in Postfix.

10.  Icinga2 - Anag: Use API

Icinga2 from version 2.10 drop classicui. If we want to monitor Icinga2 from Android app Anag, we have to use Icinga2 API.

First enable api feature from console:

    icinga2 api setup

It does for us everything needed automatically.

Then look at new config file /etc/icinga2/conf.d/api-users.conf where you can modify username and password for api user.

Then you can allow the api to listen on IPv6 too. Add a parameter

    bind_host = "::"

into file /etc/icinga2/features-available/api.conf into ApiListener object section. It enables both IP versions 4 and 6 (not 6 only as would seem).

Check if everything works by curl command first:

    curl -k -s -u api_user:passw https://example.com/v1/objects/services

If it works, set up Anag: Create new instance:

Save it, test it, use it.

Comment: The reason why you are reading this is that Icinga2 doesn't use IPv6 by deffault (v2.10 October 2018) and Anag author gets not enough money for his work to write good documentatnion. Support him, please :)

11.  Upgrade Debian Buster -> Bullseye

https://www.root.cz/clanky/debian-11-bullseye-nove-hasovani-hesel-a-zmeny-mezi-utilitami/ https://www.debian.org/releases/bullseye/amd64/release-notes/ch-upgrading.en.html https://www.debian.org/releases/bullseye/amd64/release-notes/ch-information.en.html

  • upgrade openssh-server before upgrading the full system - 5.1.23. No new SSH connections possible during upgrade
  • incron - mizí
  • systemd-timesyncd - nově v samostatném balíčku - doinstalovat
  • nové hashe hesel sha512 -> yescrypt. stará hesla budou fungovat nadále
  • journalctl standardně zapnut - nyní se zapnul když existoval /var/log/journal/
  • přestává fungovat rolování v konzoli. Vyřešit screen nebo tmux.
  • tisk a skenování bez ovladačů (balíčky ipp-usb, sane-escl, sane-airscan)
  • MariaDB se nespouští jako mysqld, ale mariadbd
  • 5.1.22. fail2ban can't send e-mail using mail from bsd-mailx
  • OpenJDK 17 (včetně 11)
  • usrmerge - /bin -> /usr/bin se zachováním symlinku z /bin. Obdobně sbin, lib,...
  • slapd backends - používat mdb, v deb 12 končí bdb, hdb,... - zkontrolovat

Známé chyby:

  • fail2ban - krachuje při použítí "mail" z bsd-mailx
  • grub-efi-amd64: upgrade works, boot fails (error: symbol `grub_is_lockdown` not found)
  • openssh-server: Unable to restart sshd restart after upgrade to version 8.1p1-2 (upgrade předem)

apt security bull vs buster:

  deb https://deb.debian.org/debian-security bullseye-security main contrib
  deb http://deb.debian.org/debian-security/ buster/updates main contrib

11.1  Postup při upgrade

Ansible - konfiguráky, které tam jsou porovnat s novými verzemi v Bullseye a přichystat nové verze.

Příprava stávajícího systému:

  • apt update, upgrade - aby byl Buster ve finální podobě, projet Ansiblem
  • apt show linux-image-amd64 # tenhle balíček tam musí být, aby se jádro dobře upgradovalo
  • dočasně odstranit balíčky, zdroje a preference pro balíčky třetích stran. Vypsat:
  • aptitude search '?narrow(?installed, ?not(?origin(Debian)))'
  • vyjmout obsolete balíčky. Vypsat:
    • aptitude search '~o' # aptitude purge '~o'
  • vymazat staré staré konfiguráky. Vypsat:
  • find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'
  • dpkg --audit # kontrola nedoinstalovaných balíčků a tak
  • aptitude search "~ahold" # balíčky se stavem "hold"

Jdeme na upgrade:

  • nastavit sources.list (je v Ansible), odstranit sources pro Buster
  • nainstalovat novější verzi openssh-server (až během full-upgrade by to znemožnilo nová ssh spojení).
  • script -t 2>~/upgrade-bullseyestep.time -a ~/upgrade-bullseyestep.script # zaznamenává průběh upgrade (4.4.1. Recording the session)
  • apt update
  • apt upgrade --without-new-pkgs # minimal upgrade
  • apt full-upgrade

Čištění po upgrade:

  • aptitude search/purge '~c' # odstranění pozůstalých konfiguráků
  • aptitude search/purge '~o' # obsolete
  • deborphan --guess-dummy # přechodové balíčky, po upgrade se můžou odinstalovat (ručně zkontrolvat!)

Uvedení do provozu:

  • Ansible na novou verzi (-DC)

12.  Upgrade Debian Stretch -> Buster

12.1  Dovecot

Mění umístění a názvy certifikátů:

 # mv private/dovecot.pem private/dovecot.key
 # mv dovecot.pem private/

13.  grep pro filtrování komentářových a prázných řádků

Pro výpis řádků z konfiguračního souboru plného komentářů používám toto:

    egrep -v "^[[:blank:]]*#|^$" soubor

Vypíše jen řádky, které nezačínají znakem # i kdyby před ním byly mezery. Druhý grep ještě vyhodí prázdné řádky. Tohle mi u dlouhých konfiguráků ušetřilo hodně minut mého drahoceného života :)

14.  ansible, scp SSH Error

Místo vykonání příkazu zahlásí:

    "msg": "ERROR! SSH Error: data could not be sent to the remote host.
                 Make sure this host can be reached over ssh"

Stroj při přihlášení vrací nějaký text (například u mě to bylo cat TODO) a to scp a potažmo ansible rozhodí.

Machine returns some text after connection (I had cat TODO) and scp/ansible is upset from this. :)

15.  grep na filtrování kousků z logu

Například jen to=adresa v mail logu:

    grep -o "to=[a-z0-9.-]*\@[a-z0-9.-]*"

16.  Firefox neukazuje v adrese celou url

about:config browser.urlbar.trimURLs -> false

17.  eGroupware - kalendář, pomalé vkládání (calendar slow insert/update)

Po upgradu z egroupware-1.8 na egroupware-epl-14 zpomalilo vkládání nových záznamů do kalendáře. Příčinou je změna nastavení odesílání pošty. Verze 1.8 měla společné nastavení pro celý egroupware, verze epl-14 má nastavení účtu pro každého uživatele zvlášť. Po přidání události se tak poštovnímu serveru nepředává jeden mail s více adresami, ale tolik mailů, kolik je účastníků.

Je potřeba nastavit odesílání pošty přes Submission, aby se tak obešly případné antivirové a antispamové testy, které celý proces nesmírně prodlužují.

English, briefly: Culprit is e-mailing. Set SMTP in account settings to Submission. This bypasses virus and spam test which may very slow down the process. Version 1.8 had common setting for whole system - it resulted in trasfering one e-mail from egw to MTA. Version epl-14 has one setting for every user - it results in as many tansfers as the number of participant is. If every transfer waits for mail server, it may result in 10 seconds per one mail.

18.  Samba: session setup failed: NT_STATUS_INTERNAL_DB_CORRUPTION

Nastalo po upgradu ze Squeeze na Wheezy na serveru s LDAP. V smb.conf nastavit

 ldapsam:trusted = no

nebo odstranit (no je default).

19.  clamav-milter - MailScanner[13153]: p record handling: Loop condition found, aborting file.

Chybová hláška se objeví v mail.logu a doručování mailů se zastaví. Problém způsobuje direktiva AddHeader v souboru clamav-milter.conf. Nepoužívejte nastavení "replace", místo něj dejte "no". Přijdete o jakousi X-header ve vašich e-mailech, ale získáte funkční mail server :o)

Error message appears in mail.log and mail delivering stops. Problem is caused by AddHeader directive in clamav-milter.conf file. Do not use "replace" setting, instead use "no". You'll lose some X-header in your e-mails, bug you get functioning mail server :o)

20.  grub: symbol grub_env_find not found

Entering rescue mode...

Tato hláška se objeví při startu počítače, místo toho, aby grub zobrazil menu. Řešení: Nabootovat z instalačního CD Debianu do rescue režimu, připojit /boot a spustit grub-install.

This message appears when computer starts instead grub to show its menu. Solve: Boot from Debian install CD into rescue mode, mount /boot and run grub-install.

21.  RAID1 stručně

http://www.root.cz/diskuse/3379/230109/

22.  Upgrade Wheezy -> Jessie opravdu stručně

Tudy prosím: Upgrade Wheezy na Jessie

23.  Upgrade Squeeze -> Wheezy opravdu stručně

Tentokrát jsem z toho udělal samostatnou stránku. Takže tudy prosím: Upgrade Squeeze na Wheezy

24.  Automatické nastavení proxy v Gnome

Zadání: Máme na serveru spoustu uživatelských účtů. Noví uživatelé potřebují na internet, ale nemají nastavenu proxy. Chci přidat nastavení proxy do skriptu, který přidávám nové uživatele do systému.

V Gnome se proxy nastavuje v menu Systém -> Volby -> Proxy sítě. Nastavení se uloží do dvou souborů:

 ~/.gconf/system/proxy/%gconf.xml
 ~/.gconf/system/http_proxy/%gconf.xml

Mělo by tedy stačit tyto dva soubory nakopírovat do příslušných adresářů všech uživatelů.

Změna: Objevil jsem program gcoftool, který tyto volby nastavuje:

 gconftool -s /system/proxy/mode auto --type string
 gconftool -s /system/proxy/autoconfig_url http://172.55.14.33/proxy.pac --type string
 spusit jako su -c "prikaz" uzivatel

A jak je vidět, obohatil jsem to o automatickou konfiguraci ze skriptu, který je uložen na serveru v souboru /var/www/proxy.pac. Nejstručnější obsah může být:

 function FindProxyForURL(url, host)
 {
         return "PROXY 192.168.9.251:3128; DIRECT";
 }

Obsah je snad srozumitelný.

25.  Samba + LDAP

http://www.abclinuxu.cz/blog/mizoun/2009/3/samba-plus-ldap
http://wiki.debian.org/LDAP/NSS

Debian Squeze nepoužívá slapd.conf, ale vše dává do adresáře slapd.d. Schémata jsou v adresáři schema. Po zkopírování samba.schema do adresáře je potřeba vytvořit LDIF soubor samba.ldif. Použil jsem tuto fintu:

Vytvořit /etc/ldap/slapd.conf s tímto obsahem:

 include         /etc/ldap/schema/core.schema
 include         /etc/ldap/schema/cosine.schema
 include         /etc/ldap/schema/nis.schema
 include         /etc/ldap/schema/inetorgperson.schema
 include         /etc/ldap/schema/samba.schema

Na pořadí záleží! Pak spustit:

 slapcat -f /etc/ldap/slapd.conf -F /tmp -n0 -s "cn=samba,cn=schema,cn=config"

V /tmp najdeme adresář cn=config/cn=schema a v něm soubory se schématy v ldif tvaru. Zkopírujeme ten samba.ldif do /etc/ldap/slapd.d/cn=config/cn=schema/ a nastavíme mu vlastníka/skupinu openldap.openldap. Mělo by to fungovat i bez restartu démona slapd, ale není to pravda, restartujte ho.

Bez "aktivace" samba.ldif dostaneme při spuštění smbldap-populate řadu těchto ošklivých hlášek:

 failed to add entry: objectClass: value #2 invalid per syntax at /usr/sbin/smbldap-populate line 498, <GEN1> line 234.

Pokud vás na tyto stránky navedla tato chybová hláška, pak vítejte v klubu! :-)


Po přidání uživatele pomocí smbldap-add se nejde přihlásit s hláškou NT_STATUS_PASSWORD_MUST_CHANGE. Při přihlášení v Linuxu je to podobné. Problém není se Samba hesly, ale s údajem shadowMax. Ten nastavit na 99999 a je po problému.

26.  LVM - změna velikosti logické jednotky

 lvextend -L +20G /dev/mapper/grp1-var
 resize2fs /dev/mapper/grp1-var

Zmenšit se dá opačným postupem, ale diskový oddíl nesmí být připojený (nejde dělat za pochodu). Před zmenšováním je nutno ještě spustit kontrolu diskového oddílu. Pak zjistíme, kolik místa je obsazeno (jede zmenšit na míň;) Pak zmenšíme souborový systém (resize2fs). Pak zmenšíme (ale necháme trochu víc) logický oddíl LVM. Poslední příkaz "dofoukne" souborový systém na plnou velikost logického LVM oddílu - zde 50GB:

 e2fsck -fy /home
 df
 resize2fs /dev/mapper/gv-home 48G
 lvreduce -L 50G /dev/mapper/gv-home
 resize2fs /dev/mapper/gv-home

27.  Postup při výměněně disků za větší u raid+lvm.

Návod je na samostatné stránce. Výměda disků za větší u raid + lvm

28.  ImageMagick - zvětšení plátna do průhlednosti

 convert src-pic.png -gravity southeast -extent 107x29 -fuzz 20% -transparent white dst-pic.png

Na pořadí parametrů záleží!

Nejdříve nastaví, kam posunout původní obrázek na budoucím větším plátně. Dáme rozměry plátna. Fuzz se týká následujícího údaje transparent, který říká kterou barvu zprůheldnit (bílá je automaticky vložena při zvětšování plátna). Fuzz je rozptyl barevnosti od té bílé.

Zjišťováno cca 5 hodin hrubého času.

29.  Obnova GRUB ze záchranného disku

Situace: Systém nebootuje, protože nenačte grub ze zaváděcího sektoru. Například po havárii disku v RAID, přičemž na funkčním disku není GRUB nainstalován.

Nabootovat z CD Debianu a přepnout se do konzoly.

 mkdir /mnt
 mkdir /mnt/{boot,dev,proc,sys}

 mount /dev/sda1 /mnt        # to je kořenový systém
 mount /dev/sda0 /mnt/boot   # je-li boot na samostatném oddílu

 mount --bind /dev   /mnt/dev
 mount --bind /proc  /mnt/proc
 mount --bind /sys   /mnt/sys

 chroot /mnt

 grub-mkconfig /boot/grub/grub.cfg
 grub-install /dev/sda

CTRL+D reboot

30.  Výpadek raid

Stalo se, že se jeden člen RAID pole odpojil více/méně náhodně. V logu si kernel na něco stěžoval, ale žádný test neukázal chybu na disku. Tak jsem to zas jen připojil:

 # mdadm /dev/md1 --remove /dev/sdb2
 # mdadm /dev/md1 --re-add /dev/sdb2

Pozor, nezapomenout, že disk je ve stavu "fail", takže je nutné ho nejdříve "vyjmout" a teprve pak znovu-přidat.

31.  Logování na vzdálený stroj

Povolíme logujícímu stroji naslouchat na UDP portu 514 v /etc/rsyslog.d/gr-remlog.conf:

 $ModLoad imudp
 $UDPServerRun 514
 local3.*                /var/log/muljog.log

A nezapomeneme log rotovat v /etc/logrotate.d/gr-remlog.conf:

 /var/log/mujlog.log {
         weekly
         rotate 5
         compress
         nomail
         notifempty
         missingok
 }

TODO: Někde ještě zajistit, aby nám do logu nemohl zapisovat jakýkoliv cizí vtipálek (iptables, konifgurace rsyslogd...?)

32.  Jak z chrootu ftp serveru zpřístupnit vně ležící adresář.

Máme-li uživatele na ftp serveru zamčené v jejich domovském adresáři, není možné jim zpřístupnit nic, co je mimo tento chroot pomocí symbolických linků - ftp server je ignoruje. Řešením je místo linku použít mount:

 mount --bind /home/ftp /home/username/ftp 

33.  Černý okraj ve FullHD u ATI

Problém: Obraz je trochu zmenšený s černým okrajem.

Připojení monitoru HDMI kabelem ke grafické kartě ATI a monitoru Samsung BX2231.

Obraz je zmenšený a na monitoru jsou černé okraje okolo obrazu.

V menu monitoru najít Setup & Reset, PC/AV Mode nastavit na PC.

V Catalist Control Center dát volbu Grafické, Zobrazení a pracovní plochy. Kliknou pravým na malý monitor dole - nastavení. Záložka "možnosti měřitka" a posuvníkem zvětšit na maximum (tj. 0%).

34.  VirtualBox nejede po aktualizaci jádra

Po aktualizaci jádra nejde spustit žádný virtuální stroj ve VirtualBoxu. To je tím, že po aktualizaci jádra se nevygenerovaly nové moduly jádra pro VirtualBox. Náprava je jednoduchá:

 dpkg-reconfigure virtualbox-ose-dkms

35.  Windows update a proxy

Windows update nefunguje přes proxy server, ačkoli je to nastaveno v "nastavení internetu". Je to proto, že to považuje za uživatelské nastavení, ale update je systémová záležitost.

Nejjedodušší řešení je příkaz:

 proxycfg -p název_serveru_proxy:číslo_portu

v DOS okně.

36.  Hromadné přejmenování souborů z linuxové konzoly

 rename 's/\.JPG$/\.jpg/' *.JPG

37.  Power saving mode / out of range

Při startu systému se monitor přepne do "power saving mode" a po tušeném startu do X se zobrazí hláška "Out of range".

Řešení: Nastavená hodnota vga= v konfiguraci zavaděče grub2 (lilo?). Odstranit z konfigurace, pak systém naběhne normálně.

38.  Windows 8 s chováním Windows 7

Po přihlášení zobrazit plochu a ne Metro (patchwork, dlaždice, nebo jak tomu říkáte):

Na ploše na panelu úloh dole kliknout pravým tlačítekm myši a v nastavení to najít (teď nesedím u stroje s Win8, ale to najdete :)

Nainstalovat http://www.classicshell.net/ - udělá tlačítko "Start", jak jsme "zvyklí" z Win7.

39.  Windows a fdisk -> diskpart, správa disků

Když dám ve Windows příkaz "fdisk", tak tam není. Ale je tam příkaz "diskpart", který umí to samé a ještě se mi zdá o něco přehlednější. O držku je to s ním ale taky :-)

Přehlednější s grafickým rozhraním je nástroj "správa disků", který se objeví při kliknutím ptm na ikonu "tento počítač" -> "spravovat".

Pro někoho jsou to samozřejmosti, pro ne-windows adminy špeky. :-

40.  Postfix - práce s frontou

 mailq

Vypíše všechny maily ve frontě včetně jejich ID.

 postcat -q ID | less

Vypíše konktrétní mail. Místo less často stačí head. Parametr -v vypíše další neuvěřitelné podrobnosti.

 postsuper -d ID

Vymaže mail z fronty.

 postsuper -d ID fronta

Vymaže ze zadané fronty (tj jméno adresáře ve /var/spool/postfix/

 postsuper -d ALL fronta

Vymaže VŠECHNY maily za zadané fronty - hodí se pro promazání frotny defer plné "backcatteru" tedy nedoručitelných odpovědí na nadoručitelné maily.

 postsuper -d ALL defer
 postsuper -d ALL deferred

41.  HTML entity na UTF-8 html-xml-utils

Dostal se mi do rukou web, kde byly texty zprzněny do html entit. Konvertor, který to umí řešit máme kupodivu v Debianu v balíčku html-xml-utils. Konkrétně je to příkaz hxunent. Balíček obsahuje spoustu dalších utilit.

42.  Najít porušené symbolické linky

 # find -L /kde -type l

43.  basename, dirname

Tyto dva příkazy si prostě potřebuji zapamatovat. Místo basename jsem používal tuto kolonu:

 echo $FILE | rev | cut -f1 -d"/" | rev

:-)

44.  LXDE

44.1  přepínání klávesnice

Do souboru:

 /etc/xdg/lxsession/LXDE/autostart

přidat řádek:

 setxkbmap -option grp:switch,grp:alt_shift_toggle cz,us

A na panelu si nastavit applet na přepínání klávesnice.

44.2  přidání klávesové zkratky pro maximalizaci okna Alt-F10

Do souboru ~/.config/openbox/lxde-rc.xml do sekce keyboard (cca ř. 180)

  <keybind key="A-F10">        # FullScreen
    <action name="ToggleMaximizeFull"><dialog>no</dialog><wrap>no</wrap></action>
  </keybind>