Neziskové průmyslové konsorcium Khronos Group vydalo verzi 3.1 specifikace OpenCL (Open Computing Language). OpenCL je průmyslový standard pro paralelní programování heterogenních počítačových systémů.
Homebridge pro integraci chytrých domácích zařízení byl vydán ve verzi 2.0.0. Nově vedle protokolu HomeKit Accessory Protocol (HAP) podporuje standard chytré domácnosti Matter.
Omarchy je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové verzi 3.7.0 - The Gaming Edition. Z novinek lze vypíchnout příkaz omarchy a celou řadu herních možností.
CyberChef byl vydán v nové major verzi 11. Přehled novinek v Changelogu. CyberChef je webová aplikace pro analýzu dat a jejich kódování a dekódování, šifrování a dešifrování, kompresi a dekompresi, atd. Často je využívaná při kybernetických cvičeních a CTF (Capture the Flag).
Byla vydána nová verze 2.4.67 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 11 zranitelností.
Brush (Bo(u)rn(e) RUsty SHell) je v Rustu napsaný shell kompatibilní s Bash (Bourne Again SHell). Vydána byla verze 0.4.0.
Google zveřejnil seznam 1 141 projektů (vývojářů) od 184 organizací přijatých do letošního, již dvaadvacátého, Google Summer of Code. Přihlášeno bylo celkově 23 371 projektů od 15 245 vývojářů ze 131 zemí.
Na čem pracovali vývojáři GNOME a KDE Plasma minulý týden? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
Open source počítačová hra na hrdiny NetHack (Wikipedie, GitHub) byla vydána v nové verzi 5.0.0. První verze této hry byla vydána v roce 1987.
Evropská komise naléhavě vyzvala členské státy EU, aby kvůli ochraně nezletilých na internetu urychlily zavádění unijní aplikace pro ověřování věku a zajistily její dostupnost do konce roku. Členské státy mohou zavést aplikaci EU pro ověřování věku jako samostatnou aplikaci nebo ji integrovat do takzvané evropské peněženky digitální identity.
V minulém blogu jsem slíbil návod na zprovoznění automountra ve Slackware. Tak s chutí do díla.
Automounter funguje tak, že při vstupu do adresáře kam se připojuje nějaké médium se pokusí toto médium připojit. KRYTON: Je to zkomolené, matoucí a ještě nudnější než palubní časopis belgických aerolinií. (RedDwarf - Pekelně ostrý výlet). Uznávám definice je to kulhající na obě nohy, ale pro představu snad stačí.
Uveďme si příklad: do mechaniky jsme vložili CD a chceme se podívat na fotky z dovolené. V našem oblíbeném prohlížeči obrázků zadáme cestu kam připojujeme mechaniku, v našem případě /media/dvd/. V tomto okamžiku ovšem žádný takový adresář neexistuje(!). Automounter zjistí, že chceme přistoupit do /media/dvd/, zjistí, zda je vloženo médium, pokud ano tak vytvoří adresář a připojí nám CD. Až si fotečky pěkně pozorně prohlédneme a ukončíme všechny programy které mají otevřené něco z připojeného CD, tak automounter po zadané časové prodlevě CD odpojí a my jej můžeme z mechaniky vyjmout.
Balíček s autofs. Nachází se na prvním CD v adresáři slackware/n/.
Další co potřebujeme je podpora v kernelu. Tu zajistíme natažením modulu autofs4. Provedením modprobe autofs4. Tento modul budeme chtít natahovat po každé, takže do /etc/rc.d/rc.modules přidáme řádek /sbin/modprobe autofs4.
Uvedu příklad (popíšu jakou situaci jsem řešil u Queega - snad už víte kdo je Queeg :) ).
DVD mechanika a vypalovačka. Obojí jsem chtěl mountovat automountrem do adresáře /media/dvd/ respektive /media/cdwriter/
Pro konfiguraci se používá jeden hlavní soubor /etc/auto.master a vícero takzvaných souborů s mapou (jak jinak chcete přeložit map file).
Hlavní soubor (auto.master) slouží k popisu které soubory s mapami se mají načíst a ke kterému adresáři v kořeni patří. Takže podle našeho příkladu bude /etc/auto.master vypadat takto:
/media /etc/auto.media --timeout=5První položka je adresář pro který je mapa, ta je udána jako druhá položka a jako třetí se udávají další volby. V našem případě je adresář /media, mapa je v souboru /etc/auto.media a volba --timeout=5 určuje, že se má médium odpojit po 5 vteřinách nečinnosti.
Soubor s mapou vypadá následovně:
cdwriter -fstype=iso9660,owner,user,ro :/dev/hdd dvd -fstype=iso9660,owner,user,ro :/dev/hdc
První položka je adresář kam se bude mountovat (adresář se bude vnořen do adresáře pro který je určena mapa, tedy /media/cdwriter, respektive /media/dvd), další položka udává volby pro připojení a poslední je zařízení.
jako základ jsem použil originální který je dodán s atuofs, ovšem řekněme si to na rovinu, nefungoval. Takže jsem ho tak nějak prošel a dal do funkčního stavu. Výsledek vypadá takto:
#!/bin/bash
#
# /etc/rc.d/rc.autofs
#
# rc file for automount using a Sun-style "master map".
# We first look for a local /etc/auto.master, then a YP
# map with that name
#
# Location of the automount daemon and the init directory
#
DAEMON=/usr/sbin/automount
initdir=/etc/rc.d
test -e $DAEMON || exit 0
thisscript="$0"
if [ ! -f "$thisscript" ]; then
echo "$0: Cannot find myself" 1>&2
exit 1
fi
#
# We can add local options here
# e.g. localoptions='rsize=8192,wsize=8192'
#
localoptions=''
#
# This function will build a list of automount commands to execute in
# order to activate all the mount points. It is used to figure out
# the difference of automount points in case of a reload
#
function getmounts()
{
#
# Check for local maps to be loaded
#
if [ -f /etc/auto.master ]
then
cat /etc/auto.master | sed -e '/^#/d' -e '/^$/d'| (
while read dir map options
do
if [ ! -z "$dir" -a ! -z "$map" \
-a x`echo "$map" | cut -c1` != 'x-' ]
then
map=`echo "/etc/$map" | sed -e 's:^/etc//:/:'`
options=`echo "$options" | sed -e 's:^/etc//:/:'`
if [ -x $map ]; then
echo "$DAEMON $options $localoptions $dir program $map"
elif [ -f $map ]; then
echo "$DAEMON $options $localoptions $dir file $map"
else
echo "$DAEMON $options $localoptions $dir `basename $map`"
fi
fi
done
)
fi
#
# Check for YellowPage maps to be loaded
#
if [ -e /usr/bin/ypcat ] && [ `ypcat -k auto.master 2>/dev/null | wc -l` -gt 0 ]
then
ypcat -k auto.master | (
while read dir map options
do
if [ ! -z "$dir" -a ! -z "$map" \
-a x`echo "$map" | cut -c1` != 'x-' ]
then
map=`echo "$map" | sed -e 's/^auto_/auto./'`
if echo $options | grep -- '-t' >/dev/null 2>&1 ; then
mountoptions="--timeout $(echo $options | \
sed 's/^.*-t\(imeout\)*[ \t]*\([0-9][0-9]*\).*$/\2/g')"
fi
options=`echo "$options" | sed -e '
s/--*t\(imeout\)*[ \t]*[0-9][0-9]*//g
s/\(^\|[ \t]\)-/\1/g'`
echo "$DAEMON $dir yp $map $options $localoptions"
fi
done
)
fi
}
#
# Status lister.
#
function status()
{
echo "Configured Mount Points:"
echo "------------------------"
getmounts
echo ""
echo "Active Mount Points:"
echo "--------------------"
ps ax|grep "[0-9]:[0-9][0-9] automount " | (
while read pid tt stat time command; do echo $command; done
)
}
#
# Status lister.
#
function status()
{
echo "Configured Mount Points:"
echo "------------------------"
getmounts
echo ""
echo "Active Mount Points:"
echo "--------------------"
ps ax|grep "[0-9]:[0-9][0-9] automount " | (
while read pid tt stat time command; do echo $command; done
)
}
#
# Start function.
#
function start()
{
# Check if the automounter is already running?
if [ ! -f /var/lock/subsys/autofs ]; then
echo 'Starting automounter...'
getmounts | sh
touch /var/lock/subsys/autofs
fi
}
#
# Stop function.
#
function stop()
{
kill -TERM $(/sbin/pidof /usr/sbin/automount)
rm -f /var/lock/subsys/autofs
}
#
# Restart function.
#
function restart()
{
if [ ! -f /var/lock/subsys/autofs ]; then
echo "Automounter not running"
exit 1
fi
echo "Checking for changes to /etc/auto.master ...."
TMP1=`mktemp /tmp/autofs.XXXXXX` || { echo "could not make temp file" >& 2;
exit 1; }
TMP2=`mktemp /tmp/autofs.XXXXXX` || { echo "could not make temp file" >& 2;
exit 1; }
getmounts >$TMP1
ps ax|grep "[0-9]:[0-9][0-9] automount " | (
while read pid tt stat time command; do
echo "$command" >>$TMP2
if ! grep -q "^$command" $TMP2; then
kill -USR2 $pid
echo "Stop $command"
fi
done
)
cat $TMP1 | ( while read x; do
if ! grep -q "^$x" $TMP2; then
$x
echo "Start $x"
fi
done )
rm -f $TMP1 $TMP2
}
#
# See how we were called.
#
case "$1" in
start)
start
;;
stop)
stop
;;
reload|restart)
restart
;;
status)
status
;;
*)
echo "Usage: $initdir/rc.autofs {start|stop|restart|reload|status}"
exit 1
esac
Skript uložíme jako /etc/rc.d/rc.autofs a spustíme příkazem /etc/rc.d/rc.autofs start, je vhodné tento příkaz umístit do /etc.rc.d/rc.local, aby se spouštěl po zapnutí PC. Chrousty chroust cvaky cvak, mělo by to vypsat "Starting automounter..." :) a vše by mělo fungovat.
Automounter jsem zatím nasadil jen experimentálně :), mě se moc nelíbí, raději si mountuji sám, ale to neznamená, že by to bylo nepoužitelné. Funguje to spolehlivě a za dobu používání (pravda, jen pár hodin) jsem nenarazil na žádný problém.
Tiskni
Sdílej:
cd /net/pocitac/sdileny_adresar/