Probleme beim linuxmuster-import-devices

Hallo zusammen,
folgendes Problem habe ich aktuell:
Beim Durchlauf von linuxmuster-import-devices erscheint:

Creating Printers.xml for GPO in /var/lib/sophomorix/gpo/school

/usr/bin/samba-tool gpo listall (and: gpo listcontainers)
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
School default-school: 77 printers found
copy: /var/lib/sophomorix/gpo/school/default-school/Printers.xml
—> /var/lib/samba/sysvol/***********/Policies/{519AC794-F59B-44EF-A485-9636B4B14FA2}/User/Preferences/Printers/Printers.xml

/usr/sbin/sophomorix-device terminated regularly

Calling console printout
LOG : Reading /etc/linuxmuster/sophomorix/default-school/devices.csv
LOG : All *.devices.csv files without syntax error
LOG : /usr/sbin/sophomorix-device terminated regularly

Hat da jemand eine idee was in meinem System kaputt ist das dieser fehler entsteht?

Gruß

Freddy

Hallo Freddy,

auch wenn da steht „All *.devices.csv files without syntax error“ würde ich doch auf eine davon tippen. Habt ihr wirklich 77 Drucker? In welcher devices stehen die. Zeig uns mal mindestens eine der Zeilen oder deine ganze devices.

Beste Grüße

Thorsten

Hallo Thorsten,
Ja es sind wirklich 77 Drucker, die ganze CSV hat über 1500 Einträge.
devices.zip (17,8 KB)

in der Zip ist die Original CSV.

hoffe du kanst damit wa anfangen, habe bei der sichtung keinen Fehler gefudnen.

Gruß Freddy

Hallo,

also ich hab jetzt mal nur einen ganz schnellen Blick rein geworfen und einige Sonderbarkeiten gefunden:

  1. welche IP hat der Server? Welches Netz habt ihr den definiert?

  2. Der Rechner c019nb28 ist in der Gruppe nopxe: ich halte das für eine gaaaanz schlechte Idee eine Hardwareklasse wie eine sophomorixklasse zu benennen…

  3. da sind etliche Zeilen drin, die zweimal hintereinander classroom-studentcomputer;1 stehen haben. Das sind etwa 100 Stück ab Zeile 1466.

Fazit: wenn man eine so schmutzige devices.csv dem import vor wirft, dann kommen natürlich Fehler bei raus: wäre ja schlimm, wenn icht.

LG

Holger

Hallo.

Eine kurze Ergänzung dazu:
Ich habe auch einen Blick in unsere devices.csv geworfen.
Dort steht z.B.
serverraum;firewall;nopxe;24:5D:27:CD:D8:02;10.16.1.254;;;;server;;0;;;;SETUP;

Als Hardwareklasse verwenden wir auch nopxe – aber nicht als Sophomorixklasse.

Wenn man alle Rollen haben will, die sophomorix anbietet, kann man das so anzeigen lassen:
sophomorix-samba --show-roletype

Ich bin bei neueren Einträgen, die nur eine IP benötigen aber nicht weiter verwaltet werden sollen auch schon dazu übergegangen, dass ich als Sophomorixklasse iponly gewählt habe. Vielleicht hilft Dir das …

Viele Grüße,
Michael

Hallo Freddy,

wenn ich solche Fehler hätte, dann würde ich wie folgt vorgehen:

  1. devices.csv sichern
  2. neue devices.csv anlegen und dort die ersten zehn Geräte einfügen
  3. linuxmuster-import-devices
  4. Wenn fehlerfrei, dann die nächsten zehn bis der Fehler auftaucht. Dort genauer hinsehen

Gruß

Alois

@baumhof Die Fehler habe ich behoben, leider bleibt der Fehler bestehen.

Gruß Freddy

Heißt evtl einer Eurer Drucker seltsam? Schau doch mal in die Datei
[root@server:/var/lib/sophomorix/gpo/school/default-school]$ cat Printers.xml

Hallo Freddy,

… ich hab ja auch nur auf die aller gröbsten hingewisen.
Bist du die csv nach weiteren durchgegangen, oder sollen wir das für dich machen?

Außerdem hatte ich eine Frage gestellt: die ist noch nicht beantwortet.

LG

Holger

@baumhof
zu

  1. Server ip ist 10.20.16.10
    Netzmaske ist /21

  2. Ist bisher so gewachsene werde ich später auf mal ändern

  3. Wie gesagt behoben

Habe jetzt mal alle Drucker aus der CSV raus geholt, dann läuft es durch sobald ich 2 Drucker Hinzufüge bekomme ich den Fehler, bei einem Drucker kommt keine Meldung aber es wird nichts in die
/var/lib/sophomorix/gpo/school/default-school/Printers.xml geschrieben.

Gruß Freddy

Hallo Freddy,

das sagt Heises Netzwerkrechner:

Vergleich mal mit Deinen verwendeten Adressen, ob das stimmig ist.

Gruß

Alois

Editvermerk: Bild ausgetauscht

@alois du hast den Falschen Bereich

)

Und meine Geräte sind alle in diesem Bereich.

Gruß Freddy

Hallo Freddy,

warum habt ihr kein Netz wie wir es vorgesehen haben? z.B. dass der Server die erste IP im Netz hat … wundert mich. Kann man so machen, aber irgend wann knallt es dann halt vielleicht irgendwo …

Wenn du uns jetzt verrätst welche zwei Zeilen (Drucker) du wieder rein genommen hast, dann müssen wir nicht 76 stück anschauen und drüber nachdenken, welche es wohl gewesen sein könnten.
Hast du den auch andere Druckerzeilen mal probiert, außer den beiden?

LG

Holger

Hallo Freddy,

hab’s gemerkt und schon verbessert :blush:

Gruß

Alois

1 „Gefällt mir“

@baumhof
die beiden Drucker
b019;b019pr01;kyocerap2040dn;00:17:C8:75:4B:00;10.20.17.1;;;;printer;;0;;;;;
c019;c019pr01;kyocerap2040dn;00:17:C8:3B:0B:DF;10.20.17.73;;;;printer;;0;;;;;

Das hat mit den Vlans zu tun, und das LN7 Vlan hat bei uns diesen IP berreich.

Habe gerade mal die Drucker in meine Testumgebung eingegeben, dort laufen die Ordnentlich durch, leider verstehe ich nicht genau wo die variablen aus dem sophomorix-device script abgreufen wird

sub update_printer_gpos {
my ($ref_devices_file,$ref_sophomorix_config,$ref_result,$json)=@_;
print „\n“;
&print_title(„Creating Printers.xml for GPO in $ref_sophomorix_config->{‚INI‘}{‚PATHS‘}{‚GPO_PRINTERS_TARGET_DIR‘}“);
my $ref_gpo=&AD_gpo_listall({json=>-1,
sophomorix_config=>$ref_sophomorix_config,
sophomorix_result=>$ref_result,
});

foreach my $school (@{ $ref_sophomorix_config->{‚LISTS‘}{‚SCHOOLS‘} }){
my $template=$ref_sophomorix_config->{‚INI‘}{‚PATHS‘}{‚GPO_PRINTERS_TEMPLATE‘};
my $target_dir=$ref_sophomorix_config->{‚INI‘}{‚PATHS‘}{‚GPO_PRINTERS_TARGET_DIR‘}.„/“.$school;
my $target=$target_dir.„/Printers.xml“;
# create output dir
system(„rm -rf $target_dir“);
system(„mkdir -p $target_dir“);
# write prefix of Printers.xml
system(„cat $ref_sophomorix_config->{‚INI‘}{‚PATHS‘}{‚GPO_PRINTERS_TEMPLATE_PRE‘} >> $target“);

   # write main part of Printers.xml

my $school_printer_count=0;
foreach my $device (@{ $ref_devices_file->{‚LISTS‘}{‚devices_by_school‘}{$school} }){
if ($ref_devices_file->{‚device‘}{$device}{‚sophomorixRole‘} eq „printer“){
# only work on printers
$school_printer_count++;
my $workgroup=$ref_sophomorix_config->{‚samba‘}{‚smb.conf‘}{‚global‘}{‚workgroup‘};
my $printer_uppercase=$ref_devices_file->{‚device‘}{$device}{‚COMPUTER‘};
my $printer_lowercase=$ref_devices_file->{‚device‘}{$device}{‚sophomorixDnsNodename‘};
my $printer_sid=&name_to_sid($printer_lowercase);

            # printserver can be overridden in school.conf
            my $printserver=$ref_sophomorix_config->{'SCHOOLS'}{$school}{'PRINTSERVER'};
            if ($printserver eq ""){
                $printserver=$ref_sophomorix_config->{'samba'}{'smb.conf'}{'global'}{'netbios name'};
            }
            my $replace = "-e \"s/\@\@LINUXMUSTER\@\@/$workgroup/g\" ".
                          "-e \"s/\@\@PRINTSERVER\@\@/$printserver/g\" ".
                          "-e \"s/\@\@PRINTER_LOWERCASE\@\@/$printer_lowercase/g\" ".
                          "-e \"s/\@\@PRINTER_SID\@\@/$printer_sid/g\" ".
                          "-e \"s/\@\@PRINTER\@\@/$printer_uppercase/g\" ";
            my $sed_command="cat ".$template." | sed ".$replace." >> ".$target;
            if($Conf::log_level>=3){
                print "$sed_command\n";
      }
            system($sed_command);
  }
    }

Das ist der Relevante teil.

Gruß

Freddy

Hallo Freddy,

jetzt kommen wir der Sache näher.
Wir halten fest: import aller Geräte klappt: außer Drucker.
Der import der Drucker klappt auch, aber die gpo wird nicht richtig erstellt.

Wo das script die Werte her bekommt weiß ich nciht sicher: ich hab aber mal nachgefragt.
Du kannst aber mal in die /var/lib/linuxmuster/setup.ini schauen, ob da was auffälliges drin ist.

LG

Holger

Hallo Holger,

Ja Richtig der import klappt
aber die gpo wird nicht erstellt wegen dem sed Fehler soweit ich das bisher raus gefunden habe.

Die setup.ini hat keine Auffälligkeit und sieht auch korrekt aus wenn ich die mit einer Funktionierenden Version prüfe.

Gruß

Freddy

Hallo, ich hab mal die oben gezippt angegeben devices.csv auf meinem Testsystem laufen lassen (nur der sophomorix Teil). Das ging ohne Probleme. printers.xml wird erstellt und falls GPO vorhanden dorthin kopiert.

Der SED befehl scheint ja schon aus sophomiorix zu kommen. Also könnte es sein, dass einer der Variablen
LINUXMUSTER
PRINTSERVER
PRINTER_LOWERCASE
PRINTER_SID
PRINTER

mit etwas komischen ersetzt wird.

kannst du mal nur den sophomorix-Teil mit erhöhter verbosity laufen lassen?
Also:
sophomorix-device --sync -vv

Der gibt dann die sed Befehle aus. Dann sehen wir besser was da schief läuft.

LG, Rüdiger

Hi

cat /usr/share/sophomorix/devel/gpo/Printers.xml.template | sed -e „s/@@LINUXMUSTER@@/S170768/g“ -e „s/@@PRINTSERVER@@/https://server:631/g“ -e „s/@@PRINTER_LOWERCASE@@/e208pr02/g“ -e „s/@@PRINTER_SID@@/S-1-5-21-3899992443-1893953062-505963586-14183/g“ -e „s/@@PRINTER@@/E208PR02/g“ >> /var/lib/sophomorix/gpo/school/default-school/Printers.xml
sed: -e Ausdruck #2, Zeichen 26: Unbekannte Option für »s«
School default-school: 77 printers found
copy: /var/lib/sophomorix/gpo/school/default-school/Printers.xml
—> /var/lib/samba/sysvol/s170768/Policies/{519AC794-F59B-44EF-A485-9636B4B14FA2}/User/Preferences/Printers/Printers.xml

Gruß