Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

25.05.2008, 12:12

Kompilieren nach Fahrplan oder eine bestimmte zeit kompilieren lassen

Gentoo Linux bestimmte Zeit Updaten lassen.

Da ich mir grad Gentoo installiere und im moment hald die kompilierungszeiten
noch ziemlich lange sind (Xorg, kde, ...) wollt ich das möglichst in der nacht bzw
wenn niemand zuhause ist und den PC braucht durchführen .

Dazu hab ich jetzt mal 2 Fragen:
1) Kann ich irgendwie emerge sagen das nach beendigung des kompilierens den PC runterfährt ?
(muss hald vorher den Output in ne Datei umleiten)
Am besten wäre es gleich wenn er mir dann nicht nur emerge sondern auch gleich dispatch-conf (immer mit neuestes config file nutzen) ausführt und revdep-rebuilt und erst dann halt macht.

2) Außerdem würd ich ihm gerne eine bestimmte Zeit vorgeben (entweder als Zeitpunkt oder Countdown) können
die er arbeiten soll und dann, auch wenn er noch nicht komplett fertig ist den vorgang abbrechen und herunterfahren.

Beides gleichzeitig, also je nachdem was früher eintritt wäre am besten ...
Ist das möglich ?
wenn ja wie ?
wäre echt toll!

2

25.05.2008, 14:11

Als für 1. fällt mir ein Script ein ...

Quellcode

1
2
3
emerge -DvuN >Ausgabe.txt 2>&1
revdep-rebuild
halt

Dieses zu einem zeitpunkt X vom Rechner staten lassen düfte Unix-Basics sein ;o)
(Stichwort Cron-Job, oder AT-Kommando)

Nur für 2. kann ich Dir nichts sagen ....

ein kurzes Brainstorming meinerseits würde ergeben:

Ein Cronjob bauen, der zum Zeitpunkt x den emerge-prozss killt und den Rechner per halt runterfährt....... müstest Dir aber selber bauen ;o)

Ich persöhnlich würde allerdings eher die Priorität (nice-Level) von emerge senken und es dann nebenbei laufen lassen....
So läuft es auch duch, wenn der rechnr "wenig tuht"
Meine Rechtschreibfehler sind gewollt und unterliegen dem Copyright des Verfassers, es sei denn, sie sind explizit unter die GPL gestellt .....

Außerdem sind sie ein Ausdruck der Persönlichkeit des Schreibers!

3

25.05.2008, 15:17

Zu 1) als befehl

Quellcode

1
emerge --update --deep --newuse world ; shutdown -h 0


zu 2)

Befehl fährt den Rechner um 1 Uhr morgens runter dabei wird er auch dein update canceln << nicht die sauberste Methode aber es ist eine!

Quellcode

1
shutdown -h 01:00 &  emerge --update --deep --newuse world


Edit:
@cyrix1983
Ich habe mal deine Befehle in Code tags gesetzt.
josef.95

Edit:
@josef.95
Danke, hast du schön gemacht :)
cyrix1983
Phenom X4 9550
Gigabyte GA-MA770-UD3
Gentoo 64 Bit Stable
8 GB Ram
Audigy 2 Zs
Geforce 9800 GTX
VDR
Hauppauge Nexus-S Rev 2.2 + 2.1

Lenovo G550 T4300
Gentoo 64 Bit Stable
4 GB Ram

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »cyrix1983« (26.05.2008, 15:22)


4

26.05.2008, 09:35

OT:

Ist "halt" nicht ein synonym für "shutdown -h now" bzw. "shotdown -h 0"?
Meine Rechtschreibfehler sind gewollt und unterliegen dem Copyright des Verfassers, es sei denn, sie sind explizit unter die GPL gestellt .....

Außerdem sind sie ein Ausdruck der Persönlichkeit des Schreibers!

5

27.05.2008, 06:07

ich benutz immer init 0 .... ???

Und kann man dann nicht einfach die beiden Befehle so kombinieren?

Quellcode

1
shutdown -h 05:00 &  emerge --update --deep --newuse world ; shutdown -h 0



Für auf jeden Fall um 5 Uhr runterfahren und falls das Update früher fertig ist eben schon früher...

Quellcode

1
2
date ; unzip | port ; touch | head ; strip | top ; finger socket ; 
grep ; mount | tail ; gasp < yes & yes ; umount ; sleep

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »würmchen« (27.05.2008, 06:13)


6

27.05.2008, 06:38

shutdown -h 05:00 & emerge --update --deep --newuse world ; shutdown -h 0


Du müsstest da noch ein killal einbauen da er dir nehmen wir an das update ist um 3 uhr fertig wird er versuchen shutdown -h 0 auszufürhen und mit der meldung abbrechen das ein shutdown befehl bereits läuft somit fährt er erst um 5 uhr runter

Quellcode

1
shutdown -h 05:00 &  emerge --update --deep --newuse world ; kilall -9 shutdown ; shutdown -h 0
Phenom X4 9550
Gigabyte GA-MA770-UD3
Gentoo 64 Bit Stable
8 GB Ram
Audigy 2 Zs
Geforce 9800 GTX
VDR
Hauppauge Nexus-S Rev 2.2 + 2.1

Lenovo G550 T4300
Gentoo 64 Bit Stable
4 GB Ram

7

27.05.2008, 09:42

Zitat


Ich persöhnlich würde allerdings eher die Priorität (nice-Level) von emerge senken und es dann nebenbei laufen lassen....

Naja soll aber eben herunterfahren ....

Zitat


Befehl fährt den Rechner um 1 Uhr morgens runter dabei wird er auch dein update canceln << nicht die sauberste Methode aber es ist eine!

Hmm gibts denn auch sauberere? am schönsten wärs ja vl wenn das momentane packet fertig kompiliert wird und dann herunter gefahren wird.

Aber vl kann man sich ja ein Shell-Script bauen, das zuerst mit emerge -vuND -p herausfindet welche Packete zu instalieren sind,
sie in ein Array packt und dann eines nach dem anderen emerged und dazwischen die Zeit überprüft.
Wobei ich da wieder paar Probleme sehe
1 das auslesen welche Packete installiert werden müssen würde regExp brauchen, muss ich noch lernen.
2 wer sagt nicht, das ich durch das "einzelne" nicht auchirgendwie per dependecy gleich wieder mehr in den emerge prozess reinziehe.
3 wenn ich dann grad noch ein Megapaket (was in die richtung wie OOo) kompilier kurz bevor die Zeit abläuft. dann rennts erst wieder länger als es soll.
(da könnte man aber denke ich einfach 2 Zeitlimits reinmachen, also eine auf die er nach jedem Packet schaut, und eines welche dann brutal abbricht)

sieht wer eine ander lösung oder hat ne bessere Idee ?


Aja noch ein Frage, gibts irgendwie ein Möglichkeit zu erfahren welche USE Flags ich für ein Programm setzten kann ?
Also wenn ich jetzt Thunderbird installieren will, dass ich sehe welche Flags ich in meine USE Var schreiben kann um das auch nur irgendwie zu beeinflussen.

8

27.05.2008, 09:51

Also wegen deinen use Flags!

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
AMD3700# emerge -pv mozilla-thunderbird

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N    ] dev-libs/nspr-4.6.8  USE="ipv6 -debug" 1,283 kB
[ebuild  N    ] x11-apps/xdpyinfo-1.0.2  USE="xinerama -debug -dga -dmx" 98 kB
[ebuild  N    ] dev-libs/libIDL-0.8.10  USE="-debug" 364 kB
[ebuild  N    ] www-client/mozilla-launcher-1.58  7 kB
[ebuild  N    ] dev-libs/nss-3.11.9  USE="-utils" 3,673 kB
####################################################################################################################################################
[ebuild  N    ] mail-client/mozilla-thunderbird-2.0.0.14  
USE="bindist crypt ipv6 ldap xinerama xprint -debug -gnome -mozdom -moznopango -replytolist" LINGUAS="de -af -be -bg -ca -cs -da -el -en -en_GB -en_US -es -es_AR -es_ES -eu -fi -fr -ga -ga_IE -he -hu -it -ja -ko -lt -mk -nb -nb_NO -nl -nn -nn_NO -pa -pa_IN -pl -pt -pt_BR -pt_PT -ru -sk -sl -sv -sv_SE -tr -uk -zh -zh_CN -zh_TW" 36,780 kB
####################################################################################################################################################
[ebuild  N    ] x11-plugins/enigmail-0.95.6-r3  LINGUAS="de -ca -cs -el -es -es_ES -fi -fr -hu -it -ja -ko -nb -nb_NO -pl -pt -pt_BR -ro -ru -sl -sv -tr -zh -zh_CN" 1,188 kB

Total: 7 packages (7 new), Size of downloads: 43,389 kB
AMD3700#


Oben stehen alle theoretischen useflags!
Phenom X4 9550
Gigabyte GA-MA770-UD3
Gentoo 64 Bit Stable
8 GB Ram
Audigy 2 Zs
Geforce 9800 GTX
VDR
Hauppauge Nexus-S Rev 2.2 + 2.1

Lenovo G550 T4300
Gentoo 64 Bit Stable
4 GB Ram

9

27.05.2008, 10:24

Aber vl kann man sich ja ein Shell-Script bauen, das zuerst mit emerge -vuND -p herausfindet welche Packete zu instalieren sind,
sie in ein Array packt und dann eines nach dem anderen emerged und dazwischen die Zeit überprüft.
Wobei ich da wieder paar Probleme sehe ...

Das ist Linux (~UNIX). Wenn du eine Shell hast, kannst du ALLES. "Gibt's nicht!" gibt's nicht!

Zitat

1 das auslesen welche Packete installiert werden müssen würde regExp brauchen, muss ich noch lernen.
2 wer sagt nicht, das ich durch das "einzelne" nicht auchirgendwie per dependecy gleich wieder mehr in den emerge prozess reinziehe.


emerge -pvuDN world ist schon mal ein Ansatz. Dann noch ein "cut" mit den nötigen params. In /var/lib/portage/world findest du deine top-level packages. Alles was dort *nicht* drin steht ist eine Dependency (mal von system abgesehen).

Zitat

3 wenn ich dann grad noch ein Megapaket (was in die richtung wie OOo) kompilier kurz bevor die Zeit abläuft. dann rennts erst wieder länger als es soll.
(da könnte man aber denke ich einfach 2 Zeitlimits reinmachen, also eine auf die er nach jedem Packet schaut, und eines welche dann brutal abbricht)


Sofern du die Pakete schon mal installiert hast, sagt dir app-portage/genlop in etwa wie lange einzelne Pakete auf deinem Rechner zum Bauen benötigen.

Zitat

Aja noch ein Frage, gibts irgendwie ein Möglichkeit zu erfahren welche USE Flags ich für ein Programm setzten kann ?
Also wenn ich jetzt Thunderbird installieren will, dass ich sehe welche Flags ich in meine USE Var schreiben kann um das auch nur irgendwie zu beeinflussen.


Da gibt es bsp.:
* equery uses ...
* app-portage/eix
* app-portage/esearch

Cool sind auch die app-portage/portage-utils.

Ich selbst bevorzuge eix und die portage-utils. Aber jeder nach seiner Fason ...
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

10

29.05.2008, 15:02

Hi,

wegen deiner Frage zu den USE Flags:

Hast du schonmal das Programm Profuse ausprobiert?
einfach emerge profuse
Ist ein ganz nettes Tool mit dem du USE Flags finden und aktivieren kannst.

11

02.06.2008, 18:06

Danke mal für die Antwort,
Werd heute abend wieder dazu kommen an Gentoo weiter zu schrauben.
Werd mal anschauen, ob ich mir regexp beibringen kann, um das world-file zu untersuchen ....

Aja wie kann ich mit der Shell einen befehl aufrufen, der nacher noch ne Abfrage bereit hällt aller Yes/No?

* equery uses ...
* app-portage/eix
* app-portage/esearch
Profuse

werd ich mir dann mal ansehen

12

02.06.2008, 18:26

Quellcode

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
#!/bin/sh

ANSWER=
while [ -z ${ANSWER} ]; do

    echo -n "Kannst du das lesen (yes|no) [yes]? "
    read ANSWER
    
    if [ -z ${ANSWER} ]; then
        ANSWER="yes"
    fi
    
    case ${ANSWER} in
    
    y|yes|Y|YES)
        ANSWER="yes"
        break
        ;;
        
    n|no|N|NO)
        ANSWER="no"
        break
        ;;
        
    *)
        echo "Versteh ich nicht"
        ANSWER=
        ;;
        
    esac
    
done
    
echo "Du hast gesagt: ${ANSWER}"


... sollte dir alles zeigen, wie man das so in der Shell machen könnte.

edit: das verpackt man aber dann in eine bequeme function ...
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

13

02.06.2008, 20:04

Darüber war letztens auch was in der c't gestanden. Wie man sowas mit dialog und deren GUI Anwendungen bequem machen kann.
"Erst nachdem wir alles verloren haben, haben wir die Freiheit, alles zu tun."
"It's only after we've lost everything, that we're free to do anything!"

Jabber: Die ID kann via PN erfragt werden.