Dato che avevo uno slot libero sul mio Lenovo T430 mi sono comprato una estensione SATA per lo slot Ultrabay. Ho riutilizzato un disco SSD che ho preso da un'altra macchina ma al momento di montarlo sulla Debian Box non riuscivo a vederlo
Guardando con GParted il disco era formattato LVM. A questo punto ho scaricato il pacchetto LVM
apt-get install lvm2
con vgscan ho scansionato i dischi ed ho attivato il volume con
vgachange -ay centos
con lvs si possono vedere le partizioni sul disco. A questo punto si puo' montare il filesystem
mount /dev/centos/home /media/ -o ro,user
a questo punto per fare le cose per bene sarebbe da inserire in fstab. Per avere lo UUID si puo' digitare blkid
Visualizzazione post con etichetta CentOs. Mostra tutti i post
Visualizzazione post con etichetta CentOs. Mostra tutti i post
venerdì 24 gennaio 2020
giovedì 26 novembre 2015
Primi passi con Octave
Durante il dottorato ho avuto il modo di utilizzare (a livello decisamente base) Matlab apprezzandone la sintassi compatta. Purtroppo non ho piu' disponibilita' della licenza universitaria e quindi ho deciso di provare Octave, una versione open source simile a Matlab (anche se chi lavora in modo serio con Matlab mi dice che Octave e' ancora ad anni luce di distanze per alcune funzionalita')
L'aspetto interessante e' che con la versione 3.8 e' stata implementata una GUI simile a Matlab (prima si lavorava praticamente a linea di comando da shell)
Il programma e' stato compilato da sorgenti su Centos 6
Le dipendenze sono
yum install gcc gcc-c++ kernel-devel make mercurial libtool libtool-ltdl-devel libtool-ltdl autoconf cmake lapack-devel \ lapack pcre-devel readline-devel readline fftw-devel glpk-devel suitesparse suitesparse-devel gnuplot libcurl-devel zlib-devel \ flex texlive gperf fltk-devel qhull-devel hdf5-devel gl2ps-devel qrupdate-devel arpack-devel qscintilla-devel llvm-devel qt-devel \ bison ghostscript-devel librsvg2-tools icoutils readline pcre
Dopo la compilazione (un po' lunghina per la verita' ...ma la mia macchina e' un po' vecchiotta) si lancia il programma con
octave --force-gui
Questo e' uno script base su Octave che dovrebbe funzionare senza troppi problemi su Octave
----------------------------------------------------------------------------
clear all
close all
echo off
function rad = radians(degree)
rad = degree .* pi / 180;
end;
function [a,c,dlat,dlon]=haversine(lat1,lon1,lat2,lon2)
dlat = radians(lat2-lat1);
dlon = radians(lon2-lon1);
lat1 = radians(lat1);
lat2 = radians(lat2);
a = (sin(dlat./2)).^2 + cos(lat1) .* cos(lat2) .* (sin(dlon./2)).^2;
c = 2 .* asin(sqrt(a));
#arrayfun(@(x) printf("distance: %.8f m\n",6372800 * x), c);
end;
[volt,lat,lon,quota]=textread("tetto_6_11_ridotto.csv", "%u;%u;%u;%u");
mlat = mean(lat);
mlon = mean(lon);
minlat = min(lat);
maxlat = max(lat);
minlon = min(lon);
maxlon = max(lon);
stdlat = std(lat);
stdlon = std(lon);
[r,c] = size(lat);
fprintf("Media Lat: %d\n",mean(lat));
fprintf("Media Lon: %d\n",mean(lon));
fprintf("Std Lat: %d\n",std(lat));
fprintf("Std Lon: %d\n",std(lon));
fig = figure;
plot(lat,lon);
axis([minlat maxlat minlon maxlon]);
title('Originali')
print(fig,'gps','-dpng');
centro = centroid(lat,lon);
fprintf("Centroide %d %d\n",centro);
#plot(volt)
#print(fig,'volt','-dpng')
disp ("-----------------")
mlat = double(mlat)/10000000.0
mlon = double(mlon)/10000000.0
#fprintf("MLat: %f\n",mlat);
ripuliti = zeros(r,2);
indice = 1;
for n = 1:r
#fprintf("MLat: %f\n",mlat);
#fprintf("MLon: %f\n",mlon);
#fprintf("Lat: %f\n",double(lat(n))/10000000.0);
#fprintf("Lon: %f\n",double(lon(n))/10000000.0);
[a,c,dlat,dlon] = haversine(mlat,mlon,double(lat(n))/10000000.0,double(lon(n))/10000000.0);
#fprintf("Distanza %i :%f\n",n,double(c)*6378160.0);
if (c*6378160.0) < 5.0
ripuliti(indice,1) = double(lat(n))/10000000.0;
ripuliti(indice,2) = double(lon(n))/10000000.0;
indice = indice + 1;
end
end
fig2 = figure;
plot(ripuliti(1:indice-1,1),ripuliti(1:indice-1,2))
axis([double(minlat)/10000000.0 double(maxlat)/10000000.0 double(minlon)/10000000.0 double(maxlon)/10000000.0]);
title("Filtrati")
mflat = mean(ripuliti(1:indice-1,1));
mflon = mean(ripuliti(1:indice-1,2));
devflat = std(ripuliti(1:indice-1,1));
devflon = std(ripuliti(1:indice-1,2));
fprintf("Media Filtrata Lat: %.7f\n",mflat);
fprintf("Media Filtrata Lon: %.7f\n",mflon);
fprintf("DevSt Filtrata Lat: %.7f\n",devflat);
fprintf("DevSt Filtrata Lon: %.7f\n",devflon);
Octave ha un corrispettivo dei toolbox di Matlab, ovvero di pacchetti di estensioni dei comandi che possono essere scaricati, a seconda delle necessita' da Octave Forge
Se per esempio si vuole leggere/scrivere una porta seriale si deve scaricare il pacchetto instrument control in formato tar.gz e si installa con il comando
pkg install instrument-control-0.2.1.tar.gz
Di seguito un semplice esempio per leggere i dati seriali (da Arduino). Per far utilizzare la porta seriale ad un normale utente, quest'ultimo deve essere aggiunto al gruppo dialout (adduser luca dialout)
----------------------------------------------------------------------------
#! /usr/local/bin/octave -qf
pkg load instrument-control
s1 = serial("/dev/ttyACM0");
srl_flush(s1);
get(s1);
set(s1,"baudrate",9600);
set(s1,"bytesize",8);
set(s1,"parity",'N');
set(s1,"stopbits",1);
get(s1);
while true
valore = srl_read(s1,6);
char(valore)
pause(1);
endwhile
srl_close(s1)
Per quanto riguarda la connettivita' con i database la versione attuale si interfaccia solo con PostgreSql mediante il pacchetto database
pkg install database-2.3.2.tar.gz
(deve essere installato il pacchetto devel di postgresql, esempio ripreso da qui. Prima di arrivare ad una connessioni con Postgres c'e' un post da smanettare con la configurazione del server, in particolare con il file pg_hba.conf)
conn = pq_connect (setdbopts ("dbname", "test"));
L'aspetto interessante e' che con la versione 3.8 e' stata implementata una GUI simile a Matlab (prima si lavorava praticamente a linea di comando da shell)
Il programma e' stato compilato da sorgenti su Centos 6
Le dipendenze sono
yum install gcc gcc-c++ kernel-devel make mercurial libtool libtool-ltdl-devel libtool-ltdl autoconf cmake lapack-devel \ lapack pcre-devel readline-devel readline fftw-devel glpk-devel suitesparse suitesparse-devel gnuplot libcurl-devel zlib-devel \ flex texlive gperf fltk-devel qhull-devel hdf5-devel gl2ps-devel qrupdate-devel arpack-devel qscintilla-devel llvm-devel qt-devel \ bison ghostscript-devel librsvg2-tools icoutils readline pcre
Dopo la compilazione (un po' lunghina per la verita' ...ma la mia macchina e' un po' vecchiotta) si lancia il programma con
octave --force-gui
Questo e' uno script base su Octave che dovrebbe funzionare senza troppi problemi su Octave
----------------------------------------------------------------------------
clear all
close all
echo off
function rad = radians(degree)
rad = degree .* pi / 180;
end;
function [a,c,dlat,dlon]=haversine(lat1,lon1,lat2,lon2)
dlat = radians(lat2-lat1);
dlon = radians(lon2-lon1);
lat1 = radians(lat1);
lat2 = radians(lat2);
a = (sin(dlat./2)).^2 + cos(lat1) .* cos(lat2) .* (sin(dlon./2)).^2;
c = 2 .* asin(sqrt(a));
#arrayfun(@(x) printf("distance: %.8f m\n",6372800 * x), c);
end;
[volt,lat,lon,quota]=textread("tetto_6_11_ridotto.csv", "%u;%u;%u;%u");
mlat = mean(lat);
mlon = mean(lon);
minlat = min(lat);
maxlat = max(lat);
minlon = min(lon);
maxlon = max(lon);
stdlat = std(lat);
stdlon = std(lon);
[r,c] = size(lat);
fprintf("Media Lat: %d\n",mean(lat));
fprintf("Media Lon: %d\n",mean(lon));
fprintf("Std Lat: %d\n",std(lat));
fprintf("Std Lon: %d\n",std(lon));
fig = figure;
plot(lat,lon);
axis([minlat maxlat minlon maxlon]);
title('Originali')
print(fig,'gps','-dpng');
centro = centroid(lat,lon);
fprintf("Centroide %d %d\n",centro);
#plot(volt)
#print(fig,'volt','-dpng')
disp ("-----------------")
mlat = double(mlat)/10000000.0
mlon = double(mlon)/10000000.0
#fprintf("MLat: %f\n",mlat);
ripuliti = zeros(r,2);
indice = 1;
for n = 1:r
#fprintf("MLat: %f\n",mlat);
#fprintf("MLon: %f\n",mlon);
#fprintf("Lat: %f\n",double(lat(n))/10000000.0);
#fprintf("Lon: %f\n",double(lon(n))/10000000.0);
[a,c,dlat,dlon] = haversine(mlat,mlon,double(lat(n))/10000000.0,double(lon(n))/10000000.0);
#fprintf("Distanza %i :%f\n",n,double(c)*6378160.0);
if (c*6378160.0) < 5.0
ripuliti(indice,1) = double(lat(n))/10000000.0;
ripuliti(indice,2) = double(lon(n))/10000000.0;
indice = indice + 1;
end
end
fig2 = figure;
plot(ripuliti(1:indice-1,1),ripuliti(1:indice-1,2))
axis([double(minlat)/10000000.0 double(maxlat)/10000000.0 double(minlon)/10000000.0 double(maxlon)/10000000.0]);
title("Filtrati")
mflat = mean(ripuliti(1:indice-1,1));
mflon = mean(ripuliti(1:indice-1,2));
devflat = std(ripuliti(1:indice-1,1));
devflon = std(ripuliti(1:indice-1,2));
fprintf("Media Filtrata Lat: %.7f\n",mflat);
fprintf("Media Filtrata Lon: %.7f\n",mflon);
fprintf("DevSt Filtrata Lat: %.7f\n",devflat);
fprintf("DevSt Filtrata Lon: %.7f\n",devflon);
----------------------------------------------------------------------------
Octave ha un corrispettivo dei toolbox di Matlab, ovvero di pacchetti di estensioni dei comandi che possono essere scaricati, a seconda delle necessita' da Octave Forge
Se per esempio si vuole leggere/scrivere una porta seriale si deve scaricare il pacchetto instrument control in formato tar.gz e si installa con il comando
pkg install instrument-control-0.2.1.tar.gz
Di seguito un semplice esempio per leggere i dati seriali (da Arduino). Per far utilizzare la porta seriale ad un normale utente, quest'ultimo deve essere aggiunto al gruppo dialout (adduser luca dialout)
----------------------------------------------------------------------------
#! /usr/local/bin/octave -qf
pkg load instrument-control
s1 = serial("/dev/ttyACM0");
srl_flush(s1);
get(s1);
set(s1,"baudrate",9600);
set(s1,"bytesize",8);
set(s1,"parity",'N');
set(s1,"stopbits",1);
get(s1);
while true
valore = srl_read(s1,6);
char(valore)
pause(1);
endwhile
srl_close(s1)
----------------------------------------------------------------------------
Per quanto riguarda la connettivita' con i database la versione attuale si interfaccia solo con PostgreSql mediante il pacchetto database
pkg install database-2.3.2.tar.gz
(deve essere installato il pacchetto devel di postgresql, esempio ripreso da qui. Prima di arrivare ad una connessioni con Postgres c'e' un post da smanettare con la configurazione del server, in particolare con il file pg_hba.conf)
----------------------------------------------------------------------------
pkg load databaseconn = pq_connect (setdbopts ("dbname", "test"));
pq_exec_params (conn, "create table testtable (t text, i int2, b bytea);")
pq_exec_params (conn, "insert into testtable values ($1, $2, $3);", {"name1", 1, uint8([2, 4, 5])})
pq_exec_params (conn, "select * from testtable;")
pq_exec_params (conn, "drop table testtable;")
pq_close (conn);
I programmi in Octave possono essere lanciati anche all'esterno dell'ambiente di sviluppo rendendo eseguibile il file .m ed inserendo il testa al file .m la riga
#!/usr/local/bin/octave -qf
----------------------------------------------------------------------------
I programmi in Octave possono essere lanciati anche all'esterno dell'ambiente di sviluppo rendendo eseguibile il file .m ed inserendo il testa al file .m la riga
#!/usr/local/bin/octave -qf
Newrez su Centos 6
Un po' per pigrizia utilizzo lo script newrez (gia' descritto qui) per avere una risoluzione personalizzata su portatili un po' vecchiotti (1024x768 oramai e' un po' troppo riduttiva come risoluzione
Attualmente ho montato una Centos 6 su un ToughBook ed ho scoperto che lo script non funziona.
La cosa e' facilmente risolvibile eseguendo il comando xrandr
Newrez si aspetta di dover gestire LVDS1 e VGA1 mentre su Centos lo schermo del portatile viene chiamato LVDS-0
-------------------------------------------------------------------------
Screen 0: minimum 320 x 200, current 1600 x 1000, maximum 4096 x 4096
LVDS-0 connected 1600x1000+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 60.0*+
800x600 60.3 56.2
640x480 59.9
VGA-0 disconnected (normal left inverted right x axis y axis)
1600x1000 59.9
TV-0 unknown connection (normal left inverted right x axis y axis)
848x480 59.9 +
640x480 59.9 +
1024x768 59.9
800x600 59.9
-----------------------------------------------------------------------------
basta modificare lo script e tutto torna a funzionare (certo che 1600x1000 su uno schermo da 10 pollici e' un po' troppo per gli occhi)
------------------------------------------------------------
#!/bin/bash
# newrez
# Marc Brumlik, Tailored Software Inc, tsi-inc@comcast.net
# up to v 0.8
# use 'xrandr' to scale video output to the display
# v 0.9
# Wed Jan 2 05:23:54 CST 2013
# rewrite to handle mouse boundaries when scaled (mouse confined)
# by setting requested resolution to the unused VGA-0 device
# then scaling that for display on the LVDS-0 device
# v 1.1
# Fri Dec 20 08:28:08 CST 2013
# fixed issue where setting to "default" after some other resulution
# left mouse-area at prior resolution
umask 000
# resolution can optionally be specified on command line
newrez=$1
# we MUST be running xrandr 1.3 or higher
if xrandr -v | grep "RandR version 1.[012]"
then zenity --info --title="XRandR version is too old" --text="You must be running Xrandr
version 1.3 or newer!
Time to upgrade your system :-)"
exit 0
fi
# find the currently connected devices, make a list
devices=`xrandr -q | grep connected | grep -v disconnected | cut -d"(" -f1`
# there MUST be a "connected" LVDS-0 and a "disconnected" VGA-0
current=`xrandr -q`
if echo "$current" | grep "LVDS-0 connected" >/dev/null
then : OK
else zenity --info --title="PROBLEM" --text="Current display must be LVDS-0"; exit 0
fi
if echo "$current" | grep "VGA-0 disconnected" >/dev/null
then : OK
else zenity --info --title="IMPORTANT" --text="The VGA-0 display resolution may be affected by this change"
fi
default=`echo "$current" | grep -A 1 "^LVDS-0" | tail -1 | awk '{print $1}'`
H=`echo $default | cut -d'x' -f1`
V=`echo $default | cut -d'x' -f2`
HZ=`echo $default | awk '{print $2}' | tr -d '[*+]'`
# echo DEFAULT: $default $H $V
if [ -z "$newrez" ]
then while true
do
newrez=`zenity --entry --title="Set New Resolution" \
--text="Default Resolution: $default\n\nNew size (eg 1280x750 or 1450x1000)\n -or- \"default\""` || exit 0
case $newrez in
default|[0-9]*x[0-9]*) break ;;
esac
done
fi
case $newrez in
default) xrandr --output LVDS-0 --mode $default --scale 1x1
xrandr --addmode VGA-0 $default
xrandr --newmode $default $newmode
xrandr --output VGA-0 --mode $default --scale 1x1
exit 0 ;;
esac
newH=`echo $newrez | cut -d'x' -f1`
newV=`echo $newrez | cut -d'x' -f2`
modeline=`cvt $newH $newV $HZ | grep Modeline`
newmode=`echo "$modeline" | sed 's/^.*"//'`
cvtrez=`echo "$modeline" | sed -e 's/_.*//' -e 's/^.*"//'`
if [ "$newrez" != "$cvtrez" ]
then newrez=$cvtrez
newH=`echo $newrez | cut -d'x' -f1`
newV=`echo $newrez | cut -d'x' -f2`
fi
scaleH=`echo -e "scale=10\n$newH / $H\nquit" | bc`
scaleV=`echo -e "scale=10\n$newV / $V\nquit" | bc`
if echo "$current" | grep -A 100 "^VGA-0" | grep $newrez >/dev/null
then : already there
else xrandr --newmode "$newrez" $newmode
xrandr --addmode VGA-0 $newrez
fi
if xrandr --output VGA-0 --mode $newrez --output LVDS-0 --fb $newrez --scale $scaleH"x"$scaleV 2>&1 | tee -a /tmp/xrandr.err
then : success
else zenity --info --title="Xrandr produced this error" --text="`cat /tmp/xrandr.err`"
The problem could be that Your video driver
does not support xrandr version 1.3
rm -f /tmp/xrandr.err
fi
Attualmente ho montato una Centos 6 su un ToughBook ed ho scoperto che lo script non funziona.
La cosa e' facilmente risolvibile eseguendo il comando xrandr
Newrez si aspetta di dover gestire LVDS1 e VGA1 mentre su Centos lo schermo del portatile viene chiamato LVDS-0
-------------------------------------------------------------------------
Screen 0: minimum 320 x 200, current 1600 x 1000, maximum 4096 x 4096
LVDS-0 connected 1600x1000+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 60.0*+
800x600 60.3 56.2
640x480 59.9
VGA-0 disconnected (normal left inverted right x axis y axis)
1600x1000 59.9
TV-0 unknown connection (normal left inverted right x axis y axis)
848x480 59.9 +
640x480 59.9 +
1024x768 59.9
800x600 59.9
-----------------------------------------------------------------------------
basta modificare lo script e tutto torna a funzionare (certo che 1600x1000 su uno schermo da 10 pollici e' un po' troppo per gli occhi)
------------------------------------------------------------
#!/bin/bash
# newrez
# Marc Brumlik, Tailored Software Inc, tsi-inc@comcast.net
# up to v 0.8
# use 'xrandr' to scale video output to the display
# v 0.9
# Wed Jan 2 05:23:54 CST 2013
# rewrite to handle mouse boundaries when scaled (mouse confined)
# by setting requested resolution to the unused VGA-0 device
# then scaling that for display on the LVDS-0 device
# v 1.1
# Fri Dec 20 08:28:08 CST 2013
# fixed issue where setting to "default" after some other resulution
# left mouse-area at prior resolution
umask 000
# resolution can optionally be specified on command line
newrez=$1
# we MUST be running xrandr 1.3 or higher
if xrandr -v | grep "RandR version 1.[012]"
then zenity --info --title="XRandR version is too old" --text="You must be running Xrandr
version 1.3 or newer!
Time to upgrade your system :-)"
exit 0
fi
# find the currently connected devices, make a list
devices=`xrandr -q | grep connected | grep -v disconnected | cut -d"(" -f1`
# there MUST be a "connected" LVDS-0 and a "disconnected" VGA-0
current=`xrandr -q`
if echo "$current" | grep "LVDS-0 connected" >/dev/null
then : OK
else zenity --info --title="PROBLEM" --text="Current display must be LVDS-0"; exit 0
fi
if echo "$current" | grep "VGA-0 disconnected" >/dev/null
then : OK
else zenity --info --title="IMPORTANT" --text="The VGA-0 display resolution may be affected by this change"
fi
default=`echo "$current" | grep -A 1 "^LVDS-0" | tail -1 | awk '{print $1}'`
H=`echo $default | cut -d'x' -f1`
V=`echo $default | cut -d'x' -f2`
HZ=`echo $default | awk '{print $2}' | tr -d '[*+]'`
# echo DEFAULT: $default $H $V
if [ -z "$newrez" ]
then while true
do
newrez=`zenity --entry --title="Set New Resolution" \
--text="Default Resolution: $default\n\nNew size (eg 1280x750 or 1450x1000)\n -or- \"default\""` || exit 0
case $newrez in
default|[0-9]*x[0-9]*) break ;;
esac
done
fi
case $newrez in
default) xrandr --output LVDS-0 --mode $default --scale 1x1
xrandr --addmode VGA-0 $default
xrandr --newmode $default $newmode
xrandr --output VGA-0 --mode $default --scale 1x1
exit 0 ;;
esac
newH=`echo $newrez | cut -d'x' -f1`
newV=`echo $newrez | cut -d'x' -f2`
modeline=`cvt $newH $newV $HZ | grep Modeline`
newmode=`echo "$modeline" | sed 's/^.*"//'`
cvtrez=`echo "$modeline" | sed -e 's/_.*//' -e 's/^.*"//'`
if [ "$newrez" != "$cvtrez" ]
then newrez=$cvtrez
newH=`echo $newrez | cut -d'x' -f1`
newV=`echo $newrez | cut -d'x' -f2`
fi
scaleH=`echo -e "scale=10\n$newH / $H\nquit" | bc`
scaleV=`echo -e "scale=10\n$newV / $V\nquit" | bc`
if echo "$current" | grep -A 100 "^VGA-0" | grep $newrez >/dev/null
then : already there
else xrandr --newmode "$newrez" $newmode
xrandr --addmode VGA-0 $newrez
fi
if xrandr --output VGA-0 --mode $newrez --output LVDS-0 --fb $newrez --scale $scaleH"x"$scaleV 2>&1 | tee -a /tmp/xrandr.err
then : success
else zenity --info --title="Xrandr produced this error" --text="`cat /tmp/xrandr.err`"
The problem could be that Your video driver
does not support xrandr version 1.3
rm -f /tmp/xrandr.err
fi
giovedì 18 giugno 2015
Settare il tempo su Centos 7
Un piccolo promemoria su come settare il tempo su Centos
Per prima cosa si deve settare/modificare la propria timezone mediante il comando
timedatectl set-timezone Europe/Rome (Italia)
timedatectl set-timezone Etc/UTC (UTC)
per sincronizzare l'orologio con un servizio NTP si deve configurare il file /etc/ntp.conf con l'indirizzo di un timeserver ed aggiornare la regola del firewall
firewall-cmd --add-service=ntp --permanent
Per prima cosa si deve settare/modificare la propria timezone mediante il comando
timedatectl set-timezone Europe/Rome (Italia)
timedatectl set-timezone Etc/UTC (UTC)
per sincronizzare l'orologio con un servizio NTP si deve configurare il file /etc/ntp.conf con l'indirizzo di un timeserver ed aggiornare la regola del firewall
firewall-cmd --add-service=ntp --permanent
firewall-cmd --reload
systemctl start ntpd
systemctl start ntpd
mercoledì 27 maggio 2015
Centos e Debian su Lenovo X200T
Un po' come sfizio (visto il basso costo) mi sono comprato un Lenovo X200T, un portatile convertibile ovvero con la possibilita' di rovesciare il monitor e di usarlo tipo tablet.
Lo schermo e' dotato di un digitalizzatore Wacom da usare mediante penna (non e' un touchscreen che riconosce il tocco delle dita)
Il portatile mi e' arrivato privo di sistema operativo e per non impazzire troppo con Linux ed in digitalizzatore Wacom ho provato ad installare Ubuntu perche' ricordavo che nelle configurazioni di sistema era presente la configurazione di Wacom....ma senza successo.
Al contrario Centos 7 e Debian 8 riconoscono al volo il digitizer (Centos 7 in particolare riconosce tutto l'hardware, wifi compreso, senza dover effettuare ulteriori configurazioni..ma per comodita' ho installato Debian)
Un po' di configurazioni per l'uso in modalita' tablet
1) al login si puo' aprire la tastiera virtuale per inserire la password
2) nel DE si puo' installare una tastiera virtuale come florence
3) con la modalita' tablet si puo' tenere il computer in modalita' landscape o portrait. La rotazione delle schermo puo' essere fatta con il comando
xrandr -o left (landscape)
xrandr -o normal (portratit)
cosi' facendo si ruota lo schermo ma non si ruota il sistema di riferimento del puntatore. Per questo motivo si deve eseguire il seguente comando ad ogni rotazione
xsetwacom set "Wacom Serial Penabled 1FG Touchscreen stylus" rotate ccw
per tornare al settaggio normale del mouse
xsetwacom set "Wacom Serial Penabled 1FG Touchscreen stylus" rotate none
ovviamente non funzionano di default i tasti per la rotazione dello schermo ma si puo' creare una combinazione di tasti che, mediante xbindkeys, permette di effettuare questa operazione.
Una volta installato xbindkeys si lancia
xbindkeys -k
si preme la combinazione preferita, si copiano le tre righe di testo che devono essere inserite .xbindkeys nella propria home. Nel mio caso ho inserito le combinazione CTRL+ALT+z per ruotare lo schermo in formato tablet e CTL+ALT+a per riportarlo in modalita' desktop
-----------------------------------------------------
"/home/luca/rotazione.sh"
m:0xc + c:52
Control+Alt + z
"/home/luca/no_rotazione.sh"
m:0xc + c:38
Control+Alt + a
Lo schermo e' dotato di un digitalizzatore Wacom da usare mediante penna (non e' un touchscreen che riconosce il tocco delle dita)
Il portatile mi e' arrivato privo di sistema operativo e per non impazzire troppo con Linux ed in digitalizzatore Wacom ho provato ad installare Ubuntu perche' ricordavo che nelle configurazioni di sistema era presente la configurazione di Wacom....ma senza successo.
Al contrario Centos 7 e Debian 8 riconoscono al volo il digitizer (Centos 7 in particolare riconosce tutto l'hardware, wifi compreso, senza dover effettuare ulteriori configurazioni..ma per comodita' ho installato Debian)
Un po' di configurazioni per l'uso in modalita' tablet
1) al login si puo' aprire la tastiera virtuale per inserire la password
2) nel DE si puo' installare una tastiera virtuale come florence
3) con la modalita' tablet si puo' tenere il computer in modalita' landscape o portrait. La rotazione delle schermo puo' essere fatta con il comando
xrandr -o left (landscape)
xrandr -o normal (portratit)
cosi' facendo si ruota lo schermo ma non si ruota il sistema di riferimento del puntatore. Per questo motivo si deve eseguire il seguente comando ad ogni rotazione
xsetwacom set "Wacom Serial Penabled 1FG Touchscreen stylus" rotate ccw
per tornare al settaggio normale del mouse
xsetwacom set "Wacom Serial Penabled 1FG Touchscreen stylus" rotate none
ovviamente non funzionano di default i tasti per la rotazione dello schermo ma si puo' creare una combinazione di tasti che, mediante xbindkeys, permette di effettuare questa operazione.
Una volta installato xbindkeys si lancia
xbindkeys -k
si preme la combinazione preferita, si copiano le tre righe di testo che devono essere inserite .xbindkeys nella propria home. Nel mio caso ho inserito le combinazione CTRL+ALT+z per ruotare lo schermo in formato tablet e CTL+ALT+a per riportarlo in modalita' desktop
-----------------------------------------------------
"/home/luca/rotazione.sh"
m:0xc + c:52
Control+Alt + z
"/home/luca/no_rotazione.sh"
m:0xc + c:38
Control+Alt + a
-----------------------------------------------------
lo script di rotazione e' il seguente
-----------------------------------------------------
xrandr -o left
xsetwacom set "Wacom Serial Penabled 1FG Touchscreen stylus" rotate ccw
-----------------------------------------------------
mentre quello che riprstina lo schermo e'
xsetwacom set "Wacom Serial Penabled 1FG Touchscreen stylus" rotate ccw
-----------------------------------------------------
mentre quello che riprstina lo schermo e'
-----------------------------------------------------
xrandr -o normale
xsetwacom set "Wacom Serial Penabled 1FG Touchscreen stylus" rotate none
-----------------------------------------------------
venerdì 21 novembre 2014
Recuperare database YUM su Centos 7
Mentre cercavo di fare l'installazione di un pacchetto con yum la macchina e' andata incontro ad un reboot effettuato da un altro amministratore. Il risultato finale e' stato che dopo il riavvio il database degli rpm era corrotto con il seguente messaggio
DB_RUNRECOVERY: Fatal error, run database recovery
cd /var/lib/rpm
per risolvere il problema si deve ricostruire l'indice dei pacchetti (come indicato a questo link) mediante i seguenti comandi
rm -f __db*
db_verify Packages
rpm -v --rebuilddb
rpm -v --rebuilddb
lunedì 8 settembre 2014
Proteggere awstats con .htaccess su Centos 7
Per proteggere con password mediante il file .htaccess le statistiche di awstats si inizia configurando Apache e settando la directory che si intende proteggere nel file /etc/httpd/conf.d/awstats
---------------------------------------------------
<Directory /usr/local/awstats/wwwroot>
DirectoryIndex awstats.pl
Options ExecCGI
AllowOverride AuthConfig
Require all granted
Allow from all
</Directory>
---------------------------------------------------
si riavvia il servizio
systemctl restart httpd.service
poi si imposta un file con la password
con il comando seguente si setta la password per l'utente luca nel file /var/ww/secure/pass_apache
htpasswd -c /home/secure/pass_apache luca
con Selinux attivato e' importante che il file contenente i file delle password si trovi nella sottodirectory /var/www/ (pena il fatto che Apache risponda con un errore 500)
per questo motivo ho creato una directory /var/www/secure ed ho inserito qui il file delle password
per essere sicuri sui permessi
chown apache:apache /var/www/secure/pass_apache
chmod 0660 /home/secure/apasswords
con Selinux attivato e' importante che il file contenente i file delle password si trovi nella sottodirectory /var/www/ (pena il fatto che Apache risponda con un errore 500)
per questo motivo ho creato una directory /var/www/secure ed ho inserito qui il file delle password
per essere sicuri sui permessi
chown apache:apache /var/www/secure/pass_apache
chmod 0660 /home/secure/apasswords
infine si crea il file .htaccess in /usr/local/awstats/wwwroot/cgi-bin
---------------------------------------------------
AuthType Basic
AuthName "Restricted Access"
AuthUserFile /var/www/secure/pass_apache
Require user luca
---------------------------------------------------
giovedì 4 settembre 2014
Monitorix su Debian e CentOS
Sempre per il motivo che sto diventando pigro, avevo bisogno di un sistema semplice per monitorare lo stato di un server da Web.Senza scomodare Nagios, una soluzione che ho trovato carina e' quella di installare Monitorix
Debian
Per l'installazione su Debian la cosa piu' comoda non e' fare affidamento al repository non ufficiale quanto usare l'installazione da .deb
prima di scarichino i pacchetti delle dipendenze con
apt-get install rrdtool perl libwww-perl libmailtools-perl libmime-lite-perl librrds-perl libdbi-perl libxml-simple-perl libhttp-server-simple-perl libconfig-general-perl libio-socket-ssl-perl
yum install rrdtool rrdtool-perl perl-libwww-perl perl-MailTools perl-MIME-Lite perl-CGI perl-DBI
perl-XML-Simple perl-Config-General perl-HTTP-Server-Simple perl-IO-Socket-SSL
Debian
Per l'installazione su Debian la cosa piu' comoda non e' fare affidamento al repository non ufficiale quanto usare l'installazione da .deb
prima di scarichino i pacchetti delle dipendenze con
apt-get install rrdtool perl libwww-perl libmailtools-perl libmime-lite-perl librrds-perl libdbi-perl libxml-simple-perl libhttp-server-simple-perl libconfig-general-perl libio-socket-ssl-perl
ed in seguito si scarica il .deb installando con
dpkg -i monitorix_3.6.0-izzy1_all.deb
adesso si puo' avviare il service con
service monitorix start
e puntare il browser su
http://localhost:8080/monitorix
CentOS 7
Anche su CentOS si deve procedere con l'installazione manuale mediante
poi si scarica l'rpm http://www.monitorix.org/monitorix-3.6.0-1.src.rpm e si installa come
rpm -ivh http://www.monitorix.org/monitorix-n.n.n-1.noarch.rpm
come nel caso precedente si avvia il servizio
il problema con CentOS 7 e' che la porta 8080 e filtrata di default per cui si deve aggiungere la regola
firewall-cmd --zone=public --add-port=8080/tcp
deve essere inoltre modificato il file di configurazione perche' il nome dell'interfaccia di rete di default su CentOS non e' eth0 ma enp3s0
mercoledì 3 settembre 2014
Security update automatico su Debian e CentOS
Dato che sono diventato pigro ed i server sono aumentati ho deciso di mettere l'aggiornamento automatico sulle macchine CentOS e Debian. Cio' che volevo evitare usando un sistema automatico era quello di avere aggiornamenti non di sicurezza che possono compromettere le applicazioni in uso
Con l'ultima versione di CentOS7 e qualche modifica su Debian adesso e' decisamente fattibile
CentOS
per attivare l'aggiornamento automatico su CentOS si deve installare il pacchetto yum-cron
yum install yum-cron
la configurazione si effettua mediante /etc/yum/yum-cron.conf
l'aspetto nuovo di CentOs 7 e' la possibilita' di selezionare l'aggiornamento dei soli pacchetti di sicurezza modificando update_cmd
Per l'installazione automatico si porta su yes apply_updates
Comoda e' la possibilita' di impostare una mail a cui inviare i messaggi
Per attivare yum-cron si digita
systemctl start yum-cron.service
per verifica lo stato del servizio
systemctl status yum-cron.service
upgrade -y -o APT::Get::Show-Upgraded=true
Con l'ultima versione di CentOS7 e qualche modifica su Debian adesso e' decisamente fattibile
CentOS
per attivare l'aggiornamento automatico su CentOS si deve installare il pacchetto yum-cron
yum install yum-cron
la configurazione si effettua mediante /etc/yum/yum-cron.conf
l'aspetto nuovo di CentOs 7 e' la possibilita' di selezionare l'aggiornamento dei soli pacchetti di sicurezza modificando update_cmd
Per l'installazione automatico si porta su yes apply_updates
Comoda e' la possibilita' di impostare una mail a cui inviare i messaggi
Per attivare yum-cron si digita
per verifica lo stato del servizio
systemctl status yum-cron.service
---------------------------------------------------------------------------
Debian
Per Debian ho usato la guida di questo sito
in pratica si deve creare il file /etc/cron-apt/action.d/5-security ed aggiungere
creare il file /etc/cron-apt/config.d/5-security ed aggiungere
OPTIONS="-o quiet=1 --no-list-cleanup -o Dir::Etc::SourceList=/etc/apt/sources.list.d/security.list -o Dir::Etc::SourceParts=\"/dev/null\""
deb http://security.debian.org/ wheezy/updates main deb-src
creare il file /etc/apt/sources.list.d/security.list ed aggiungere
http://security.debian.org/ wheezy/updates main
a questo punto il cron e' settato per le 4 di notte (si modifica da /etc/cron.d/)
si puo' comunque forzare mediante cron-apt
si puo' comunque forzare mediante cron-apt
di seguito il risultato su /var/log/cron-apt/log
-----------------------------------------------------------------
root@debian:/etc/cron.d# tail /var/log/syslog
Sep 3 11:48:28 debian cron-apt: CRON-APT LINE: /usr/bin/apt-get -o quiet=1 --no-list-cleanup -o Dir::Etc::SourceList=/etc/apt/sources.list.d/security.list -o Dir::Etc::SourceParts="/dev/null" upgrade -d -y -o APT::Get::Show-Upgraded=true
Sep 3 11:48:28 debian cron-apt: Reading package lists...
Sep 3 11:48:28 debian cron-apt: Building dependency tree...
Sep 3 11:48:28 debian cron-apt: Reading state information...
Sep 3 11:48:28 debian cron-apt: The following packages will be upgraded:
Sep 3 11:48:28 debian cron-apt: liblua5.1-0
Sep 3 11:48:28 debian cron-apt: 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Sep 3 11:48:28 debian cron-apt: Need to get 0 B/185 kB of archives.
Sep 3 11:48:28 debian cron-apt: After this operation, 32.8 kB disk space will be freed.
Sep 3 11:48:28 debian cron-apt: Download complete and in download only mode
root@debian:/etc/cron.d# tail /var/log/syslog
Sep 3 11:48:28 debian cron-apt: CRON-APT LINE: /usr/bin/apt-get -o quiet=1 --no-list-cleanup -o Dir::Etc::SourceList=/etc/apt/sources.list.d/security.list -o Dir::Etc::SourceParts="/dev/null" upgrade -d -y -o APT::Get::Show-Upgraded=true
Sep 3 11:48:28 debian cron-apt: Reading package lists...
Sep 3 11:48:28 debian cron-apt: Building dependency tree...
Sep 3 11:48:28 debian cron-apt: Reading state information...
Sep 3 11:48:28 debian cron-apt: The following packages will be upgraded:
Sep 3 11:48:28 debian cron-apt: liblua5.1-0
Sep 3 11:48:28 debian cron-apt: 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Sep 3 11:48:28 debian cron-apt: Need to get 0 B/185 kB of archives.
Sep 3 11:48:28 debian cron-apt: After this operation, 32.8 kB disk space will be freed.
Sep 3 11:48:28 debian cron-apt: Download complete and in download only mode
mercoledì 6 agosto 2014
Selinux e Apache su CentOs
Cercando di far funzionare l''uploader di JQuery mi sono trovato in un comportamento strano che non era giustificato dai permessi sui file e sulle directory. Nonostate tutti i permessi del file system fossero corretti non veniva scritto niente sul disco del server. Il sospetto e' ricaduto immediatamente su Selinux
questo lo stato (ovvero attivo)
sestatus
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 28
una occhiata con il seguente comando mostra i permessi di scrittura negati al demone http
aureport --avc | tail
19. 06/08/2014 14:01:08 httpd system_u:system_r:httpd_t:s0 2 dir write unconfined_u:object_r:httpd_sys_content_t:s0 denied 540
20. 06/08/2014 14:01:52 httpd system_u:system_r:httpd_t:s0 2 dir write unconfined_u:object_r:httpd_sys_content_t:s0 denied 542
21. 06/08/2014 14:02:15 httpd system_u:system_r:httpd_t:s0 2 dir write unconfined_u:object_r:httpd_sys_content_t:s0 denied 544
22. 06/08/2014 14:02:15 httpd system_u:system_r:httpd_t:s0 2 dir add_name unconfined_u:object_r:httpd_sys_content_t:s0 denied 544
23. 06/08/2014 14:02:15 httpd system_u:system_r:httpd_t:s0 2 file create system_u:object_r:httpd_sys_content_t:s0 denied 544
24. 06/08/2014 14:02:15 httpd system_u:system_r:httpd_t:s0 2 file write system_u:object_r:httpd_sys_content_t:s0 denied 544
----------------------------------------------------------------------
per avere qualche suggerimento ho usato
grep httpd_sys_content /var/log/audit/audit.log | audit2allow
questo lo stato (ovvero attivo)
sestatus
----------------------------------------------------------------------
SELinux status: enabledSELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 28
----------------------------------------------------------------------
se disattivo temporaneamente tutto Selinux i file vengono salvati nella cartella di upload
setenforce 0
non ho voglia pero' di disabilitare tutto Selinux e lo riattivo
setenforce 1
aureport --avc | tail
----------------------------------------------------------------------
18. 06/08/2014 14:01:01 ? system_u:system_r:init_t:s0 0 (null) (null) (null) unset 53519. 06/08/2014 14:01:08 httpd system_u:system_r:httpd_t:s0 2 dir write unconfined_u:object_r:httpd_sys_content_t:s0 denied 540
20. 06/08/2014 14:01:52 httpd system_u:system_r:httpd_t:s0 2 dir write unconfined_u:object_r:httpd_sys_content_t:s0 denied 542
21. 06/08/2014 14:02:15 httpd system_u:system_r:httpd_t:s0 2 dir write unconfined_u:object_r:httpd_sys_content_t:s0 denied 544
22. 06/08/2014 14:02:15 httpd system_u:system_r:httpd_t:s0 2 dir add_name unconfined_u:object_r:httpd_sys_content_t:s0 denied 544
23. 06/08/2014 14:02:15 httpd system_u:system_r:httpd_t:s0 2 file create system_u:object_r:httpd_sys_content_t:s0 denied 544
24. 06/08/2014 14:02:15 httpd system_u:system_r:httpd_t:s0 2 file write system_u:object_r:httpd_sys_content_t:s0 denied 544
----------------------------------------------------------------------
per avere qualche suggerimento ho usato
grep httpd_sys_content /var/log/audit/audit.log | audit2allow
----------------------------------------------------------------------
#============= httpd_t ==============
allow httpd_t httpd_sys_content_t:dir { write add_name };
allow httpd_t httpd_sys_content_t:file { write create setattr };
----------------------------------------------------------------------
allow httpd_t httpd_sys_content_t:dir { write add_name };
allow httpd_t httpd_sys_content_t:file { write create setattr };
----------------------------------------------------------------------
che indica di abilitare in scrittura httpd
girando un po' per Google e' consigliato di abilitare i seguenti comandi selinux nel caso che sviluppino webapp
setsebool -P httpd_enable_cgi on
setsebool -P httpd_unified on
setsebool -P httpd_builtin_scripting on
a questo punto l'uploader funziona con Selinux attivato
altrimenti il metodo proposto sul wiki di Selinux e' il seguente
grep httpd _sys_content /var/log/audit/audit.log | audit2allow -M apache_selinux
semodule -i apache_selinux.pp altrimenti il metodo proposto sul wiki di Selinux e' il seguente
grep httpd _sys_content /var/log/audit/audit.log | audit2allow -M apache_selinux
SD Card su CentOS 7
Al momento di inserire un SD Card nel lettore del mio IBM T61 mi sono accorto che la CentOs 7 non mi mostrava il dispositivo ed ovviamente non lo montava
dal comando lspci il lettore risulta essere un Ricoh
15:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ba)
15:00.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 04)
15:00.2 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 21)
15:00.4 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 11)
15:00.5 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 11)
La soluzione e' quanto mai semplice
Basta digitare
modprobe sdhci
per fa comparire sul desktop l'icona della SD Card
dal comando lspci il lettore risulta essere un Ricoh
15:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ba)
15:00.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 04)
15:00.2 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 21)
15:00.4 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 11)
15:00.5 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 11)
La soluzione e' quanto mai semplice
Basta digitare
modprobe sdhci
per fa comparire sul desktop l'icona della SD Card
martedì 5 agosto 2014
Filezilla e Chrome OS su CentOs 7
Per installare Filezilla su CentOs 7 si devono aggiungere i repository mediante il comando
rpm -Uvh http://epel.mirror.net.in/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm
fatto cio' si puo' installare il programma semplicemente con
yum install filezilla
Per Chrome la procedura e' leggermente piu' complicata (il supporto di Chrome a CentOs e' limitato alla versione 7)
da linea di comando si crea e popola il file google-chrome.repo
cat << EOF > /etc/yum.repos.d/google-chrome.repo [google-chrome] name=google-chrome - \$basearch baseurl=http://dl.google.com/linux/chrome/rpm/stable/\$basearch enabled=1 gpgcheck=1 gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub EOF
per installare il browser si digita quindi il comando
yum install google-chrome-stable
rpm -Uvh http://epel.mirror.net.in/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm
yum install filezilla
Per Chrome la procedura e' leggermente piu' complicata (il supporto di Chrome a CentOs e' limitato alla versione 7)
da linea di comando si crea e popola il file google-chrome.repo
cat << EOF > /etc/yum.repos.d/google-chrome.repo [google-chrome] name=google-chrome - \$basearch baseurl=http://dl.google.com/linux/chrome/rpm/stable/\$basearch enabled=1 gpgcheck=1 gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub EOF
per installare il browser si digita quindi il comando
yum install google-chrome-stable
lunedì 4 agosto 2014
LAMP su Centos 7
Mi sono trovato a dover sostituire un server basato su una obsoleta Ubuntu server che era stato bucato e dato l'uso professionale ho cercato di installare un sistema di impostazione piu' seria con un supporto di sicurezza prolungato nel tempo.
Nonostante non lavori su RedHat dal lontano 2004 ho voluto provare CentOS 7 nella speranza di aver un sistema solido (sicuramente la politica di partire da una installazione minimale con tutti i servizi da abilitare e le porte del firewall da aprire a mano ti rende consapevole di cio' che stai facendo). Questa scelta la ho pagata perche' alcuni aspetti di CentOS sono piuttosto peculiari (per esempio lanciare il comando ifoconfig ed avere a che fare con il nuovo firewall basato su firewall-cmd al posto di iptabls)..in ogni caso nel giro di un paio di ore il sistema era in linea
Dopo l'installazione minimale ho controllato la configurazione della rete con
/usr/sbin/ifconfig (non ifconfig, si deve richiamare tutto il path)
per installare i servizi base si usa
yum -y install httpd (per apache)
si installa php e qualche modulo
a questo punto per fare in modo che il servizio http si riavvi al prossimo reboot si deve specificare enable
systemctl enable httpd.service
La porta 80 e' chiusa di default e deve essere abilitata esplcitamente. Per rendere la modifica alle regole del firewalle permanente si deve usare lo switch permanent
firewall-cmd --permanent --add-service=http
Poi si abilita Mysql (solo il pacchetto si chiama MariaDb, i comandi sono i classici mysql)
Nonostante non lavori su RedHat dal lontano 2004 ho voluto provare CentOS 7 nella speranza di aver un sistema solido (sicuramente la politica di partire da una installazione minimale con tutti i servizi da abilitare e le porte del firewall da aprire a mano ti rende consapevole di cio' che stai facendo). Questa scelta la ho pagata perche' alcuni aspetti di CentOS sono piuttosto peculiari (per esempio lanciare il comando ifoconfig ed avere a che fare con il nuovo firewall basato su firewall-cmd al posto di iptabls)..in ogni caso nel giro di un paio di ore il sistema era in linea
Dopo l'installazione minimale ho controllato la configurazione della rete con
/usr/sbin/ifconfig (non ifconfig, si deve richiamare tutto il path)
per installare i servizi base si usa
yum -y install httpd (per apache)
yum -y install mariadb-server mariadb (per mysql)
yum install php php-mysql php-gd php-pear -y
a questo punto per fare in modo che il servizio http si riavvi al prossimo reboot si deve specificare enable
systemctl enable httpd.service
La porta 80 e' chiusa di default e deve essere abilitata esplcitamente. Per rendere la modifica alle regole del firewalle permanente si deve usare lo switch permanent
firewall-cmd --permanent --add-service=http
Poi si abilita Mysql (solo il pacchetto si chiama MariaDb, i comandi sono i classici mysql)
systemctl enable mariadb.service
e si configura la password di root del server Sql
e si configura la password di root del server Sql
mysql_secure_installation
per installa PhpMyAdmin si devono aggiungere i repository di rpmforge con il seguente comando
rpm -Uvh http://fedora.mirrors.romtelecom.ro/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm
e poi installare phpMyAdmin
yum install phpmyadmin
per installa PhpMyAdmin si devono aggiungere i repository di rpmforge con il seguente comando
rpm -Uvh http://fedora.mirrors.romtelecom.ro/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm
e poi installare phpMyAdmin
yum install phpmyadmin
sempre con il concetto di chiusura la pagina di phpmyadmin e' di default visibile al solo localhost. Si deve quindi editare il file
nano /etc/httpd/conf.d/phpMyAdmin.conf
per permettere l'accesso ad altre macchine
yum install net-tools (netstat)
yum install ntfs-3g (per il supporto ad ntfs)
yum install mc (midnight commander)
yum install ntfs-3g (per il supporto ad ntfs)
yum install mc (midnight commander)
martedì 20 agosto 2013
Installazione di CentOs
Sempre per tornare a RedHat e simili ho provato l'installazione di CentOs, una distribuzione che ricompila i sorgenti di RHEL omettendo tutto quanto soggetto a copyright.
Per rendere le cose piu' interessanti sono partito dal cd di NetInstall piu' che altro per vedere le differenze con il NetInstall di Debian
la prima grande differenza e' che si deve esplicitamente scrivere l'indirizzo della immagine che si vuole utilizzare durante l'installazione via rete. Al contrario di Debian non vengono forniti suggerimenti sui server geograficamente piu' vicini
in seguito l'installazione e' abbastanza standard con la regolazione dell'orologio
ed il download dei pacchetti
al termine dell'installazione ci troveremo con un sistema minimale di shell Linux senza ambiente grafico. Si dovra' quindi configurare anche un utente per le operazioni di tutti i giorni (nell'installazione e' presente solo l'utente root)
I pacchetti si installano con yum che funzione in modo molto simile ad apt-get. Per una lista dettagliata dei comandi relativi a yum si puo' andare a questo link
i pacchetti possono essere installati anche per gruppi.
Di seguito alcuni esempi di cui il primo installa il server X
yum -y groupinstall "Desktop" "Desktop Platform" "X Window System" "Fonts"
yum groupinstall 'Development Tools'
yum -y groupinstall "Graphical Administration Tools"
yum -y groupinstall "Internet Browser"
yum -y groupinstall "General Purpose Desktop"
yum -y groupinstall "Office Suite and Productivity"
yum -y groupinstall "Graphics Creation Tools"
CentOs e' sicuramente veloce ma ci sono alcune cose piuttosto curiose del tipo
Per rendere le cose piu' interessanti sono partito dal cd di NetInstall piu' che altro per vedere le differenze con il NetInstall di Debian
la prima grande differenza e' che si deve esplicitamente scrivere l'indirizzo della immagine che si vuole utilizzare durante l'installazione via rete. Al contrario di Debian non vengono forniti suggerimenti sui server geograficamente piu' vicini
in seguito l'installazione e' abbastanza standard con la regolazione dell'orologio
ed il download dei pacchetti
al termine dell'installazione ci troveremo con un sistema minimale di shell Linux senza ambiente grafico. Si dovra' quindi configurare anche un utente per le operazioni di tutti i giorni (nell'installazione e' presente solo l'utente root)
I pacchetti si installano con yum che funzione in modo molto simile ad apt-get. Per una lista dettagliata dei comandi relativi a yum si puo' andare a questo link
i pacchetti possono essere installati anche per gruppi.
Di seguito alcuni esempi di cui il primo installa il server X
yum -y groupinstall "Desktop" "Desktop Platform" "X Window System" "Fonts"
yum groupinstall 'Development Tools'
yum -y groupinstall "Graphical Administration Tools"
yum -y groupinstall "Internet Browser"
yum -y groupinstall "General Purpose Desktop"
yum -y groupinstall "Office Suite and Productivity"
yum -y groupinstall "Graphics Creation Tools"
CentOs e' sicuramente veloce ma ci sono alcune cose piuttosto curiose del tipo
- Di default viene installato Gnome 2 (nessuna traccia di Gnome3)
- Come alternativa c'e' praticamente solo KDE. Altri WM si possono installare ma non in modo banale
- I repository sono pochi e decisamente meno forniti di Debian
- Il kernel e' ancorato alla versione 2.6
- E' installata ancora la versione 3 delle Qt e per usare la versione 4 viene indicato di ....partire dai sorgenti (evito i commenti)
- come editor c'e' ancora vi e non nano o simili piu' recenti
In conclusione puo' essere un fantastico ambiente server (ho amministrato a lungo una RedHat 7.2 un bel po' di tempo fa) e puo' essere anche una distribuzione con un lunghissimo tempo di supporto ma e' piu' indicata per l'uso Desktop dell'ufficio piuttosto che per l'uso di normale utente che ogni tanto vuole utilizzare qualche programma un po' piu' recente
sabato 1 settembre 2012
Installare VirtualBox Guest Additions con Guest Linux
Nel caso in cui la distribuzione che si voglia installarea all'interno di VirtualBox non sia fornita di apposito pacchetto pre-compilato (come Debian per esempio) e' necessario compilare il pacchetto a mano.
Per esempio in CentOs 5.8 si devono installare
yum install gcc kernel-devel kernerl-headers
Successivamente si deve montare il disco con le Guest Additions (Menu' Dispositivi/Guest Additions) e lanciare il comando VBoxLinuxdditions-x86.run
Per esempio in CentOs 5.8 si devono installare
yum install gcc kernel-devel kernerl-headers
Successivamente si deve montare il disco con le Guest Additions (Menu' Dispositivi/Guest Additions) e lanciare il comando VBoxLinuxdditions-x86.run
Iscriviti a:
Post (Atom)
Debugger integrato ESP32S3
Aggiornamento In realta' il Jtag USB funziona anche sui moduli cinesi Il problema risiede nell'ID USB della porta Jtag. Nel modulo...
-
In questo post viene indicato come creare uno scatterplot dinamico basato da dati ripresi da un file csv (nel dettaglio il file csv e' c...
-
La scheda ESP32-2432S028R monta un Esp Dev Module con uno schermo TFT a driver ILI9341 di 320x240 pixels 16 bit colore.Il sito di riferiment...
-
Questo post e' a seguito di quanto gia' visto nella precedente prova Lo scopo e' sempre il solito: creare un sistema che permet...