READ ONLY FORUM: m23 :: makes software distribution easy Forum Index READ ONLY FORUM: m23 :: makes software distribution easy
The m23 discussion forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

client integirieren und pakete installieren
Goto page Previous  1, 2, 3  Next
 
Post new topic   Reply to topic    READ ONLY FORUM: m23 :: makes software distribution easy Forum Index -> Problems with the server / Serverprobleme
View previous topic :: View next topic  
Author Message
dermartn



Joined: 11 Dec 2006
Posts: 19

PostPosted: Tue Mar 06, 2007 11:31    Post subject: Reply with quote

nein, es werden keine hardware infos in die datenbank eingetragen und die paketsuche etc. funktionieren auch nicht bzw. geben kein ergbnis.

edit:
ja, es sind immer noch die 4 integrationsaufträge angezeigt (status: waiting).
Back to top
View user's profile Send private message
Hauke



Joined: 02 Mar 2003
Posts: 1072

PostPosted: Tue Mar 06, 2007 12:01    Post subject: Reply with quote

Wie schaut es mit der work.php mit <br> aus?
_________________
Hauke Goos-Habermann
- project leader m23 (http://m23.sf.net) -
Jabber: dodgerm23@jabber.org

Schulung, Entwicklung und Support zu m23 und anderen OpenSource-Produkten: www.goos-habermann.de

Auch DU kannst etwas gegen Softwarepatente tun! www.patentfrei.de
Back to top
View user's profile Send private message Send e-mail Visit poster's website
dermartn



Joined: 11 Dec 2006
Posts: 19

PostPosted: Tue Mar 06, 2007 12:10    Post subject: Reply with quote

das ist die aktuelle work.php die der client bekommt:

Code:


   export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11

   export DEBIAN_FRONTEND=noninteractive
   
   
userGroup=`find /etc/apt/sources.list -printf 'chown %u.%g /etc/apt/sources.list'`
perm=`find /etc/apt/sources.list -printf 'chmod %m /etc/apt/sources.list'`


if test `awk -v RS='pheeSheiso2sieseegaxeekeitoongei' -v SEARCH="m23.sourceforge.net" '
BEGIN { FOUND=0;}
{if (index($0, SEARCH) > 0) { FOUND++; }}
END {print(FOUND);}
' /etc/apt/sources.list` -lt 1
then
cat >> /etc/apt/sources.list << "ADDIFNOTEXISTSEOF"
deb http://m23.sourceforge.net/m23debs/ ./
ADDIFNOTEXISTSEOF
fi

mv /etc/apt/sources.list#m23 /etc/apt/sources.list

$userGroup
$perm

   apt-get update
   
   apt-get -y --force-yes install wget screen sed ssh parted gawk hwsetup hwdata-knoppix m23hwscanner dmidecode

#copy wait4go   
cp /bin/wait4go /mnt/root/bin/

#fetch fsize
wget -q http://192.168.11.119/distr/debian/fsize -O /usr/bin/fsize >> /tmp/m23ClientInstall.log
chmod +x /usr/bin/fsize

cp /bin/checkdisklabel /bin/dmidecode /mnt/root/bin


rm /m23clientID 2> /dev/null
cat >> /m23clientID << "m23clientIDEOF"
319
m23clientIDEOF
<br />
<b>Warning</b>:  fopen(/m23/data+scripts/packages/baseSys/ca.hash) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory in <b>/m23/cvs/inc/distr/debian/clientConfigCommon.php</b> on line <b>1235</b><br />
<br />
<b>Warning</b>:  fgets(): supplied argument is not a valid stream resource in <b>/m23/cvs/inc/distr/debian/clientConfigCommon.php</b> on line <b>1236</b><br />
<br />
<b>Warning</b>:  fclose(): supplied argument is not a valid stream resource in <b>/m23/cvs/inc/distr/debian/clientConfigCommon.php</b> on line <b>1237</b><br />


mkdir -p /etc/ssl/certs
mkdir -p /usr/lib/ssl

ln -s /etc/ssl/certs /usr/lib/ssl

wget -O/etc/ssl/certs/.0 "https://192.168.11.119/packages/baseSys/ca.crt"
if test $? -gt 0
then
wget --no-check-certificate -O/etc/ssl/certs/.0 "https://192.168.11.119/packages/baseSys/ca.crt"
fi

chmod -R 755 /etc/ssl/certs /usr/lib/ssl/certs
chown -R root /etc/ssl/certs /usr/lib/ssl/certs
chgrp -R root /etc/ssl/certs /usr/lib/ssl/certs




mkdir -p /root/.ssh
chmod 700 /root/.ssh

wget -qq -O/root/.ssh/authorized_keys "https://192.168.11.119/packages/baseSys/authorized_keys"

chmod 700 /root/.ssh/authorized_keys
chown root /root/.ssh/authorized_keys
chgrp root /root/.ssh/authorized_keys




echo "m23fetchjob 192.168.11.119 " > /etc/init.d/m23fetchjob

rm /etc/rcS.d/S42m23fetchjob
ln -s ../init.d/m23fetchjob /etc/rcS.d/S42m23fetchjob
chmod +x /etc/init.d/m23fetchjob

rm /sbin/m23fetchjob

cat >> /sbin/m23fetchjob << "MFJEOF"

export PATH=/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin
cd /tmp
rm work.php*
wget -t2 -w5 https://$1/work.php
chmod +x work.php
./work.php
exit

MFJEOF

chmod 755 /sbin/m23fetchjob




   echo -n "type=clientSettings&id=319&clientname=test3" > /tmp/clientSettings.post
 
   #get DNS servers
   awk -v DNR=1 -v ORS="" '/^nameserver/ {print "&dns"DNR"="$2; DNR++; if (DNR ==2) exit;}' /etc/resolv.conf >> /tmp/clientSettings.post

   #get ip, netmask, network and gateway
   awk -v ORS="" '/address/ {print("&ip="$2)}
   /netmask/ {print("&netmask="$2)}
   /gateway/ {print("&gateway="$2)}
   ' /etc/network/interfaces >> /tmp/clientSettings.post
   
   #get the MAC address
   LANG=C; ifconfig eth0 | tr -s "\t " | awk -v ORS="" '/HWaddr/ {
   for (i=1; i < NF; i++)
   if ($i == "/HWaddr/")
      break;

   gsub(/:/,"",$i);
   $i=tolower($i);
   print ("&mac="$i);
   }' >> /tmp/clientSettings.post

   #get the sources.list
   echo -n "&sourceslist=" >> /tmp/clientSettings.post
   cat /etc/apt/sources.list | sed 's/%/%25/g' | sed 's/"/%22/g' | sed 's/\\\\/%5C/g' | sed 's/&/%26/g' >> /tmp/clientSettings.post

   #check if it's Debian
   if test `ls /etc/debian_version | wc -l` -gt 0
   then
      if test -f /etc/lsb-release
      then
         awk -v ORS='' '/DISTRIB_ID=Ubuntu/ {print("&distr=ubuntu")}' /etc/lsb-release >> /tmp/clientSettings.post
      else
         echo -n "&distr=debian" >> /tmp/clientSettings.post
      fi
   fi

   #get Debian release
   echo -n "&release=" >> /tmp/clientSettings.post
   cut -d'/' -f2 /etc/debian_version | awk -v ORS='' '{print}' >> /tmp/clientSettings.post
   
   #get APT proxy settings
   awk -v FS='"' -v ORS="" '/Acquire::(http|ftp)::Proxy/ {
   gsub("http://","");
   gsub("HTTP://","");
   gsub("ftp://","");
   gsub("FTP://","");
   print("&aptproxy="$2); exit;
   }' /etc/apt/apt.conf.d/70debconf >> /tmp/clientSettings.post

   #get login
   gawk -v FS=":" '(match($0,"/bin/sh") || match($0,"/bin/bash")) && $3 > 100 {print $1"_"$3"_"$4}' /etc/passwd > /tmp/users

   rm /tmp/userAmount 2> /dev/null

   for user in `cat /tmp/users`
   do
      uname=`echo $user | cut -d'_' -f1`
      am=`grep $uname /etc/group | wc -l`
      echo "$am?$user" >> /tmp/userAmount
   done

   echo -n "&login=" >> /tmp/clientSettings.post
   sort -n -r /tmp/userAmount | head -1 | cut -d'?' -f2 >> /tmp/clientSettings.post
   rm /tmp/userAmount /tmp/users 2> /dev/null
   
   #kernel
   dpkg --get-selections | awk -v ORS="" -v FS="\t" 'match($0,"kernel-image")&&!match($0,"deinstall") {print("&kernel="$1); exit}' >> /tmp/clientSettings.post

   #LDAP
   debconf-get-selections | awk -v ORS="" -v FS=" " -v NOBASEDN=1 -v NOLDAPSERVER=1 '
   (match($0,"base-dn") && (match($0,"libnss-ldap") || match($0,"libpam-ldap")) && NOBASEDN) {NOBASEDN=0; gsub("=","%3D"); print("&basedn="$4)}
   (match($0,"ldap-server") && (match($0,"libnss-ldap") || match($0,"libpam-ldap")) && NOLDAPSERVER) {NOLDAPSERVER=0; gsub("=","%3D"); print("&ldapserver="$4)}' >> /tmp/clientSettings.post

   #Desktop
   dpkg --get-selections | awk  -v ORS="" '
   /^kdelibs-data/ {print("&desktop=kde"); DFOUND=1; exit}
   /^gnome-desktop-data/ {print("&desktop=gnome2"); DFOUND=1; exit}
   /xfce/ {print("&desktop=XFce"); DFOUND=1; exit}
   /libx11/ {XFOUND=1}
   END {
      if (XFOUND && !DFOUND)
         print("&desktop=X");
      if (!XFOUND && !DFOUND)
         print("&desktop=Textmode")}' >> /tmp/clientSettings.post

   #install & swap partition
   awk -v ORS="" '
   $2=="/" {print("&instPart="$1)}
   $3=="swap" {print("&swapPart="$1)}
   $2=="/home" {print("&homePart="$1)}
   ' /etc/fstab >> /tmp/clientSettings.post
   
   ls -l /home | tr -s " " | awk -v ORS="" '/\/net\// {gsub("/net/",""); print "&homePart2="$11}' >> /tmp/clientSettings.post

   wget -T5 -t0 --post-file /tmp/clientSettings.post https://192.168.11.119/postMessage.php?m23clientID=319 -O /dev/null
   



id=`cat /m23clientID 2> /dev/null`

if test $id
 then
  idvar="&m23clientID=$id"
fi



wget -qq -O/dev/null "https://192.168.11.119/packages/setStatus.php?id=2886&status=done$idvar"





id=`cat /m23clientID 2> /dev/null`

if test $id
 then
  idvar="&m23clientID=$id"
fi



 wget -qq -O/dev/null "https://192.168.11.119/packages/setClientStatus.php?status=2$idvar"

   
   rm /tmp/*.sh
   
   rm /tmp/*.php


 mv work.php `date +%s`.old
 
 

id=`cat /m23clientID 2> /dev/null`

if test $id
 then
  idvar="?m23clientID=$id"
fi


 
 rm work.php

 
 wget -Owork.php "https://192.168.11.119/work.php$idvar"
 
 chmod +x work.php
 
 ./work.php


mit "disable HTML" sieht man auch alle <br> Wink
Back to top
View user's profile Send private message
Hauke



Joined: 02 Mar 2003
Posts: 1072

PostPosted: Tue Mar 06, 2007 13:06    Post subject: Reply with quote

Geht es, nachdem Du
Code:
/m23/bin/mkCert.sh

ausgeführt hast?
_________________
Hauke Goos-Habermann
- project leader m23 (http://m23.sf.net) -
Jabber: dodgerm23@jabber.org

Schulung, Entwicklung und Support zu m23 und anderen OpenSource-Produkten: www.goos-habermann.de

Auch DU kannst etwas gegen Softwarepatente tun! www.patentfrei.de
Back to top
View user's profile Send private message Send e-mail Visit poster's website
dermartn



Joined: 11 Dec 2006
Posts: 19

PostPosted: Wed Mar 07, 2007 5:20    Post subject: Reply with quote

jetzt bekomme ich hardware informationen. das sieht schonmal sehr gut aus Very Happy
aber bei der paketsuche gibt es immer noch keine ergebnisse!

die integrationsaufträge haben jetzt folgenden status:
m23Presetup done
m23UpdateSourcesList error
m23UpdatePackageInfos error

edit:
nach einer neuen integration, sehe ich jetzt hardware infos, installierte und nicht installierte pakete.
d.h. ich bin fast am ziel Wink

jetzt muss nur noch die installation eines paketes funktionieren, dann is alles okay. aber da gibt es wohl auch noch eine kleine schwierigkeit, aber ich muss erstmal auf fehlersuche gehen.

edit 2:
wenn ich ein paket zum installieren auswähle, dann wird der auftrag erstellt. im Menü unter Pakete -> Installieren wird der Rechner mit den Aufträgen angezeigt. wenn ich dann aber auf installieren klicke, lande ich wieder im "Pakete installieren"-Menü und kann nach Paketen suchen...
Es wird nichts installiert.
Back to top
View user's profile Send private message
dermartn



Joined: 11 Dec 2006
Posts: 19

PostPosted: Wed Mar 07, 2007 10:16    Post subject: Reply with quote

die eigentliche installation wird ja (soweit ich das verstanden habe) von m23fetchjob angestossen. das skript liegt in /etc/init.d.
wenn ich es ausführe, lädt der client aber eine leere work.php herunter, obwohl es zugewiesene aufträge gibt Crying or Very sad

- dermartn
Back to top
View user's profile Send private message
Hauke



Joined: 02 Mar 2003
Posts: 1072

PostPosted: Wed Mar 07, 2007 13:22    Post subject: Reply with quote

dermartn wrote:
wenn ich ein paket zum installieren auswähle, dann wird der auftrag erstellt. im Menü unter Pakete -> Installieren wird der Rechner mit den Aufträgen angezeigt. wenn ich dann aber auf installieren klicke, lande ich wieder im "Pakete installieren"-Menü und kann nach Paketen suchen...

So ist auch die Funktionsweise der Oberfläche gedacht.

Hast Du den Installationsauftrag mit einem Klick auf "Vorgemerkte Pakete installieren" zugewiesen?

Steht der Installationsauftrag in der Liste?

Hat der Client eine statische IP bzw. die, die unter m23 vermerkt ist?

Steht in der Datei /m23clientID auf dem Client die richtige Clientnummer?

dermartn wrote:
die eigentliche installation wird ja (soweit ich das verstanden habe) von m23fetchjob angestossen.

Über m23fetchjob wird beim Booten Kontakt zum Server aufgenommen und ggf. vorliegende Aufträge bezogen. Wenn der Client läuft und einen neuen Auftrag zugewiesen bekommt, stößt der Server die Ausführung per SSH auf dem Client an.
_________________
Hauke Goos-Habermann
- project leader m23 (http://m23.sf.net) -
Jabber: dodgerm23@jabber.org

Schulung, Entwicklung und Support zu m23 und anderen OpenSource-Produkten: www.goos-habermann.de

Auch DU kannst etwas gegen Softwarepatente tun! www.patentfrei.de
Back to top
View user's profile Send private message Send e-mail Visit poster's website
dermartn



Joined: 11 Dec 2006
Posts: 19

PostPosted: Wed Mar 07, 2007 17:42    Post subject: Reply with quote

Quote:
Hast Du den Installationsauftrag mit einem Klick auf "Vorgemerkte Pakete installieren" zugewiesen?

ja, hab ich.
Quote:

Steht der Installationsauftrag in der Liste?

ja, die aufträge stehen in der liste. ist es so gewollt, das nach der installation eines "kleinen" paketes ein reboot bzw. shutdown gemacht wird?
Quote:

Hat der Client eine statische IP bzw. die, die unter m23 vermerkt ist?

ja, die IP stimmt.
Quote:

Steht in der Datei /m23clientID auf dem Client die richtige Clientnummer?

das muss ich nochmal prüfen, ich meine aber ja.
Quote:

Über m23fetchjob wird beim Booten Kontakt zum Server aufgenommen und ggf. vorliegende Aufträge bezogen. Wenn der Client läuft und einen neuen Auftrag zugewiesen bekommt, stößt der Server die Ausführung per SSH auf dem Client an.

das anstoßen des auftrags per ssh scheint noch nicht zu funktionieren. geht das nur wenn am anfang der integration das root passwort gesetzt wurde, oder geht das über ein authorized key, den ich noch einrichten muss bzw. der noch nicht funktioniert?
Back to top
View user's profile Send private message
Hauke



Joined: 02 Mar 2003
Posts: 1072

PostPosted: Wed Mar 07, 2007 21:27    Post subject: Reply with quote

dermartn wrote:
ist es so gewollt, das nach der installation eines "kleinen" paketes ein reboot bzw. shutdown gemacht wird?

Das hat nichts mit der "Größe" der Pakete zu tun. Ist der Client durch den Server nicht per ping erreichbar, so wird der Client als ausgeschaltet angesehen. Nun versucht der Server, den Client per WOL aufzuwecken und schiebt ein Shutown-Paket nach, damit der Client nach dem Installieren wieder herunterfährt.

dermartn wrote:
das anstoßen des auftrags per ssh scheint noch nicht zu funktionieren. geht das nur wenn am anfang der integration das root passwort gesetzt wurde, oder geht das über ein authorized key, den ich noch einrichten muss bzw. der noch nicht funktioniert?

Der Client sollte bei der Integration automatisch den öffentlichen SSH-Shlüssel des Servers nach /root/.ssh/authorized_keys geschrieben bekommen. Funktioniert ein SSH-Zugriff vom Server auf den Client?

Was für eine Debian-Version läuft auf dem zu integrierenden Client?
_________________
Hauke Goos-Habermann
- project leader m23 (http://m23.sf.net) -
Jabber: dodgerm23@jabber.org

Schulung, Entwicklung und Support zu m23 und anderen OpenSource-Produkten: www.goos-habermann.de

Auch DU kannst etwas gegen Softwarepatente tun! www.patentfrei.de
Back to top
View user's profile Send private message Send e-mail Visit poster's website
dermartn



Joined: 11 Dec 2006
Posts: 19

PostPosted: Thu Mar 08, 2007 6:04    Post subject: Reply with quote

ich habe die m23ClientID überprüft. auf dem client ist die selbe, die auf dem server für die IP eingetragen ist. also sollte das stimmen.
Quote:
Der Client sollte bei der Integration automatisch den öffentlichen SSH-Shlüssel des Servers nach /root/.ssh/authorized_keys geschrieben bekommen. Funktioniert ein SSH-Zugriff vom Server auf den Client?

ja, der zugriff funktioniert, auch ohne passwort dank authorized_keys.
Quote:

Was für eine Debian-Version läuft auf dem zu integrierenden Client?

Der Client läuft mit sarge.

aber die vorgemerkten aufträge werden anscheinend nicht per ssh übertragen, und die work.php ist leer, wenn ich sie vom client aus hole.

edit:
da bei den aufträgen auch immer ein m23Shutdown auftrag dabei ist, scheint es mir so, als ob der server den client nicht "sieht". ping und ssh funktionieren aber.
Back to top
View user's profile Send private message
Hauke



Joined: 02 Mar 2003
Posts: 1072

PostPosted: Thu Mar 08, 2007 7:55    Post subject: Reply with quote

dermartn wrote:
da bei den aufträgen auch immer ein m23Shutdown auftrag dabei ist, scheint es mir so, als ob der server den client nicht "sieht". ping und ssh funktionieren aber.

Das ist ja höchst seltsam. Ist vielleicht das falsche "ping" installiert? Was kommt bei
Code:
dpkg --get-selections | grep ping

heraus?

Funktioniert
Code:
wget "<serverIP>/work.php?m23clientID=<clientID>" -O work.php

auf dem Client oder einem anderen Rechner?
_________________
Hauke Goos-Habermann
- project leader m23 (http://m23.sf.net) -
Jabber: dodgerm23@jabber.org

Schulung, Entwicklung und Support zu m23 und anderen OpenSource-Produkten: www.goos-habermann.de

Auch DU kannst etwas gegen Softwarepatente tun! www.patentfrei.de
Back to top
View user's profile Send private message Send e-mail Visit poster's website
dermartn



Joined: 11 Dec 2006
Posts: 19

PostPosted: Thu Mar 08, 2007 8:26    Post subject: Reply with quote

Code:

dpkg --get-selections | grep ping

ergibt auf dem server sowie auf dem client:
Code:

iputils-ping                    install


Code:

wget "<serverIP>/work.php?m23clientID=<clientID>" -O work.php

das funktioniert, das paket wurde installiert und alle befehle wurden ausgeführt Very Happy

also liegt es nur noch am erreichen/erkennen des clients (vom server aus).

edit:
ich hab den ping befehl auch mal so ausgeführt wie er in /m23/inc/db.php steht, das funktioniert wunderbar.
Back to top
View user's profile Send private message
Hauke



Joined: 02 Mar 2003
Posts: 1072

PostPosted: Thu Mar 08, 2007 11:34    Post subject: Reply with quote

Was steht in der Datei /etc/rcS.d/S42m23fetchjob auf dem Client?
_________________
Hauke Goos-Habermann
- project leader m23 (http://m23.sf.net) -
Jabber: dodgerm23@jabber.org

Schulung, Entwicklung und Support zu m23 und anderen OpenSource-Produkten: www.goos-habermann.de

Auch DU kannst etwas gegen Softwarepatente tun! www.patentfrei.de
Back to top
View user's profile Send private message Send e-mail Visit poster's website
dermartn



Joined: 11 Dec 2006
Posts: 19

PostPosted: Thu Mar 08, 2007 11:46    Post subject: Reply with quote

Code:

m23fetchjob 192.168.11.119

die IP ist die des Servers, sollte also richtig sein.
Back to top
View user's profile Send private message
Hauke



Joined: 02 Mar 2003
Posts: 1072

PostPosted: Thu Mar 08, 2007 13:11    Post subject: Reply with quote

Die Datei /sbin/m23fetchjob existiert und ist ausführbar?

Was ist drin?
_________________
Hauke Goos-Habermann
- project leader m23 (http://m23.sf.net) -
Jabber: dodgerm23@jabber.org

Schulung, Entwicklung und Support zu m23 und anderen OpenSource-Produkten: www.goos-habermann.de

Auch DU kannst etwas gegen Softwarepatente tun! www.patentfrei.de
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    READ ONLY FORUM: m23 :: makes software distribution easy Forum Index -> Problems with the server / Serverprobleme All times are GMT - 2 Hours
Goto page Previous  1, 2, 3  Next
Page 2 of 3

 
Jump to:  
You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group