Konflikt smbclient

Hallo Arnaud,
vielen Dank für die tolle Arbeit!
Da ich mittlerweile langsam alt werde und vieles vergesse nutze ich doch öfters die Schulkonsole und bin richtig begeistert!
Leider habe ich seit geraumer Zeit das Problem, dass ich bei öffnen von Klassenzimmer->Einschreiben (/view/lmn/groupmembership) im Browser keine Daten (Gruppen) mehr angezeigt bekomme. In der Browser-console gibt es folgende Fehlermeldung:

all.vendor.js:15717 Error: [$injector:unpr] Unknown provider: smbclientProvider <- smbclient <- LMNGroupMembershipController
https://errors.angularjs.org/1.8.3/$injector/unpr?p0=smbclientProvider%20%3C-%20smbclient%20%3C-%20LMNGroupMembershipController
    at all.vendor.js:158:12
    at all.vendor.js:5011:19
    at Object.getService [as get] (all.vendor.js:5171:32)
    at all.vendor.js:5016:45
    at getService (all.vendor.js:5171:32)
    at injectionArgs (all.vendor.js:5196:58)
    at Object.instantiate (all.vendor.js:5240:18)
    at $controller (all.vendor.js:11849:28)
    at Object.link (all.vendor.js:40446:217)
    at all.vendor.js:1411:18 '<div ng:view="" autoscroll="true" class="content ng-scope" ng-swipe-right="toggleOverlayNavigation(true)" ng-swipe-left="toggleOverlayNavigation(false)">'
(anonym)	@	all.vendor.js:15717
LMNGroupMembershipController

in ajenti.log findet sich dazu keine Fehlermeldung.
Beim starten von linuxmuster-webui.service kommen folgende Fehlermeldungen - die kommen schon lange - haben mich aber sonst nie gestört (kommt nach der Anmeldung ein kleines Pop-Up: The following plugin has failed to load: lmn_samba_shares. Please fix or uninstall it.).

2024-02-29 14:46:31,535 ERROR   : [lmn_smbclient]: plugin import failed: module 'smbclient' has no attribute 'copyfile'
2024-02-29 14:46:31,536 ERROR   : Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/aj/plugins.py", line 341, in load_all_from
    self.__import_plugin_module(name, self[name])
  File "/usr/local/lib/python3.10/dist-packages/aj/plugins.py", line 367, in __import_plugin_module
    spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/usr/lib/linuxmuster-webui/plugins/lmn_smbclient/__init__.py", line 7, in <module>
    from .views.lmnsmbclient import *
  File "/usr/lib/linuxmuster-webui/plugins/lmn_smbclient/views/lmnsmbclient.py", line 48, in <module>
    setattr(smbclient, method, credit_wrapper(getattr(smbclient, method)))
AttributeError: module 'smbclient' has no attribute 'copyfile'

Ein apt install --reinstall linuxmuster-webui7 habe ich auch schon gemacht - ändert nichts…

Hast du eine Idee? Habe nur ich das Problem?

Gruß
Bertold

Hallo Bertold,

Es sieht so aus, als ob eine falsche smbclient Bibliothke importiert ist.

Was ergibt :

pip3 list | grep smb
ls /usr/lib/linuxmuster-webui/plugins/lmn_smbclient/ -R

?
Welche Version der Webui ist es ?

Gruß

Arnaud

Hallo Arnaud,
danke!

pip3 list | grep smb
smbprotocol                1.9.0

ls /usr/lib/linuxmuster-webui/plugins/lmn_smbclient/ -R
bower.json  __init__.py  main.py     __pycache__  resources
davxml.py   locale       plugin.yml  README.md    views

/usr/lib/linuxmuster-webui/plugins/lmn_smbclient/locale:
af       ca  de  es-ES  he  ja  no     pt-PT  sr     uk     zh-TW
app.pot  cs  el  fi     hu  ko  pl     ro     sv-SE  vi
ar       da  en  fr     it  nl  pt-BR  ru     tr     zh-CN

/usr/lib/linuxmuster-webui/plugins/lmn_smbclient/locale/af:
LC_MESSAGES

/usr/lib/linuxmuster-webui/plugins/lmn_smbclient/locale/af/LC_MESSAGES:
app.js  app.po

... analog für die anderen sprachen...

/usr/lib/linuxmuster-webui/plugins/lmn_smbclient/locale/de:
LC_MESSAGES

/usr/lib/linuxmuster-webui/plugins/lmn_smbclient/locale/de/LC_MESSAGES:
app.js  app.po

/usr/lib/linuxmuster-webui/plugins/lmn_smbclient/locale/el:
LC_MESSAGES

/usr/lib/linuxmuster-webui/plugins/lmn_smbclient/locale/el/LC_MESSAGES:
app.js  app.po

/usr/lib/linuxmuster-webui/plugins/lmn_smbclient/locale/en:
LC_MESSAGES

/usr/lib/linuxmuster-webui/plugins/lmn_smbclient/locale/en/LC_MESSAGES:
app.po

... hier fehlt app.js


... analog für die anderen sprachen...


/usr/lib/linuxmuster-webui/plugins/lmn_smbclient/__pycache__:
__init__.cpython-310.pyc  main.cpython-310.pyc

/usr/lib/linuxmuster-webui/plugins/lmn_smbclient/resources:
build  js

/usr/lib/linuxmuster-webui/plugins/lmn_smbclient/resources/build:
all.css  all.js  all.vendor.css  all.vendor.js

/usr/lib/linuxmuster-webui/plugins/lmn_smbclient/resources/js:
directives  module.es  services

/usr/lib/linuxmuster-webui/plugins/lmn_smbclient/resources/js/directives:
smbupload.directive.coffee

/usr/lib/linuxmuster-webui/plugins/lmn_smbclient/resources/js/services:
smbclient.service.es

/usr/lib/linuxmuster-webui/plugins/lmn_smbclient/views:
lmnsmbclient.py  lmnwebdav.py  __pycache__

/usr/lib/linuxmuster-webui/plugins/lmn_smbclient/views/__pycache__:
lmnsmbclient.cpython-310.pyc


WELCOME TO LINUXMUSTER.NET 7.2 - production
Freitag,  1 März 2024, 11:14:19

Uptime..........: 3 days, 20h03m00s
Memory..........: 835/30071MB (2.78%)
IP Internal.....: 10.16.1.1
IP External.....: 193.197.84.37


linuxmuster.net packages:
-Base...........: 7.2.3-0
-Linbo..........: 4.2.13-0
-WebUI..........: 7.2.43
-Sophomorix.....: 3.92.1-3

System läuft sonst rund ist aktuell…

Vielleicht hast du ja eine Idee.

Gruß
Bertold

… und gerade update auf -WebUI…: 7.2.44 gemacht - aber kein Unterschied…

Hallo Bertold,

Ich hatte einen Testskript geschrieben, um smbclient zu testen, kannst du es bitte probieren ?

wget https://raw.githubusercontent.com/linuxmuster/linuxmuster-webui7/lmn72/tests/test-smbclient.py
python3  test-smbclient.py

Gruß

Arnaud

Hallo Arnaud,
super, danke für die Hilfe!
Hier die Ausgabe - sieht für mich recht normal aus…

 python3 test-smbclient.py
 This script helps to test some domains to access samba shares, and you can try your own path too.
 Samba realm used by the Webui --> sembska.lan
 Samba netbios used by the Webui --> ad
 Samba domain used by the Webui --> ad.sembska.lan
 Samba domain to try (optional, something like server.linuxmuster.lan):
 Teacher login: fos
 Password:
 Getting Kerberos ticket
 Setting process uid=3000149 and gid=100 for Kerberos ticket

 ################################################################################

 Trying with host ad ...  Files located at \\ad\default-school\teachers\fos:

 D --> Eigene Bilder
 D --> Eigene Dokumente
 D --> Eigene Musik
 D --> Eigene Videos
 D --> public_html
 D --> transfer

 SUCCESS with host ad!

 ################################################################################

 Trying with host sembska.lan ...  Files located at \\sembska.lan\default-school\teachers\fos:

 D --> Eigene Bilder
 D --> Eigene Dokumente
 D --> Eigene Musik
 D --> Eigene Videos
 D --> public_html
 D --> transfer

 SUCCESS with host sembska.lan!

 ################################################################################

 Trying with host ad.sembska.lan ...  Files located at \\ad.sembska.lan\default-school\teachers\fos:

 D --> Eigene Bilder
 D --> Eigene Dokumente
 D --> Eigene Musik
 D --> Eigene Videos
 D --> public_html
 D --> transfer

 SUCCESS with host ad.sembska.lan!

 ################################################################################

 REPORT:

 SUCCESS with host ad!
 SUCCESS with host sembska.lan!
 SUCCESS with host ad.sembska.lan!

root@ad:/home/badmin#

Gruß
Bertold

Hallo Bertold,

Ok, gut, das bedeutet, dass smbclient richtig installiert ist, und dass es funktioniert. Diese Spur kann ich weglassen.

Ich bin mir ziemlich sicher, dass es irgendwo einen Ordner smbclient gibt, und Python versucht aus diesem Ordner zu importieren, anstatt die installierte Bibliothek.

Vielleicht finden wir es mit:

find /usr/lib/linuxmuster-webui/ -type d -iname '*smbclient*'

Gruß

Arnaud

Hallo Arnaud,
ok, hier die Ausgabe:

root@ad:/home/badmin# find /usr/lib/linuxmuster-webui/ -type d -iname '*smbclient*'
/usr/lib/linuxmuster-webui/plugins/lmn_smbclient

Gruß
Bertold

Hallo Bertold,

Ok, vielleicht ist nicht einen Ordner, aber eine Datei:

find /usr/lib/linuxmuster-webui/ -type f -iname '*smbclient*'

Ansontens habe ich kaum Idee mehr, vielleicht die Webui in DevMode starten und schauen, ob es am Anfang eine andere Fehlermeldung gibt:

ajenti-panel --dev --stock-plugins --plugins /usr/lib/linuxmuster-webui/plugins

Gruß

Arnaud

Hallo Arnaud,
vielen Dank nochmal für deine Hilfe - jetzt habe ich das Problem lösen können:
In /usr/local/bin gab es noch eine smbclient.py - die war wohl nicht richtig dort… - bei mir sind eine Menge .py Dateien dort - ich habe keine Ahnung ob das so sein soll…
Gruß
Bertold

1 „Gefällt mir“

Hallo Bertold,

hier die Ausgabe von ls *.py
in dem Verzeichnis auf meinem Produktivserver (7.2 aktuell):

root@LMG:/usr/local/bin# ls *.py
rst2html4.py rst2latex.py rst2odt.py rst2xetex.py
rst2html5.py rst2man.py rst2pseudoxml.py rst2xml.py
rst2html.py rst2odt_prepstyles.py rst2s5.py rstpep2html.py

LG

Holger

Hallo Arnaud, hallo Holger,

Ist bei mir auch so. Habe soeben das Upgrade 7.1 → 7.2 durchgeführt. Die Webui startet erst ohne Fehler, nachdem ich /usr/local/bin/smbclient.py wegverschoben habe.

Die Haufenweise .py Dateien in /usr/local/bin stammen wohl aus keinem Paket. Wie die dort gelandet sind weiß ich auch nicht.
Aufklärung was nun in /usr/local/bin/ drin sein soll und was weg kann wäre super.

Danke
Simon

Hallo Holger,
danke für die Info!
Die bei mir vorhandenen zusätzlichen *.py Dateien habe ich weggeschoben - bis jetzt merke ich davon nichts…

Gruß
Bertold