Σελ. 1 από 3 123 ΤελευταίαΤελευταία
Εμφάνιση 1-15 από 35
  1. #1
    Το avatar του μέλους AddictedToChaos
    AddictedToChaos Guest
    Λοιπόν. Τρέχω το azureus headless και το διαχειρίζομαι από webui.

    Αυτό που θέλω, είναι να φτιάξω ένα απλό bash script το οποίο θα εκκινεί κατά το boot και θα κάνει τα εξής:

    1. Θα ανοίγει ένα screen session ως root.

    2. Θα κάνει login στο screen session ως ο απλός χρήστης μου.

    3. Θα εκκινεί το azureus headless.

    Το πρώτο κομμάτι είναι σχετικά απλό και το έκανα ως εξής:

    Κώδικας:
    #!/bin/bash
    
    screen -i -S azureus-console -U;
    καθώς και το τρίτο που ζητάω:

    Κώδικας:
    java -jar /usr/share/java/Azureus2.jar --ui=console;
    Το πρόβλημα μου - καθώς από bash scripting δεν νιώθω ακόμα και πολλά - είναι πως θα δώσω εντολή να κάνει login με τον απλό χρήστη μου.
    Τελευταία επεξεργασία από το μέλος AddictedToChaos : 16-02-08 στις 14:26.

  2. #2
    Εγγραφή
    24-04-2006
    Περιοχή
    Χανιά
    Ηλικία
    56
    Μηνύματα
    1.624
    Downloads
    1
    Uploads
    0
    ISP
    None
    Δοκίμασε: su <username>

  3. #3
    Το avatar του μέλους AddictedToChaos
    AddictedToChaos Guest
    Παράθεση Αρχικό μήνυμα από ckoul Εμφάνιση μηνυμάτων
    Δοκίμασε: su <username>
    Password δεν χρειάζεται να ορίσω δηλαδή; Ωραία. Το δοκιμάζω άμα είναι.

    Να 'σαι καλά

  4. #4
    Εγγραφή
    02-11-2003
    Περιοχή
    Επαναπατρισθείς στην Αθήνα
    Ηλικία
    49
    Μηνύματα
    56.427
    Downloads
    64
    Uploads
    73
    Τύπος
    VDSL2
    Ταχύτητα
    102400/10240
    ISP
    Vodafone
    Path Level
    Fastpath
    Παράθεση Αρχικό μήνυμα από AddictedToChaos Εμφάνιση μηνυμάτων
    Το πρόβλημα μου - καθώς από bash scripting δεν νιώθω ακόμα και πολλά - είναι πως θα δώσω εντολή να κάνει login με τον απλό χρήστη μου.
    Δές πώς το έχω κάνει στο πακέτο amule-remote-cvs που συντηρώ στο AUR.

    Και γω δεν το ήξερα (ούτε και τώρα ξέρω φυσικά bash).

    Αλλά είχα δει πώς το είχαν κάνει σε Debian & Gentoo και σε άλλα παραδείγματα δαιμόνων στο Arch, τα συνδύασα, και το έφτιαξα:

    Spoiler:
    Κώδικας:
    #!/bin/bash
    
    if [ "$(id -u)" != 0 ]
    then
    	echo "You must be root to start aMule as daemon."
    	exit 2
    fi
    
    # general config
    USECOLOR="YES"
    . /etc/conf.d/amule.conf
    . /etc/rc.d/functions
    
    if [ -z $AMULEUSER ]
    then
    	echo "Unable to run aMule. You must set the user in /etc/conf.d/amule.conf."
    	exit 2
    elif [[ $AMULEUSER == "root" ]]
    then
    	echo "Unable to run aMule. You must not run aMule as root."
    	exit 2
    fi
    
    confdir=$(su -l $AMULEUSER -c "echo ~")/.aMule
    logfile=$(su -l $AMULEUSER -c "echo ~")/.aMule/amuled.log
    lockfile=$(su -l $AMULEUSER -c "echo ~")/.aMule/muleLock
    
    PID=`pidof -o %PPID /usr/bin/amuled`
    
    [ -f $logfile ] && rm -f $logfile
    
    case "$1" in
        start)
            stat_busy "Starting aMule"
    	
    	if [ -f $lockfile ]
    	then
    		stat_fail
    		echo "Unable to run aMule, it is already running. If you're sure aMule is not already running, you can remove ${lockfile}."
    		exit 2
    	fi
    	
    	[ ! -d $confdir ] && su -l $AMULEUSER  -c "mkdir -p $confdir"
    
    	[ -z "$PID" ] && su -l $AMULEUSER -c "/usr/bin/amuled -o &> $logfile &"
    	
    	i=0
    
    	while [ "$i" -lt 20 ]
    	do
    		if [ ! -z "$(grep "No other instances are running." $logfile)" ]
    		then
    			add_daemon amule
    			stat_done
    			exit 0
    		elif [ ! -z "$(grep "There seems to be an instance of aMule already running" $logfile)" ]
    		then
    			stat_fail
    			exit 2
    		else
    			i="$(($i+1))"
    		fi
    	sleep 1
    	done
    	stat_fail
            ;;
        stop)
            stat_busy "Stopping aMule"
    	if [ -f $lockfile ]
    	then
    		[ ! -z "$PID" ]  && kill $PID &> /dev/null
    	else
    		stat_fail
    		echo "Unable to stop aMule. It is not running."
    		exit 2
    	fi
            if [ $? -gt 0 ]; then
                stat_fail
            else
                rm_daemon amule
                stat_done
            fi
            ;;
        restart)
            $0 stop
    	sleep 1
            $0 start
            ;;
        *)
            echo "usage: $0 {start|stop|restart}"
    	;;
    esac
    exit 0


    Η γραμμή που θες είναι αυτή:

    Κώδικας:
    	[ -z "$PID" ] && su -l $AMULEUSER -c "/usr/bin/amuled -o &> $logfile &"
    Αυτό που κάνει κατά σειρά είναι:

    - να πάρει το process identifier και να το αποθηκεύσει σε μία μεταβλητή (για να μπορείς μετά να σταματήσεις τον δαίμονα)

    - να τρέξει το εκτελέσιμο με συγκεκριμένα switch-άκια και με συγκεκριμένο περιορισμένο χρήστη -> δρομολογώντας το output της κονσόλας σε ένα log αρχείο
    Επιτέλους το ελάχιστο δυνατό, ευέλικτο, και ψηφιακό κράτος. Με διαρκή αξιολόγηση.

  5. #5
    Το avatar του μέλους AddictedToChaos
    AddictedToChaos Guest
    Α πολύ ωραία τότε. Θα προσπαθήσω να φέρω το script αυτό στα μέτρα του azureus.

    Ελπίζω να 'χει το ίδιο αποτέλεσμα. Θα δώσω feedback μόλις τελειώσω.

    ........Auto merged post: AddictedToChaos added 51 Minutes and 53 Seconds later........

    Λοιπόν. Το έφτιαξα αλλά μου πετάει το μήνυμα "Unable to run Azureus. You must set the user in bla bla".

    Τι μεταβλητή χρειάζεται για να τον ορίσω;

    ........Auto merged post: AddictedToChaos added 6 Minutes and 17 Seconds later........

    Άκυρο. Βρήκα πως στον οδηγό σου για το mldonkey
    Τελευταία επεξεργασία από το μέλος AddictedToChaos : 16-02-08 στις 17:12. Αιτία: auto merged post

  6. #6
    Εγγραφή
    02-11-2003
    Περιοχή
    Επαναπατρισθείς στην Αθήνα
    Ηλικία
    49
    Μηνύματα
    56.427
    Downloads
    64
    Uploads
    73
    Τύπος
    VDSL2
    Ταχύτητα
    102400/10240
    ISP
    Vodafone
    Path Level
    Fastpath
    Παράθεση Αρχικό μήνυμα από AddictedToChaos Εμφάνιση μηνυμάτων
    Άκυρο. Βρήκα πως στον οδηγό σου για το mldonkey
    Το κομμάτι του σκριπτ που "τραβά" τον user που ορίζεις από ένα conf αρχείο, το είχα πάρει από το σκριπτάκι του πακέτου Arch για το mldonkey.
    Επιτέλους το ελάχιστο δυνατό, ευέλικτο, και ψηφιακό κράτος. Με διαρκή αξιολόγηση.

  7. #7
    Εγγραφή
    26-04-2006
    Περιοχή
    /halkidiki/ormylia
    Ηλικία
    33
    Μηνύματα
    6.606
    Downloads
    35
    Uploads
    2
    Τύπος
    VDSL2
    Ταχύτητα
    25/5
    ISP
    Cosmote
    DSLAM
    ΟΤΕ - ΟΡΜΥΛΙΑ
    Router
    mTik hAP aC²
    SNR / Attn
    (dB) / 22(dB)
    Path Level
    Fastpath
    Προσπαθώ να κάνω κάτι στο iPhone μου, απλά δεν μου βγαίνει το bash script.

    Δίνω:
    Κώδικας:
    /bin/ln -fns /System/Library/Carrier Bundles/Cosmote_Greece.bundle /System/Library/Carrier Bundles/20201
    Και παίρνω:
    Κώδικας:
    ln: Bundles/20201: No such file or directory
    Κάνω κάποιο λάθος; Το μόνο που θέλω είναι να κάνω ένα symlink.
    Τελευταία επεξεργασία από το μέλος RyDeR : 16-02-08 στις 20:24.

  8. #8
    Το avatar του μέλους AddictedToChaos
    AddictedToChaos Guest
    Παράθεση Αρχικό μήνυμα από WAntilles Εμφάνιση μηνυμάτων
    Το κομμάτι του σκριπτ που "τραβά" τον user που ορίζεις από ένα conf αρχείο, το είχα πάρει από το σκριπτάκι του πακέτου Arch για το mldonkey.
    I see

    Πάντως μου έβγαλε την ψυχή κι ακόμα άκρη δεν έβγαλα.

    Στην πορεία βρήκα κι ένα script-άκι για την ίδια δουλειά στο wiki του azureus αλλά ούτε κι εκείνο δούλεψε, παρόλο που ήταν πιο απλουστευμένο.

    Αυτό εδώ:

    Spoiler:
    Κώδικας:
    #! /bin/sh
     
     #The user that will run Azureus
     AZ_USER=azureus
     
     #Name of the screen-session
     NAME=azureus_screen
     
     #executable files in the following paths that are perhaps needed by the script
     PATH=/bin:/usr/bin:/sbin:/usr/sbin:/home/azureus/bin
     
     #your path to the azureus directory, where Azureus2.jar is located
     DIR=/home/azureuser/azureus
     
     #Description
     DESC="Azureus screen daemon"
     
     case "$1" in
     start)
        if [[ `su $AZ_USER -c "screen -ls |grep $NAME"` ]]
           then
           echo "Azureus is already running!"
        else
           echo "Starting $DESC: $NAME"
           su $AZ_USER -c "cd $DIR; screen -dmS $NAME java -jar ./Azureus2.jar --ui=console"
        fi
        ;;
     stop)
        if [[ `su $AZ_USER -c "screen -ls |grep $NAME"` ]]
           then
           echo -n "Stopping $DESC: $NAME"
           su $AZ_USER -c "screen -X quit"
           echo " ... done."
        else
           echo "Coulnd't find a running $DESC"
        fi
        ;;
     restart)
        if [[ `su $AZ_USER -c "screen -ls |grep $NAME"` ]]
            then
           echo -n "Stopping $DESC: $NAME"
           su $AZ_USER -c "screen -X quit"
           echo " ... done."
        else
           echo "Coulnd't find a running $DESC"
        fi
        echo "Starting $DESC: $NAME"
           su $AZ_USER -c "cd $DIR; screen -dmS $NAME java -jar ./Azureus2.jar --ui=console"
        echo " ... done."
        ;;
     status)
        if [[ `su $AZ_USER -c "screen -ls |grep $NAME"` ]]
           then
           echo "Azureus is RUNNING"
        else
           echo "Azureus is DOWN"
        fi
        ;;
     *)
        echo "Usage: $0 {start|stop|status|restart}"
        exit 1
        ;;
     esac
     
     exit 0



    Τι σκ@τ@ παίζει, ιδέα δεν έχω. Κάπου σκαλώνει το πράγμα και δεν μπορώ να το εντοπίσω

  9. #9
    Εγγραφή
    02-11-2003
    Περιοχή
    Επαναπατρισθείς στην Αθήνα
    Ηλικία
    49
    Μηνύματα
    56.427
    Downloads
    64
    Uploads
    73
    Τύπος
    VDSL2
    Ταχύτητα
    102400/10240
    ISP
    Vodafone
    Path Level
    Fastpath
    Παράθεση Αρχικό μήνυμα από AddictedToChaos Εμφάνιση μηνυμάτων
    Πάντως μου έβγαλε την ψυχή κι ακόμα άκρη δεν έβγαλα.

    Τι σκ@τ@ παίζει, ιδέα δεν έχω. Κάπου σκαλώνει το πράγμα και δεν μπορώ να το εντοπίσω
    Κι εγώ όταν έφτιαχνα του amule-remote-cvs, είχε πέσει πολύ trial & error.

    Σε ποιό σημείο κολλάς;
    Επιτέλους το ελάχιστο δυνατό, ευέλικτο, και ψηφιακό κράτος. Με διαρκή αξιολόγηση.

  10. #10
    Εγγραφή
    20-06-2007
    Περιοχή
    Chicago, Illinois
    Ηλικία
    32
    Μηνύματα
    30.621
    Downloads
    96
    Uploads
    25
    Άρθρα
    14
    Τύπος
    FTTH
    Ταχύτητα
    1 Gbps
    ISP
    Nova
    Παράθεση Αρχικό μήνυμα από RyDeR Εμφάνιση μηνυμάτων
    Προσπαθώ να κάνω κάτι στο iPhone μου, απλά δεν μου βγαίνει το bash script.

    Δίνω:
    Κώδικας:
    /bin/ln -fns /System/Library/Carrier Bundles/Cosmote_Greece.bundle /System/Library/Carrier Bundles/20201
    Και παίρνω:
    Κώδικας:
    ln: Bundles/20201: No such file or directory
    Κάνω κάποιο λάθος; Το μόνο που θέλω είναι να κάνω ένα symlink.
    Eίσαι σίγουρος ότι υπαρχει αυτό το αρχείο/φακελος στον φακελο bundles ?
    Dies, died, will die.
    Lived, lives, will live.

  11. #11
    Εγγραφή
    26-04-2006
    Περιοχή
    /halkidiki/ormylia
    Ηλικία
    33
    Μηνύματα
    6.606
    Downloads
    35
    Uploads
    2
    Τύπος
    VDSL2
    Ταχύτητα
    25/5
    ISP
    Cosmote
    DSLAM
    ΟΤΕ - ΟΡΜΥΛΙΑ
    Router
    mTik hAP aC²
    SNR / Attn
    (dB) / 22(dB)
    Path Level
    Fastpath
    Παράθεση Αρχικό μήνυμα από flamelab Εμφάνιση μηνυμάτων
    Eίσαι σίγουρος ότι υπαρχει αυτό το αρχείο/φακελος στον φακελο bundles ?
    Ναι, βασικά δεν είναι αρχείο - θέλω να κάνω ένα symlink. Τελικώς το έφτιαξα εκτελώντας την εντολή ως εξής:

    Κώδικας:
    /bin/ln -fns '/System/Library/Carrier Bundles/Cosmote_Greece.bundle' '/System/Library/Carrier Bundles/20201'
    Τελευταία επεξεργασία από το μέλος RyDeR : 16-02-08 στις 21:03.

  12. #12
    Το avatar του μέλους pcman
    pcman Guest
    Παράθεση Αρχικό μήνυμα από RyDeR Εμφάνιση μηνυμάτων
    Προσπαθώ να κάνω κάτι στο iPhone μου, απλά δεν μου βγαίνει το bash script.

    Δίνω:
    Κώδικας:
    /bin/ln -fns /System/Library/Carrier Bundles/Cosmote_Greece.bundle /System/Library/Carrier Bundles/20201
    Και παίρνω:
    Κώδικας:
    ln: Bundles/20201: No such file or directory
    Κάνω κάποιο λάθος; Το μόνο που θέλω είναι να κάνω ένα symlink.
    Έχεις ξεχάσει 2 ανάποδες καθέτους (\), μία στο καθένα απ' τα 2 "Carrier Bundles". Η εντολή σου πρέπει νά 'ναι έτσι:

    Κώδικας:
    ln -fns /System/Library/Carrier\ Bundles/Cosmote_Greece.bundle /System/Library/Carrier\ Bundles/20201
    (το "/bin/" μπροστά από την εντολή "ln" δεν χρειάζεται, γιατί είναι binary αρχείο και περιέχεται στον κατάλογο "/bin")

  13. #13
    Το avatar του μέλους AddictedToChaos
    AddictedToChaos Guest
    Παράθεση Αρχικό μήνυμα από WAntilles Εμφάνιση μηνυμάτων
    Κι εγώ όταν έφτιαχνα του amule-remote-cvs, είχε πέσει πολύ trial & error.

    Σε ποιό σημείο κολλάς;
    Δεν εκκινεί το azureus καν.

    Ακόμα κι αν μετέτρεψα τις μεταβλητές σε σταθερές αξίες, πχ το username του χρήστη, τα dirs κλπ, πάλι τίποτα.

    Κάπου θα υπάρχει λάθος στις εντολές. Θα προσπαθήσω να το απλοποιήσω όσο γίνεται μπας και στρώσει.

    Μπορεί να "παίξω" και με μερικά aliases για ακόμη μεγαλύτερη απλούστευση.

  14. #14
    Εγγραφή
    26-04-2006
    Περιοχή
    /halkidiki/ormylia
    Ηλικία
    33
    Μηνύματα
    6.606
    Downloads
    35
    Uploads
    2
    Τύπος
    VDSL2
    Ταχύτητα
    25/5
    ISP
    Cosmote
    DSLAM
    ΟΤΕ - ΟΡΜΥΛΙΑ
    Router
    mTik hAP aC²
    SNR / Attn
    (dB) / 22(dB)
    Path Level
    Fastpath
    Να πω όλη την ιστορία.

    Έχω ένα .sh που εκτελείται όταν θέλω. Να το script (φτιαγμένο όπως είπε ο pcman):

    Κώδικας:
    #!/bin/sh
    
    ln -fns /System/Library/Carrier\ Bundles/Cosmote_Greece.bundle /System/Library/Carrier\ Bundles/20201
    ln -fns /System/Library/Carrier\ Bundles/Vodafone_Greece.bundle /System/Library/Carrier\ Bundles/20205
    ln -fns /System/Library/Carrier\ Bundles/WIND_Greece.bundle /System/Library/Carrier\ Bundles/20210
    chmod 0755 /System/Library/Carrier\ Bundles/Cosmote_Greece.bundle
    chmod 0755 /System/Library/Carrier\ Bundles/Vodafone_Greece.bundle
    chmod 0755 /System/Library/Carrier\ Bundles/WIND_Greece.bundle
    chmod 0644 /System/Library/Carrier\ Bundles/Cosmote_Greece.bundle/*
    chmod 0644 /System/Library/Carrier\ Bundles/Vodafone_Greece.bundle/*
    chmod 0644 /System/Library/Carrier\ Bundles/WIND_Greece.bundle/*
    Το πρόβλημα είναι, οτι το chmod δεν γίνεται, δεν αλλάζουν τα permissions και τα symlinks φαίνονται σε terminal με ένα "?" στο τέλος π.χ. "20205?" και στο WinSCP όπως παρακάτω:
    Πατήστε στην εικόνα για να τη δείτε σε μεγέθυνση. 

Όνομα:  Snap2.jpg 
Εμφανίσεις:  96 
Μέγεθος:  3,0 KB 
ID: 30534

    Αν εκτελέσω όλες τις εντολές του script μία-μία σε ένα terminal γίνονται όλα όπως πρέπει.

    Αν εκτελέσω το script μέσω terminal παίρνω το εξής:
    Κώδικας:
    # /bin/sh /tmp/install.sh
    /tmp/install.sh:2: command not found: ^M
    : No such file or directoryier Bundles/Cosmote_Greece.bundle
    : No such file or directoryier Bundles/Vodafone_Greece.bundle
    : No such file or directoryier Bundles/WIND_Greece.bundle
    : No such file or directoryier Bundles/Cosmote_Greece.bundle/*
    : No such file or directoryier Bundles/Vodafone_Greece.bundle/*
    Τι μπορεί να συμβαίνει;

    Υ.Γ.:Το scipt το εκτελώ με την εντολή:
    Κώδικας:
    /bin/sh /tmp/install.sh
    Τελευταία επεξεργασία από το μέλος RyDeR : 16-02-08 στις 22:08.

  15. #15
    Εγγραφή
    20-06-2007
    Περιοχή
    Chicago, Illinois
    Ηλικία
    32
    Μηνύματα
    30.621
    Downloads
    96
    Uploads
    25
    Άρθρα
    14
    Τύπος
    FTTH
    Ταχύτητα
    1 Gbps
    ISP
    Nova
    Είσαι su ?Είσαι σκετος χρήστης ?

    Νομίζω ότι δεν χρειαζεται να καλείς το ln συνεχεια με dir , ότι ανήκει στο /bin , σε ότι βασιζεται σε unixoειδές , καλείται απλά .
    Dies, died, will die.
    Lived, lives, will live.

Σελ. 1 από 3 123 ΤελευταίαΤελευταία

Παρόμοια Θέματα

  1. Μηνύματα: 7
    Τελευταίο Μήνυμα: 18-02-08, 22:58
  2. Bash Script help (Αρχάριος)
    Από weakwire στο φόρουμ Unix - Linux
    Μηνύματα: 12
    Τελευταίο Μήνυμα: 08-05-07, 00:41
  3. Μια μικρή βοήθεια για ένα addBookmark script;
    Από odd στο φόρουμ Hardware Γενικά
    Μηνύματα: 7
    Τελευταίο Μήνυμα: 23-11-04, 22:16
  4. Κάτι απλό αλλά γιά ένα άσχετο....
    Από mind_warrior στο φόρουμ Networking
    Μηνύματα: 40
    Τελευταίο Μήνυμα: 19-07-04, 15:14
  5. Ενα απλο.(κουτο) tip για το dc++..
    Από drtequila στο φόρουμ DC++
    Μηνύματα: 0
    Τελευταίο Μήνυμα: 26-02-04, 19:32

Tags για αυτό το Θέμα

Bookmarks

Bookmarks

Δικαιώματα - Επιλογές

  • Δεν μπορείτε να δημοσιεύσετε νέα θέματα
  • Δεν μπορείτε να δημοσιεύσετε νέα μηνύματα
  • Δεν μπορείτε να αναρτήσετε συνημμένα
  • Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας
  •  
  • Τα BB code είναι σε λειτουργία
  • Τα Smilies είναι σε λειτουργία
  • Το [IMG] είναι σε λειτουργία
  • Το [VIDEO] είναι σε λειτουργία
  • Το HTML είναι εκτός λειτουργίας