Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.
Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových
… více »Richard Stallman přednáší ve středu 7. května od 16:30 na Technické univerzitě v Liberci o vlivu technologií na svobodu. Přednáška je určená jak odborné tak laické veřejnosti.
Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.04.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
TmuxAI (GitHub) je AI asistent pro práci v terminálu. Vyžaduje účet na OpenRouter.
Byla vydána nová verze R14.1.4 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek i s náhledy v poznámkách k vydání. Podrobný přehled v Changelogu.
Bylo vydáno OpenBSD 7.7. Opět bez písničky.
V Tiraně proběhl letošní Linux App Summit (LAS) (Mastodon). Zatím nesestříhané videozáznamy přednášek jsou k dispozici na YouTube.
V poslední mě zajímá LDAP v pozici zdroje dat pro DHCP, DNS, atd... Do LDAP databáze je potřeba často hromadně sypat data získaná skriptem, ve formátu LDIF. Příklad záznamu v LDIFu:
dn: cn=lenovo,cn=192.168.0.0,cn=DHCP Config,dc=firma,dc=cz cn: lenovo dhcpHWAddress: ethernet XX:YY:XX:YY:XX:YY dhcpStatements: fixed-address 192.168.0.10 objectClass: top objectClass: dhcpHost
Kostru záznamu jednoduše popíšeme šablonou (soubor dhcphost.tpl):
@include base.conf @include net.conf dn: cn=%HOSTNAME%,cn=%SUBNETNUMBER%,cn=DHCP Config,%BASEDN% cn: %HOSTNAME% dhcpHWAddress: ethernet %MACADDRESS% dhcpStatements: fixed-address %IPHOSTNUMBER% objectClass: top objectClass: dhcpHost
... kde proměnné jsou rozlišeny procenty. Některé parametry jako maska podsítě a basedn jsou neměnné, uložíme je do souboru base.conf:
%BASEDN% dc=firma,dc=cz
...a net.conf:
%SUBNETNUMBER% 192.168.0.0 %SUBNETMASK% 255.255.255.0 %DHCPSERVER% server1
Následující skript (soubor makeldif.sh) generuje LDIFy:
#!/bin/bash #check if file exists check_file() { if [ ! -e $1 ]; then die "File doesn't exist: $1" fi } #include definitions from file include() { include_file=$1 check_file $include_file #read line by line grep -v '#' $include_file | while read line; do create_regexp "$(echo $line | awk '{print $1}')" \ "$(echo $line | awk '{print $2}')" done } #create regular expression create_regexp() { echo -n "s/$1/$2/g;" >> $regexp_file } #Show usage informations and exit die() { echo $1 echo "Usage: $0 [parameters] template_file" > /dev/stderr echo "Parameters: %VARIABLE1% value1 %VARIABLE2% value2 ..." > /dev/stderr exit 1 } regexp_file=regexp.tmp rm -f $regexp_file #exclude last param param_count=$(expr $# - 1) #check if params count is correct if [ $(expr $param_count % 2) -ne 0 ]; then die "Wrong parameters: $@" fi #read command-line params and create regexp from them for param in $(seq 1 2 $param_count); do create_regexp $1 $2 shift; shift done template_file=$1 check_file $template_file #include all files in this directive: @include filename include_files="$(grep '@include' $template_file | awk '{print $2}')" for include_file in $include_files ; do include $include_file done #read template_file and process it using sed and regexp from $regexp_file grep -v '@include' $template_file | sed "$(cat $regexp_file)" exit $?
Voláním příkazu:
./makeldif.sh %HOSTNAME% lenovo %MACADDRESS% XX:YY:XX:YY:XX:YY %IPHOSTNUMBER% 192.160.0.10 dhcphost.tpl
... vygenerujeme nahoře uvedený LDIF. Toto je interface pro generování LDIFů. Teď můžeme jednoduše generovat podobné LDIFy např. takto:
#!/bin/bash ip=$(/sbin/ifconfig | head -2 | grep inet | awk '{print $2}' | cut -d : -f 2) mac=$(/sbin/ifconfig | head -1 | awk '{print $5}') ./makeldif.sh %HOSTNAME% $HOSTNAME %MACADDRESS% $mac %IPHOSTNUMBER% $ip dhcphost.tpl
Skriptů bylo pro dnešek dost a vy si je můžete všechny stáhnout zde a vyzkoušet. Až mě zas něco napadne, tak to plácnu do blogu...
Tiskni
Sdílej:
python-ldap
? Commandline nástroje z ldap-utils
jsou opravdu dosti nepříjemné. ldapsearch
umí ten base64 výstup pro non-ascii nějakým switchem vypnout.