Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.
Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.
XLibre Xserver byl 21. prosince vydán ve verzi 25.1.0, 'winter solstice release'. Od založení tohoto forku X.Org serveru se jedná o vůbec první novou minor verzi (inkrementovalo se to druhé číslo v číselném kódu verze).
Wayback byl vydán ve verzi 0.3. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.
Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.
Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.
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/