Home > Os X, Tips > Installare samba3 su Os X 10.5

Installare samba3 su Os X 10.5

13 febbraio 2013

Questo mini-tutorial nasce dall’esigenza di condividere via CUPS una LaserColor Samsung CLX 2160 che mi hanno regalato, ho riparato, dopo di che, mi piangeva il cuore buttare via. Così ho iniziato una piccola odissea tra la suddetta stampante, il G5 Os X 10.5.8 cui volevo collegarla e la LAN (ibrida Mac/Win/*nix) sulla quale volevo condividerla. Peraltro va detto che il problema di CUPS per ora non l’ho ancora affrontato in quanto questo mi ha portato a risolvere radicalmente il problema della versione di Samba, come da titolo (e da immagine?).

Compreso che era abbastanza ostico catturare la stampante da win7 dalla coda della condivisione smb nativa Apple, ho presto (si fa per dire) capito che tale versione di samba (Os X 10.5.8) non mi consentiva di fare ciò’ che volevo e quindi dovevo sostituirla con una versione più seria (la 3), che mi consentirà di definire più razionalmente (spero) le code.


Premesso questo, incomincio: dopo un primo tentativo fallito di compilazione di samba3 di cui ho scaricato il sorgente da http://ftp.samba.org/pub/samba/stable/samba-3.0.28.tar.gz, mi dirigo verso la soluzione macports (scaricando il pacchetto da http://www.macports.org/install.php). Lanciando subito dopo il comando:
sudo port install samba3
dopo alcuni minuti di tentativi di compilazione, mi rendo conto che la versione 3.0 di XCode installata sul G5 è obsoleta (me lo dice macports). Provvedo quindi a scaricare dal dev center Apple (https://developer.apple.com/) la versione minima richiesta (3.1 – 1GB circa). La installo, XCode è aggiornato, e quindi il comando suddetto, finalmente compila e installa samba3.

Eureka, forse. In quanto i problemi iniziano proprio qui.
Primo: editare un ragionevole smb.conf adatto alle mie esigenze. Molti esempi utili li trovate qui (http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/FastStart.html). Tra l’altro mi riconosco nel titolo: Cure for Impatience. Tuttavia se leggete tutta la pagina capite che potete configurare da un samba server anonimo con tutto abilitato, ad un sofisticato samba server con dominio oppure un LDAP server. Credo che non ci sia nulla di nuovo, ma è molto didattico.

Prima di editarlo è abbastanza naturale chiedersi dove alloggia, qui:
/opt/local/etc/samba3/smb.conf

Inoltre, affinché il servizio si avvii automaticamente, a mie spese, ho capito che è necessario che esistano i 2 files seguenti in /Library/LaunchDaemons (opportunamente chmod-ati 0755)

org.samba.nmbd.plist
————————
<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE plist PUBLIC “-//Apple Computer//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd”>
<plist version=”1.0″>
<dict>
<key>Label</key>
<string>org.samba.nmbd</string>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<array>
<string>/opt/local/sbin/nmbd</string>
<string>-F</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>ServiceDescription</key>
<string>netbios</string>
</dict>
</plist>

org.samba.smbd.plist
————————
<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE plist PUBLIC “-//Apple Computer//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd”>
<plist version=”1.0″>
<dict>
<key>Label</key>
<string>org.samba.smbd</string>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<array>
<string>/opt/local/sbin/smbd</string>
<string>-F</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>ServiceDescription</key>
<string>samba</string>
</dict>
</plist>

Detto questo, dopo un riavvio del G5, il servizio smbd parte (il comando testparm lo conferma) ma, senza spegnere e riaccendere la condivisione files da Preferenze->Condivisione, non vi è l’ombra di possibilità di raggiungerlo dal client W7.
Perché tanta cattiveria? Ci viene in soccorso il comando launchctl list il quale ci rende noto che oltre a org.samba.smbd esistono altre due istanze di smbd.

Il tutto alla fine si è risolto grazie a questo post http://hintsforums.macworld.com/archive/index.php/t-127575.html, il quale spiega come disabilitare definitivamente la versione nativa apple:

sudo defaults delete /Library/Preferences/SystemConfiguration/com.apple.smb.server EnabledServices
sudo launchctl unload -w /System/Library/LaunchDaemons/nmbd.plist
sudo launchctl unload -w /System/Library/LaunchDaemons/smbd.plist
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.smb.server.preferences.plist
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.smb.sharepoints.plist
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.smbfs_load_kext.plist
sudo launchctl unload -w /System/Library/LaunchDaemons/org.samba.winbindd.plist

A me ne sono bastate 5 di quelle istruzioni perché molte erano già disabilitate.

Riavvio, e i client WIN rivedono le condivisioni samba sul G5. Fantastico. Domani risolverò le code della Samsung, anzi forse a questo punto la regalo… (ma solo a uno che la colleghi a *NIX e la voglia condividere il LAN Windows)

Dimenticavo, in /System/Library/StartupItems ho creato una cartella samba con dentro questi 2 script (il primo chmod-ato 0755 il secondo 0644). Non so se servo davvero (penso bastino org.samba.smbd.plist e org.samba.nmbd.plist in /Library/LaunchDaemons) ma francamente non ho voglia e coraggio di cancellarli dal momento che sia smb:// sia afp:// stanno funzionando a meraviglia.

#!/bin/sh
#
# *********************************************************************
# **                /Library/StartupItems/Samba/Samba                             **
# *********************************************************************
# **                                                                 **
# **  This is the intialization script for Samba services on Mac OS  **
# **  X.  This script has been tested under OS X 10.0 and 10.1. The  **
# **  permissions of this file need to be set to 0755. This can be   **
# **  accomplished from the Terminal while in this directory by      **
# **  typing: chmod 0755 Samba  This will adjust the properties so   **
# **  that Samba can be executed.                                    **
# **                                                                 **
# **  To configure Samba to launch: as root, edit the file           **
# **    /etc/hostconfig  After the WEBSERVER entry, add this line:   **
# **    SMBSERVER=-YES-  You can easily change this entry to enable  **
# **  or disable Samba whenever you like.                            **
# **                                                                 **
# **                                                                 **
# *********************************************************************
#

# ———————————————————————
#  Include system wide configuration options
# ———————————————————————
. /etc/rc.common

# ———————————————————————
#  Start SMB services
# ———————————————————————
if [ “${SMBSERVER:=-NO-}” = “-YES-” ]; then

ConsoleMessage “Starting SMB services”

/usr/sbin/smbd -D
/usr/sbin/nmbd -D

# *********************************************************************
# **    /Library/StartupItems/Samba/StartupParamenters.plist  **
# *********************************************************************

{
Description             = “smb file server”;
Provides                = (“Samba”);
Requires                = (“Resolver”);
OrderPreference         = “None”;
Messages                =
{
start   = “Starting Samba”;
stop    = “Stopping Samba”;
};
}

Categorie:Os X, Tips Tag:
I commenti sono chiusi.