Common Files auf einem SMB-Server

Für sonstige Unterhaltungen, welche nicht direkt mit Lazarus zu tun haben
Benutzeravatar
Maik81SE
Beiträge: 308
Registriert: Fr 30. Sep 2011, 14:07
OS, Lazarus, FPC: Debian 12 (L 3.0.0.3 FPC 3.2.2); Windows 10 (L 3.99.0.0 FPC 3.2.0)
CPU-Target: x86-64; arm; avr
Wohnort: Lübeck
Kontaktdaten:

Common Files auf einem SMB-Server

Beitrag von Maik81SE »

Moin zsm.

Programmiert zufällig jemand auf 2 Systemen und hat einen Weg gefunden, gemeinsame Package, Units und/oder APIs welche selber angelegt wurden auf einem Server liegen oder gar das komblette Projekt?

Habe keine Lust gemeinsame verwendete Sachen auf mind. 2 Systemen zu haben. so an sich ist das ja kein thema, aber iwie bekomme ich via Larazus keinen Schreibzugriff.
Hatt eventuell da einen Hinweiß für mich?

Serversystem:
Raspberry 3+ : SMB zugriff, komblett innerhalb des Netzwerkes möglich.

VeeJee-System-M:
Raspberry 4: alle zugriffe auf SMB - Pi3+ vorhanden.
Lazarus 2.0.0 inkl fpc 3.0.4

VeeJee-System-S:
Raspberry Pi Desktop Buster x86
Lazarus 2.0.0 inkl fcp 3.0.4

Schreibfehler auf /run/user/1000/gvfs/smb-share:server=192.168.178.2,share=pi-entwicklungen/Programmierung

Code: Alles auswählen

label.caption:= 'gnublin.no-ip.info'
Debian 12 (L 3.0.0.3 FPC 3.2.2);
windows 10 (L 3.99.0.0 FPC 3.2.0)

PascalDragon
Beiträge: 825
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: Common Files auf einem SMB-Server

Beitrag von PascalDragon »

Maik81SE hat geschrieben:
So 22. Nov 2020, 12:28
Programmiert zufällig jemand auf 2 Systemen und hat einen Weg gefunden, gemeinsame Package, Units und/oder APIs welche selber angelegt wurden auf einem Server liegen oder gar das komblette Projekt?
Ist zwar jetzt keine Antwort auf deine explizite Problemstellung, aber ich selbst nutze dafür einfach ein lokales Git Repository. Den Master habe ich auf meinem Hauptrechner und klone das einfach auf meinen anderen Rechnern. Hat den Vorteil, dass ich auch noch Versionsverwaltung habe. ;)
FPC Compiler Entwickler

Benutzeravatar
Maik81SE
Beiträge: 308
Registriert: Fr 30. Sep 2011, 14:07
OS, Lazarus, FPC: Debian 12 (L 3.0.0.3 FPC 3.2.2); Windows 10 (L 3.99.0.0 FPC 3.2.0)
CPU-Target: x86-64; arm; avr
Wohnort: Lübeck
Kontaktdaten:

Re: Common Files auf einem SMB-Server

Beitrag von Maik81SE »

PascalDragon hat geschrieben:
So 22. Nov 2020, 13:40

Ist zwar jetzt keine Antwort auf deine explizite Problemstellung, aber ich selbst nutze dafür einfach ein lokales Git Repository. Den Master habe ich auf meinem Hauptrechner und klone das einfach auf meinen anderen Rechnern. Hat den Vorteil, dass ich auch noch Versionsverwaltung habe. ;)
Also das, was ich netzintern mit meinem Datenserver machen will, hast du online via GitHub erledigt.

Und dann deine selbst geschriebenen Package auf beiden Rechnern?
Das ist das, was ich unterm Strich vermeiden möchte.

Habe heute erst Mal keine Sammlung seit 2014 aufgeräumt.
3 gesammelte Verzeichnisse.
7 Stunden Quelltext überfliegen.

Code: Alles auswählen

label.caption:= 'gnublin.no-ip.info'
Debian 12 (L 3.0.0.3 FPC 3.2.2);
windows 10 (L 3.99.0.0 FPC 3.2.0)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Common Files auf einem SMB-Server

Beitrag von af0815 »

Maik81SE hat geschrieben:
So 22. Nov 2020, 15:19
Und dann deine selbst geschriebenen Package auf beiden Rechnern?
Das ist das, was ich unterm Strich vermeiden möchte.
Warum nicht, wenn ich die nicht mehr brauche schmeisse ich das Lokal GIT runter, wenn ich es brauche clone ich es wieder. Für mich habe ich mehrere GIT-Repros, die nach Thema geordnet sind. Und ich brauche keinen Online Github. Das spielt sich alles in meinem Netz wieder. Wenn ich will kann ich mich auch mit Github und anderen Repros verbinden.
Genaugenommen habe ich für jede externes GIT Repository eines bei mir lokal. Damit stelle ich sicher, falls das verschwindet, sich trotzdem meine Software kompilieren lässt. Auch gegen ungewollte Änderungen bin ich so gefeit. Mache ich ein Update, so ist das gewollt und das kann ich auch entsprechend testen. Ein Branch ist ja rasch erstellt und den kann man mit dem originalen mal mergen und das Ergebnis testen.

Vor allen entsteht dadurch keine Kraut und Rüben Bereiche, die noch dazu auf jeden Rechner anders sind. Ich arbeite auf mehreren Rechnern (tw. sogar mal Linux und Windows gemischt :-) ) da hasse ich, wenn die Stände nicht passen. So ist das kein Problem, auf der NAS sind die Bare-Repros und dorthin wird eine jede Änderung, sobald sie abgeschlossen ist auch gebracht. Wenn ich den Rechner wechsle, so hole ich mir auch von dort den Letztstand.

Das herum schei... mit Laufwerksfreigaben habe ich mir abgewöhnt. Die Verbindungsgeschwindigkeit beim kompilieren ist beschissen, wenn die Verbindung überhaupt stabil ist. Ich bin manchmal nur über VPN in meinem Netz. Git pull und push geht, aber über die Leitung zuz kompilieren, brrr.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
Maik81SE
Beiträge: 308
Registriert: Fr 30. Sep 2011, 14:07
OS, Lazarus, FPC: Debian 12 (L 3.0.0.3 FPC 3.2.2); Windows 10 (L 3.99.0.0 FPC 3.2.0)
CPU-Target: x86-64; arm; avr
Wohnort: Lübeck
Kontaktdaten:

Re: Common Files auf einem SMB-Server

Beitrag von Maik81SE »

Also würdest auch du empfehlen, das ich meinen Server PI zusätzlich als Git-Master mit laufen lassen und alles auf meinen VeeJee Pi und Desktop-Pi clone?

Am ende muß ich ja meine Package so oder so umschreiben, das die auf beiden Systemen laufen.
Also ein Combilerschalter zusätzlich.

Einzig der Aspekt, das ich mir dann ein Speicherordner suchen muß, wo ich das hinclone wollte ich vermeiden, aber wenn GitHub die einzige Brauchbare möglichkeit ist, werd ich wohl in den sauren Apfel beisen müßen.

Der Server-Pi wied da aber keine Probleme bereiten, da da ein Externer USB-Stick für all meine Entwicklungen zur verfühgung steht.

EDIT
Auf jedenfall erst mal sehr sehr viel Arbeit und Mega Informationen, welche das Thema Git-Server angeht.
dabei wollte ich dies eigentlich umgehen. :roll:
Zuletzt geändert von Maik81SE am So 22. Nov 2020, 18:56, insgesamt 1-mal geändert.

Code: Alles auswählen

label.caption:= 'gnublin.no-ip.info'
Debian 12 (L 3.0.0.3 FPC 3.2.2);
windows 10 (L 3.99.0.0 FPC 3.2.0)

PascalDragon
Beiträge: 825
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: Common Files auf einem SMB-Server

Beitrag von PascalDragon »

Maik81SE hat geschrieben:
So 22. Nov 2020, 15:19
PascalDragon hat geschrieben:
So 22. Nov 2020, 13:40

Ist zwar jetzt keine Antwort auf deine explizite Problemstellung, aber ich selbst nutze dafür einfach ein lokales Git Repository. Den Master habe ich auf meinem Hauptrechner und klone das einfach auf meinen anderen Rechnern. Hat den Vorteil, dass ich auch noch Versionsverwaltung habe. ;)
Also das, was ich netzintern mit meinem Datenserver machen will, hast du online via GitHub erledigt.
Eben nicht GitHub. Git hat den Vorteil, dass man es sehr leicht lokal einrichten (ein git init in einem leeren Verzeichnis genügt) und über SSH synchronisieren kann (während man zum Beispiel für SVN einen entsprechenden Serverdienst braucht).

Bei mir ist die Struktur wie folgt:
- Gullveig: hat Master Repository (nicht ausgecheckt)
- auch Gullveig: hat Clone des Repository mit dem ich arbeite
- Themis, Artemis, Athena, Skadi: haben einen Clone des Repository

Wenn ich nun was ändere (was 1 bis mehrere Commits sein können), dann pushe ich die Änderungen zum Master und hole sie mir dann wieder auf den anderen Rechnern. Und wenn ich mal vergessen habe entweder zu pushen oder zu pullen und es zu Konflikten kommt, dann hilft mir Git dabei diese zu beheben.
Maik81SE hat geschrieben:
So 22. Nov 2020, 15:19
Und dann deine selbst geschriebenen Package auf beiden Rechnern?
Das auf den lokalen Rechnern ist ja dann nur die Working Copy. Der Master ist das auf dem Hauptrechner (in meinem Fall Gullveig).

Der große Vorteil ist, dank des Branching von Git (das erstmal nur lokal ist) kann ich was ausprobieren und wenn es sich als Mist herausstellt einfach wieder wegwerfen ohne dass ich mich drum kümmern muss, ob ich dran gedacht habe das Original zu sichern.
Maik81SE hat geschrieben:
So 22. Nov 2020, 17:21
Also würdest auch du empfehlen, das ich meinen Server PI zusätzlich als Git-Master mit laufen lassen und alles auf meinen VeeJee Pi und Desktop-Pi clone?
Genau das würde ich vorschlagen.
Maik81SE hat geschrieben:
So 22. Nov 2020, 17:21
Einzig der Aspekt, das ich mir dann ein Speicherordner suchen muß, wo ich das hinclone wollte ich vermeiden, aber wenn GitHub die einzige Brauchbare möglichkeit ist, werd ich wohl in den sauren Apfel beisen müßen.
Ich würde es jetzt nicht als das einzig brauchbare bezeichnen. Aber es hat meiner Meinung nach viele Vorteile und man muss sich nicht mit SMB rumschlagen. So lange SSH zwischen den Rechnern geht, ist alles in Ordnung. :)
FPC Compiler Entwickler

Benutzeravatar
Maik81SE
Beiträge: 308
Registriert: Fr 30. Sep 2011, 14:07
OS, Lazarus, FPC: Debian 12 (L 3.0.0.3 FPC 3.2.2); Windows 10 (L 3.99.0.0 FPC 3.2.0)
CPU-Target: x86-64; arm; avr
Wohnort: Lübeck
Kontaktdaten:

Re: Common Files auf einem SMB-Server

Beitrag von Maik81SE »

abgesehen von den Vorteilen, die ihr berechtigt aufzählt bleibt ein Aspekt auf der Strecke.
Es wird ein zusätzlicher Dienst benödigt. :mrgreen:

Aber dafür ist ein Raspberry Pi ja auch ein Raspberry Pi gewurden.
SBM für Datensicherung, Videos
Datenbank: sowieso
nun wird git noch hinzukommen.

Code: Alles auswählen

label.caption:= 'gnublin.no-ip.info'
Debian 12 (L 3.0.0.3 FPC 3.2.2);
windows 10 (L 3.99.0.0 FPC 3.2.0)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Common Files auf einem SMB-Server

Beitrag von af0815 »

Bist du dir sicher mit zusätzlichen Dienst bei GIT ?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1430
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Common Files auf einem SMB-Server

Beitrag von fliegermichl »

Der einzige Dienst der gebraucht wird ist sshd und der läuft ja sowieso.

PascalDragon
Beiträge: 825
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: Common Files auf einem SMB-Server

Beitrag von PascalDragon »

Maik81SE hat geschrieben:
So 22. Nov 2020, 19:12
abgesehen von den Vorteilen, die ihr berechtigt aufzählt bleibt ein Aspekt auf der Strecke.
Es wird ein zusätzlicher Dienst benödigt. :mrgreen:
Greifst du per SSH auf den Server zu, um was einzustellen? Wenn ja, dann läuft der einzig nötige Dienst, nämlich sshd eh schon. ;)
FPC Compiler Entwickler

Benutzeravatar
Maik81SE
Beiträge: 308
Registriert: Fr 30. Sep 2011, 14:07
OS, Lazarus, FPC: Debian 12 (L 3.0.0.3 FPC 3.2.2); Windows 10 (L 3.99.0.0 FPC 3.2.0)
CPU-Target: x86-64; arm; avr
Wohnort: Lübeck
Kontaktdaten:

Re: Common Files auf einem SMB-Server

Beitrag von Maik81SE »

PascalDragon hat geschrieben:
Mo 23. Nov 2020, 13:50

Greifst du per SSH auf den Server zu, um was einzustellen? Wenn ja, dann läuft der einzig nötige Dienst, nämlich sshd eh schon. ;)
Um deine Frage zu Beantworten...
Nein, da mein Pi bei Bedarf einen Monitor hat.
Primär werden die Ports 21 & 80 verwendet.

Intern netzintern brauche ich lediglich SMB zur Datensicherung und zum Filme/Serien Schauen.

Code: Alles auswählen

label.caption:= 'gnublin.no-ip.info'
Debian 12 (L 3.0.0.3 FPC 3.2.2);
windows 10 (L 3.99.0.0 FPC 3.2.0)

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1430
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Common Files auf einem SMB-Server

Beitrag von fliegermichl »

Moin,

der Maik hat mich privat angeschrieben und ich hab ihm das auch beantwortet. Aber ich finde, daß passt trotzdem gut ins Forum.
Folgende Arbeitsschritte müssen gemacht werden um git lokal und remote benutzen zu können.

Lokal:

Code: Alles auswählen

cd /mein_programm_verzeichnis
# Hier sollte jetzt eine Datei .gitignore angelegt werden in die alles reinkommt, was nicht versioniert werden soll z.B.
#backup/
#lib/
#usw
git init
git add .
git commit -a -s -m"initial commit"
Damit ist ein lokales git Repository angelegt und fortan werden alle Änderungen mittels

Code: Alles auswählen

git commit -a -s -m"Ebbes und jenes gebastelt"
gesichert. mit "git log" kann man sich anschauen, was man so verbrochen hat.

Um das lokale Repository auf einem Server zu sichern, muß auf diesem sshd laufen und da auch erst mal ein sogenanntes "bare" Repository angelegt werden.

Code: Alles auswählen

ssh pi@raspberry
# jetzt steht man normalerweise in /home/pi
mkdir gitrepo
cd gitrepo
git init --bare
^D
Jetzt muss einmalig das lokale Repository mit dem Server verbunden und als up-stream registriert werden.

Code: Alles auswählen

git remote add origin ssh://pi@raspberry/home/pi/gitrepo
git push origin master --set-upstream
Ab jetzt kann man einfach per "git push" alles was man lokal gemacht hat auf dem Server sichern.

Wenn du jetzt einen zweiten Rechner hast, auf dem du deinen Programmcode auch haben willst, dann muß das Repository von dem Raspberry geklont werden und das geht so:

Code: Alles auswählen

git clone ssh://pi@raspberry/home/pi/gitrepo
Das kopiert vollautomatisch alles in das lokale Verzeichnis "gitrepo" und verbindet das sogar automatisch mit dem pi als up-stream.

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1430
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Common Files auf einem SMB-Server

Beitrag von fliegermichl »

Moin,

ich wollte den vorherigen Post mal unter WissensDB -> Diverse Anleitungen einstellen aber ich finde keinen Button um einen neuen Artikel erstellen zu können. :roll:

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Common Files auf einem SMB-Server

Beitrag von af0815 »

Eventuell alternativ den Artikel in die Wiki bringen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
Maik81SE
Beiträge: 308
Registriert: Fr 30. Sep 2011, 14:07
OS, Lazarus, FPC: Debian 12 (L 3.0.0.3 FPC 3.2.2); Windows 10 (L 3.99.0.0 FPC 3.2.0)
CPU-Target: x86-64; arm; avr
Wohnort: Lübeck
Kontaktdaten:

[Gelöst:] Common Files auf einem SMB-Server -> git

Beitrag von Maik81SE »

fliegermichl hat geschrieben:
Mi 25. Nov 2020, 05:34
Moin,

der Maik hat mich privat angeschrieben und ich hab ihm das auch beantwortet. Aber ich finde, daß passt trotzdem gut ins Forum.
Folgende Arbeitsschritte müssen gemacht werden um git lokal und remote benutzen zu können.

Lokal:

Code: Alles auswählen

cd /mein_programm_verzeichnis
# Hier sollte jetzt eine Datei .gitignore angelegt werden in die alles reinkommt, was nicht versioniert werden soll z.B.
#backup/
#lib/
#usw
git init
git add .
git commit -a -s -m"initial commit"
Damit ist ein lokales git Repository angelegt und fortan werden alle Änderungen mittels

Code: Alles auswählen

git commit -a -s -m"Ebbes und jenes gebastelt"
gesichert. mit "git log" kann man sich anschauen, was man so verbrochen hat.

Um das lokale Repository auf einem Server zu sichern, muß auf diesem sshd laufen und da auch erst mal ein sogenanntes "bare" Repository angelegt werden.

Code: Alles auswählen

ssh pi@raspberry
# jetzt steht man normalerweise in /home/pi
mkdir gitrepo
cd gitrepo
git init --bare
^D
Jetzt muss einmalig das lokale Repository mit dem Server verbunden und als up-stream registriert werden.

Code: Alles auswählen

git remote add origin ssh://pi@raspberry/home/pi/gitrepo
git push origin master --set-upstream
Ab jetzt kann man einfach per "git push" alles was man lokal gemacht hat auf dem Server sichern.

Wenn du jetzt einen zweiten Rechner hast, auf dem du deinen Programmcode auch haben willst, dann muß das Repository von dem Raspberry geklont werden und das geht so:

Code: Alles auswählen

git clone ssh://pi@raspberry/home/pi/gitrepo
Das kopiert vollautomatisch alles in das lokale Verzeichnis "gitrepo" und verbindet das sogar automatisch mit dem pi als up-stream.
Mega Dank.
Aber wenn ich das gerade richtig auf dem Zettel habe, setzt es vorraus, das git auch vernünftig auf dem Server läuft.
Wie ich dir ja in PN geschrieben habe, scheitere ich leider, aus welchen Gründen auch immer schon daran.

Habe einige Foren durchwühlt und mehrmals durchgelesen, bin jedoch nur Hier ist es auch verständlich geschrieben.

Das dies nun auch Bsp für GitWeb ist spielt dabei vorerst eine untergeordnete Rolle.

Da mein Verständnis für vieles höher ist, wenn ich es mir bildlich vorstellen kann bzw es auch sehe, was am ende rauskommt, habe ich letzendlich für dies Entschieden, jedoch scheidere ich bei der Veröffentlchung

Das einzige, was da der unterschied zu dem Bsp ist, ist der Speicherort.

Code: Alles auswählen

Listen 81
<VirtualHost *:81>
    Alias /stable "/home/tktest/repos/pub/stable"
    <Location stable>
        Allow from all
    </Location>
</VirtualHost>
diesen schaut bei mir wie folgt aus:

Code: Alles auswählen

Listen 81
<VirtualHost *:81>
    Alias /stable "/media/pi/6748-6CD2/repos/pub/stable"
    <Location stable>
        Allow from all
    </Location>
</VirtualHost>
Wenn ich mir deines jetzt aber nochma auf der zunge zergehen lassen, könnte es uU daran liegen, das ich dies auf einem 16GB USB-Stick auslager will?
Das wäre jetz so paradoxx auch auch sein mag der einzige Punkt, der mir noch einfallen würde, warum ich scheitere.

EDIT 18:50Habe mir dies nochmal nach einem Kaffee und einer Kippe neu durchgelesen, und mmit einer Kopie einer versucht.
Jedoch habe ich hier einen Tippfehler gefunden, dachdem ich diese Zeile schon weggeschickt hatte :(

git remote add origin ssh://pi@192.168.178.2/media/pi/6748-6CD2/repos

Könntest du da ggf den Befehl zum ändern bzw löschen mit einbinden?
Zumindest ist das mehr als verständlich geschrieben.

Edit 18:55
Perfekt...
und läuft.

Gelöst --> ggf offtropic
Zuletzt geändert von Maik81SE am Mi 25. Nov 2020, 18:57, insgesamt 1-mal geändert.

Code: Alles auswählen

label.caption:= 'gnublin.no-ip.info'
Debian 12 (L 3.0.0.3 FPC 3.2.2);
windows 10 (L 3.99.0.0 FPC 3.2.0)

Antworten