expect rsync file vanished exit code 24

rsync in presenza di file “scomparsi” (in inglese vanished) ritorna un exit code 24

$ man rsync
24 Partial transfer due to vanished source files

Ci sono gà abbastanza flame sulla questione (ma anche simpatici wrapper che ritornano 0 anche in caso di questo tipo di errore) e non ci entro.

Se viene utilizzato expect (e/o altri linguaggi ) il problema è che l’esecuzione dell’istruzione successiva non viene effettuata ma termina.

Se il problema si manifesta durante l’ultima istruzione non sussiste, ma se lo scirpt dovesse eseguire più rsync di directory potenzialmente contenenti file “temporanei” (mail web proxy server in primis) il backup non sarebbe riutilizzabile.

Ecco un semplice modo per ovviare al problema, consapevoli che non tutti i file sono stati correttamente trasferiti. La prima parte presenta il backup di /etc che non dovrebbe subire questo fenomeno, e il backup di /var/www , direcotry potenzialmente ad alto contenuto “volatile”

#!/usr/bin/expect

log_user 1
exec rsync -e ssh -v -P -R -u -a --blocking-io --numeric-ids --delete --ignore-errors root@www.texilee.it:/etc /var/backups/www.texilee.it
puts "www.texilee.it:/etc OK"
puts ""

set err_code [catch {exec rsync -e ssh -v -P -R -u -a --blocking-io --numeric-ids --delete --ignore-errors root@www.texilee.it:/var/www /var/backups/www.texilee.it}]
if {1==$err_code} {
puts "www.texilee.it:/var/www OK error code 24"
} else {
puts "www.texilee.it:/var/www OK"
}

Posted in Linux at September 18th, 2007. No Comments.

./configure missing -lssl

Durante l’esecuizone di ./configure  viene restituito un errore e la mancanza di -lssl

Su slackware impostare la variabile env PKG_CONFIG_PATH in modo che
che punti alla directory dove è contenuto openssl.pc

export PKG_CONFIG_PATH=/usr/local/ssl/lib/pkgconfig

Dopodichè ripetere la solita procedura di installazione.

Posted in Linux at February 14th, 2007. No Comments.

Aggiornare slackware slapt-get

Aggiornare slackware con slapt-get

Partendo da una slack 9.1 è possibile aggiornare i pacchetti della distro utilizzando il tool debian like slapt-get (APT like system for Slackware)

I pacchetti necessari sono:

curl-7.15.5-i486-1.tgz
glibc-solibs-2.3.6-i486-6.tgz
libidn-0.6.5-i486-1.tgz

e per finire

slapt-get-0.9.11g-i386-1.tgz

Il file di configurazione

/etc/slapt-get/slapt-getrc

WORKINGDIR=/var/slapt-get
EXCLUDE=^kernel-.*,^alsa-.*,^glibc.*,.*-[0-9]dl$,^devs$,^udev$,aaa_elflibs,x86_64
SOURCE=ftp://ftp.unina.it/pub/linux/distributions/slackware/slackware-9.1/
SOURCE=http://software.jaos.org/slackpacks/9.1/

Ci permette di selezionare il mirror da cui attingere i pacchetti (consiglio di cambiarlo poichè il principale  è solitamente un chiodo) e di escludere tramite regex determinati pacchetti dal nostro aggiornamento (come kernel o moduli)

Per aggiornare la lista pacchetti

#slapt-get --update

Retrieving package data [ftp://ftp.unina.it/pub/linux/distributions/slackware/slackware-9.1/]…Done
Retrieving patch list [ftp://ftp.unina.it/pub/linux/distributions/slackware/slackware-9.1/]…Done
Retrieving checksum list [ftp://ftp.unina.it/pub/linux/distributions/slackware/slackware-9.1/]…Done
Retrieving ChangeLog.txt [ftp://ftp.unina.it/pub/linux/distributions/slackware/slackware-9.1/]…Done
Reading Package Lists…Done
Retrieving package data [http://software.jaos.org/slackpacks/9.1/]…Done
Retrieving patch list [http://software.jaos.org/slackpacks/9.1/]…Done
Retrieving checksum list [http://software.jaos.org/slackpacks/9.1/]…Done
Retrieving ChangeLog.txt [http://software.jaos.org/slackpacks/9.1/]…Done
Reading Package Lists…Done

Per aggiornare la macchine

# slapt-get --upgrade

Reading Package Lists… Done
The following packages have been EXCLUDED:
alsa-oss kernel-headers kernel-ide kernel-modules
The following packages will be upgraded:
bin bind cvs gaim gdm getmail gnupg gstreamer gzip hotplug imagemagick infozip
kdebase kdelibs kdepim koffice lesstif lftp libpng libtiff lynx mc metamail
mozilla mozilla-plugins mutt openssh openssl openssl-solibs pcre pine
proftpd python qt rpm screen sudo sysklogd tar tcpdump utempter util-linux
wget xfree86 xine-lib xine-ui xv
47 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.
Need to get 145.0MB of archives.
After unpacking 18.8MB of additional disk space will be used.
Do you want to continue? [y/N]

Se vogliamo escludere dall’aggiornamento qualche pkg possiamo intervenire sul file di configurazione o utilizzare le opzioni della linea di comando.

Una volta aggiornata la macchina non è necessario riavviare (se non avete installato un nuovo kernel…)
Se avete eseguito l’aggiornamento di openssh *consiglio* di fare un restart del servizio.

Posted in Linux at February 7th, 2007. No Comments.

rsync error: error in rsync protocol data stream

Ecco un problema che mi è capitato

ssh: : Name or service not known
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(420)

[SOLUTION: check options order]

La macchina dalla quale tento di lanciare il comando riesce però ad autenticarsi via ssh rsa senza alcun problema, inoltre l’opzione -e ssh la posso omettere.
Dopo qualche prova ed aver iniziato a pensare che se avessi fatto mozzarelle di bufala invece del sistemista sarebbe stato meglio giunge improvvisa l’intuizione:

le opzioni che passavo a rsync erano le seguenti:

rsync -uavPR --blocking-io --numeric-ids --delete --ignore-errors

ho cambiato l’ordine delle opzioni in questo modo:

rsync -vPRua --blocking-io --numeric-ids --delete --ignore-errors

In sostanza l’errore sta nella sequenza delle opzioni:

--verbose --partial --progress --relative --update --archive

che non vengono interpreata nella maniera corretta. Quindi occhio all’ordine dei parametri

Posted in Linux at December 15th, 2006. No Comments.

RC 1 di DEBIAN ETCH sommario

Debian-Installer-Etch-Release-Candidate-1

- Installazione di default del kernel 2.6.17

- Il tool di installazione crea le partizioni ext3 con le opzioni dir_index resize_inode

dir_index: migliora le performance nella gestione delle operazioni di lettura nelle directory con molti files utilizzando alberi binari hashed al posto di quelli ordinati

resize-inode: permette di ridimensionare al volo la dimensione di una partizione

interessante discussione

- La fase di partizionamente guidato permette la creazione di partizioni LVN cifrate. (Il supporto per la creazione delle partizioni cifrate è ancora limitato)

- Supporto per installazioni automatiche.

- Possibilità di installare RAID software 0 1 5 (preseeding)

- SELinux installato di default (abilitazione demandata all’amministratore)

Per ottenere altre informazioni riguardo bug e lavori in corso

Posted in Linux at November 21st, 2006. No Comments.

Linux in cucina

Questo è un signor cuoco con tanto di cappello.

Biscotti di zucchero alla Ubuntu

http://blog.josephhall.com/uploaded_images/DSC00379-tn.jpg

Torta al TUX

http://blog.josephhall.com/tutorials/tuxcake/DSC09253-tn.jpg

Per par condicio aggiungiamo la torta Debian
torta Debian

Posted in Linux at November 8th, 2006. No Comments.

Ezmlm cambiare nome alla lista e maiuscolo

Non create liste con nomi maiuscoli o con punti “.” all’interno del nome

Esempio nomi mailinglist validi

lamia_lista@texilee.it

listaamici@texilee.it

Esempio nomi mailinglist NON validi

Lamialista@texilee.it

lista.amici@texilee.it

Infatti qmail (da rfc esegue lowercase)  tenterà di deliverare a indirizzi “lamialista” e non Lamialista.
Per cambiare nome alla lista il metodo più veloce che ho trovato è questo:

1) Salvare tutti gli iscritti alla mailing list e i moderatori

Ipotizziamo che la lista sia LALISTA@texilee.it e debba diventare  mailinglist@texilee.it

salviamo i due elenchi iscritti e moderatori


#ezmlm-list /var/path/LALISTA  >  /home/texilee/lista_iscritti

#ezmlm-list /var/path/LALISTA/mod  >  /home/texilee/lista_mod

Ricreiamo la lista con le opzioni che vogliamo utilizzare [...] e importiamo gli indirizzi.


#ezmlm-sub /var/path/mailinglist <  /home/texilee/lista_iscritti

#ezmlm-sub /var/path/mailinglist/mod  <  /home/texilee/lista_mod

A questo punto possiamo eliminare quella vecchia (ovviamente dopo le dovute prove)


# rm -rf  /var/path/LALISTA

# rm  /var/path/.qmail-LISTA*

Se conoscete un metodo più rapido fatemelo sapere,a  modificare i singoli file  ho lasciato perdere dopo avere dato un

#rgrep LALISTA /var/path/LALISTA
Posted in Linux at November 7th, 2006. 1 Comment.

Usare nmap per trovare computer collegati alla rete


tex:~# nmap -sP 10.10.10.1-254

Questo comando restituisce l’elenco delle macchine connesse alla rete locale raggiungibili via ping in tempi notevolmente ristretti.
Nmap finished: 254 IP addresses (17 hosts up) scanned in 5.426 seconds


tex:~# nmap -O -sS -P0 10.10.10.57

Questo comando restituisce un buon numero di informazioni riguardo i servizi in ascolto sull’host bersaglio,  compreso il sistema operativo ospitato sulla macchina.

PORT     STATE SERVICE
135/tcp  open  msrpc
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
1025/tcp open  NFS-or-IIS
5000/tcp open  UPnP
MAC Address: 00:11:5F:10:15:46 (Asustek Computer)
Device type: general purpose
Running: Microsoft Windows 95/98/ME|NT/2K/XP
OS details: Microsoft Windows Millennium Edition (Me), Windows 2000 Pro or Advanced Server, or Windows XP

Nmap finished: 1 IP address (1 host up) scanned in 1.592 seconds

Per tenere sotto occhio il traffico usate iptraf

Posted in Linux at November 3rd, 2006. No Comments.

grsec guida disabilitare caricamento moduli kernel

Con la nuova versione di grsecurity

http://www.grsecurity.net/grsecurity-2.1.9-2.4.33.3-200609031224.patch.gz

è stato inserita una nuova voce: Runtime module disabling

Grsecurity è una suite di patch che permettono una gestione security oriented del kernel. Guide per la compilazione di un kernel+grsec ce ne sono a decine

CONFIG_GRKERNSEC_MODSTOP

Settando qeusta opzione a Y il sistema non permetterà nè agli utenti nè a root di abilitare o disabilitare moduli. In fase di boot verranno caricati i moduli necessati per il funzionamento, poichè l’opzione all’avvio è disabilitata

all’avvio della macchina sotto

/proc/sys/kernel/grsecurity

si troverà un file “disable_modules” con valore “0″
in questo modo si ha la possibilità di caricare tutti i moduli ancora
necessari come ad esempio quelli di iptables

una volta caricati i moduli necessari si può disabilitare in questo modo

echo "1" > /proc/sys/kernel/grsecurity/disable_modules

da questo momento in poi non è piu possibile aggiungerne o toglierne, non
è possibile nemmeno disabilitare l’opzione che inibisce l’inserimento

—————————–
kernel:/proc/sys/kernel/grsecurity# cat disable_modules
1
kernel:/proc/sys/kernel/grsecurity# echo “0″ > disable_modules
kernel:/proc/sys/kernel/grsecurity# cat disable_modules
1
kernel:/proc/sys/kernel/grsecurity#
—————————-

se provo a caricare un nuovo modulo, sempre iptables ad esempio, otterrò un errore.

———————————————–
kernel:/proc/sys/kernel/grsecurity# iptables -nL
/lib/modules/2.4.33.3-grsecblindato/kernel/net/ipv4/netfilter/ip_tables.o:
create_module: Operation not permitted
/lib/modules/2.4.33.3-grsecblindato/kernel/net/ipv4/netfilter/ip_tables.o:
insmod /lib/modules/2.4.33.3-grsecblindato/kerneld
/lib/modules/2.4.33.3-grsecblindato/kernel/net/ipv4/netfilter/ip_tables.o:
insmod ip_tables failed
iptables v1.2.11: can’t initialize iptables table `filter’: iptables who?
(do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
———————————————–

una volta attivata l’opzione bisogna riavviare per aggiungere un modulo, disable_modules torna disabilitato cioè al valore 0

————————————————
kernel:/proc/sys/kernel/grsecurity# cat disable_modules
0
————————————————

Questa opzione dovrebbe proteggerci dalla maggior parte dei rootkit, bisogna tenere conto che bisognerebbe associare anche l’opzione per proteggere /dev/mem.

Esistono ancora semplici strade per bypassare questa protezione, basta ad esempio modificare uno degli script di init che vengono lanciati all’avvio: scrivendo una semplice riga “insmod rootkitexec” un attaccante al prossimo reboot troverà il rootkit già caricato in memoria pronto per essere usato. In questo caso ci viene in aiuto un tool come samhain che controlla periodicamente l’integrità dei file. Samhain può essere paragonato a un IDS, maggiori informazioni sul sito dell’autore Rainer Wichmann

Grsec http://www.grsecurity.net
Kernel http://kernel.org
Samhain http://la-samhna.de

Posted in Linux, kernel at October 11th, 2006. No Comments.

Distribuzioni Debian Live Etch SID

Il progetto Debian Live mira al rilascio di distribuzioni Debian Etch (e successivi) LIVE, su architettura a 32 e 64 bit.

http://live.debian.net/debian-cd/

[   ] debian-live-etch-i386-desktop.iso
[   ] debian-live-etch-i386-gnome.iso
[   ] debian-live-etch-i386-kde.iso
[   ] debian-live-etch-i386-minimal.iso
[   ] debian-live-etch-i386-standard.iso
[   ] debian-live-etch-i386-xfce.iso
[   ] debian-live-sid-i386-minimal.iso
[   ] debian-live-sid-i386-standard.iso

		
Posted in Linux at October 11th, 2006. No Comments.