Samba zelf gecompiled en startup problemen

Pagina: 1
Acties:

  • badkuip
  • Registratie: December 2002
  • Laatst online: 08:23
Ik heb een tijdje ervaring met Linux en ben sinds kort begonnen om mn software zelf te compilen en te configureren. Nu ben ik bezig Samba aan de praat te krijgen op een Slackware machine.
Het configureren is me helemaal gelukt en het werkt ook wel door het handmatig op te starten.

Nu zou ik graag zo willen dat samba automatisch opstart met een scriptje.
Nu heb ik al gezocht naar rc.d scriptjes, deze zien er zo uit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
rc.samba: Start the samba server
#
# 11-Oct-00 amo Create Samba stop - start - status
#
#
    case $1 in
        #
      'start')
        if [ -x /usr/sbin/smbd ]; then
          s_path="/usr/sbin"
        fi
        if [ -x /usr/local/samba/bin/smbd ]; then
          s_path="/usr/local/samba/bin"
        fi
        #
        echo "Starting Samba...$s_path/smbd.."
        $s_path/smbd -D
        $s_path/nmbd -D
        #
        # show the status too
        #
        $0 status
        #
        ;;
        #
      'stop')

        # if [ -x /sbin/pidof ];
        # then
        #   pid1=`pidof smbd`
        #   pid2=`pidof nmbd`
        #   pids="$pid1 $pid2"
        #   #
        # else
          pids=`ps auwx | grep mbd | grep -v grep | awk '{print $2}' `
        # fi
        #
        if [ x"$pids" != x ];
        then
          echo "Killing Samba..."
          echo "kill -9 $pids "
          kill -9 $pids
        else
          echo ""
          echo "ERROR: No samba daemons found"
        fi
        ;;
        #
      'status')
        echo ""
        echo "ps auxw | grep -i mbd | grep -v grep"
        ps auxw | grep -i mbd | grep -v grep
        ;;
      *)
        echo ""
        echo "Usage: $0 < start | stop | status >"
        echo ""
        exit 1;
      #
    esac
    #
    exit 0
    #
# end of file


Nu zie je dat er gekeken wordt of de daemons smbd en nmbd in de map /usr/sbin/ of in de map /usr/local/samba/bin zitten.

Maar bij mijn installatie zitten deze in de map /usr/local/samba/sbin.
Ik kan ze dan ook gewoon starten met de commando's:
/usr/local/samba/sbin/smbd -D
/usr/local/samba/sbin/nmbd -D

Maar mijn vraag is eigenlijk: hoe komt het dat ze bij mij in een andere directory zitten?
Is slackware zo raar?
En zou het aanpassen van de paden in het script voldoende zijn om het wel te laten werken?

  • 0xDEADBEEF
  • Registratie: December 2003
  • Niet online
Eh, Slackware heeft hier een package voor hoor; http://packages.slackware...php?v=current&t=1&q=samba

Scheelt je een hoop tijd en werk/moeite als je geen speciale eisen hebt (eg. een package bied niet wat je wil maar wel met de source kan).

"Religion is an insult to human dignity. With or without it you would have good people doing good things and evil people doing evil things. But for good people to do evil things, that takes religion." - Steven Weinberg


  • imdos
  • Registratie: Maart 2000
  • Nu online

imdos

I use FreeNAS and Ubuntu

Als je zelf compiled dan komt alles standaard in /usr/local

Wanneer je echter --prefix=/usr meegeeft wordt dit overruled.

pvoutput. Waarom makkelijk doen, als het ook moeilijk kan! Every solution has a new problem


  • _lasher_
  • Registratie: September 2002
  • Laatst online: 23-01 14:17
Je kan inderdaad ook de paden in het script aanpassen. Voeg op regel 12 en 13 een 's' toe en je bent er ook....

Maar als je echt liever dingen zelf compileert kan je beter een andere distibutie nemen. De source-based distributies hebben het voordeel dat er meestal een systeem is om updates / nieuwe versies van programma's in de gaten te houden en te installeren.
Bij jouw oplossing moet je dat nu handmatig, wat niet echt lekker werkt. Als jij tijd hebt om dat allemaal in de gaten te houden, moet je maar eens naar dit kijken.

Verwijderd

Zoals 0x al schrijft: waarom zelf compileren? Slackware heeft voor current, stable en de vorige versies van Slackware prima packages die je alleen maar hoeft te installeren.

  • cherwin
  • Registratie: Maart 2006
  • Niet online
Hier heb je een script van mij, deze is wat overzichtelijker. Volgens mij doet de Samba server ook aan cleanup wanneer je die stopt en dat gaat niet met "kill -9". Als dat niet zo is, is het sowieso niet netjes om een programma meteen zo af te sluiten. Weet wel dat deze script niet getest is (draai geen Samba op mijn laptop), dus als opeens je / word verwijderd dan heb ik niks gedaan :P
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#!/bin/bash
#
# rc.samba - startup windows filesharing daemons
#
# Author: Cherwin R. Nooitmeer <cherwin@gmail.com>
# License: GPLv2
#

program=${0##*/}
path="/usr/local/samba/sbin"
smbd="$path/smbd"
nmbd="$path/nmbd"

#  Sanity checks  #
if [ ! -x $smbd -o ! -x $nmbd ]
then
    path="/usr/local/samba/bin"
    if [ ! -x $smbd -o ! -x $nmbd ]
    then
        printf "%s\n" "ERROR: Please check if Samba is installed" >&2
        exit 1
    fi
fi

#
# Functions
#
start()
{
    if ! status
    then
        printf "%s\n" "Starting Samba daemons"
        $smbd -D
        $nmbd -D
    else
        printf "%s\n" "ERROR: Samba daemon is already running"
        return 1
    fi
}

stop()
{
    if status
    then
        printf "%s\n" "Killing Samba daemons"
        killall smbd nmbd
    else
        printf "%s\n" "ERROR: Samba is not running" >&2
        return 1
    fi
}

status()
{
    if pidof smbd nmbd > /dev/null
    then
        return 0
    else
        return 1
    fi
}

usage()
{
    printf "Usage: %s start|stop|restart" "$program" >&2
    return 1
}

#
# Main
#
case $1 in
    start) start ;;
    stop) stop ;;
    restart) stop ; sleep 0.5 ; start ;;
    *) usage ;;
esac

Tell me your problem, not the solution you think I should build for you.

Pagina: 1