= Update da Samba3 a Samba4 = Questi sono i miei primi appunti sull'aggiornamento da Samba 3 (3.6.6 nello specifico) a Samba 4 (4.1.7 nello specifico). Questi appunti si riferiscono a Debian 7, ma sicuramente non ci sono differenze significative con altre distribuzioni. == Update "in place" == L'aggiornamento da Samba 3 a Samba 4 su Debian 7 (sulla stessa macchina) e` abbastanza lineare. Questa procedura e` relativa a un test che ho fatto su una installazione di Samba 3.6.6 configurata come domain controller (con un client win7 pro come test). Dopo aver spento tutti i client e fermato Samba, si procede come segue: * Fare una copia di /var/lib/samba e di /etc/samba per sicurezza * Eseguire {{{net getdomainsid > sid.txt}}} * Eseguire {{{net groupmap list > gruppi.txt}}} * Eseguire {{{pdbedit -L -v > utenti.txt}}} * Aggiungere il repository backports ad /etc/apt/sources.list: {{{ deb http://http.debian.net/debian wheezy-backports main }}} * Eseguire {{{aptitude update}}} * Eseguire {{{aptitude -t wheezy-backports install samba}}} * Verificare se il domain sid, il local sid, i gruppi, ecc, sono stati importati regolarmente * Provare a fare login da un client. Tutto dovrebbe funzionare senza problemi, in quanto Samba 4 legge i files (config e tdb) di Samba 3 senza problemi. L'unica eccezione e` che tre files tdb in samba4 sono stati spostati da /var/lib/samba a /var/lib/samba/private. Questi files sono: passdb.tdb, schannel_store.tdb e secrets.tdb. In Debian quando si installa Samba 4 come aggornamento di Samba 3 lo script di installazione si occupa di creare degli hardlink di questi tre files dentro a private. == Update migrando da una macchina all'altra == Se ci si trova a dover aggiornare Samba dalla versione 3 alla versione 4 e contemporaneamente cambiare macchina, e` possibile farlo con un piccolo accorgimento. La procedura e` la medesima usata per spostare un domain controller Samba3 da una macchina all'altra (mantenendo Samba 3) [[../../Samba/Samba3Migration]]. L'unica differenza e` che nella macchina di destinazione e` necessario creare la directory "private" sotto /var/lib/samba/ e spostarci dentro tre dei files tdb che abbiamo importato da Samba3. In pratica, prima di avviare Samba 4 sulla macchina nuova, occorre eseguire: {{{ cd /var/lib/samba mkdir private mv passdb.tdb private/ mv schannel_store.tdb private/ mv secrets.tdb private/ }}}