Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Sun 20 Apr 2014, 23:22
All times are UTC - 4
 Forum index » House Training » Users ( For the regulars ) » Für deutschsprachige Anhänger
Strategie für die Zerlegung eines Puppysystems
Moderators: MU
Post new topic   Reply to topic View previous topic :: View next topic
Page 1 of 2 [22 Posts]   Goto page: 1, 2 Next
Author Message
der-schutzhund

Joined: 26 Nov 2007
Posts: 781
Location: Blomberg / Germany

PostPosted: Tue 02 Nov 2010, 14:38    Post subject:  Strategie für die Zerlegung eines Puppysystems  

Hallo liebe Leute,

beim Schmökern in den Beiträgen ist mir mal wieder aufgefallen, dass es hier immer sehr sachlich und höflich zugeht! Da das nicht für jedes Forum gilt, an dieser Stelle zunächst mal ein dickes Lob an alle!!!Wink

Nun zum Thema:
Inzwischen laufen erste Testversion von meinem Pupspuppy (kleiner Scherz) in meinem Technikraum.
Als Basis verwende ich das 4.3.1-de weil es auf der meisten Hardware läuft und auch sonst einen guten Eindruck macht (auch was das Remastern angeht).
Dann: wine, cncsimulator, eine Frässimulation, eine Drehsimulation, Hilfetexte für die Fräs- und Drehsimulation, openoffice 3.2 de, QCAD + Hilfetext
weiterhin habe ich testweise verschiedene Software für den Bereich Elektronik / Programmierung eingebaut.
Inzwischen funktioniert das alles schon recht gut. Die ganze Software kann über Icons auf dem Desktop gestartet werden.

Wenn ich jetzt allerdings die ganzen Programme in ein einziges Puppy einbaue, dann bekomme ich ein Problem, dass der Arbeitsspeicher der Rechner nicht mehr ausreicht. Wie kann ich am einfachsten das Kernpuppy starten und dann evtl. aus einem Menü ein Modul auswählen, mit dem dann gearbeitet werden kann:
Als Beispiel hätte ich dann drei "Module":

1. OpenOffice (allgemein Textbearbeitung + Mindmapping)
2. CADCAM (CAD-Programm und CNC-Programme)
3. Elektronik (Schaltplanerstellung und Programmierung)

Im einfachsten Fall könnte ich natürlich drei verschiedene Pupspuppy machen und die dann im Bootmanager auswählen, aber geht es vielleicht noch anders?

Viele Grüße

Wolfgang
Back to top
View user's profile Send private message 
RetroTechGuy


Joined: 15 Dec 2009
Posts: 2635
Location: USA

PostPosted: Tue 02 Nov 2010, 14:58    Post subject: Re: Strategie für die Zerlegung eines Puppysystems  

der-schutzhund wrote:
Hallo liebe Leute,

beim Schmökern in den Beiträgen ist mir mal wieder aufgefallen, dass es hier immer sehr sachlich und höflich zugeht! Da das nicht für jedes Forum gilt, an dieser Stelle zunächst mal ein dickes Lob an alle!!!Wink

Nun zum Thema:
Inzwischen laufen erste Testversion von meinem Pupspuppy (kleiner Scherz) in meinem Technikraum.
Als Basis verwende ich das 4.3.1-de weil es auf der meisten Hardware läuft und auch sonst einen guten Eindruck macht (auch was das Remastern angeht).
Dann: wine, cncsimulator, eine Frässimulation, eine Drehsimulation, Hilfetexte für die Fräs- und Drehsimulation, openoffice 3.2 de, QCAD + Hilfetext
weiterhin habe ich testweise verschiedene Software für den Bereich Elektronik / Programmierung eingebaut.
Inzwischen funktioniert das alles schon recht gut. Die ganze Software kann über Icons auf dem Desktop gestartet werden.

Wenn ich jetzt allerdings die ganzen Programme in ein einziges Puppy einbaue, dann bekomme ich ein Problem, dass der Arbeitsspeicher der Rechner nicht mehr ausreicht. Wie kann ich am einfachsten das Kernpuppy starten und dann evtl. aus einem Menü ein Modul auswählen, mit dem dann gearbeitet werden kann:
Als Beispiel hätte ich dann drei "Module":

1. OpenOffice (allgemein Textbearbeitung + Mindmapping)
2. CADCAM (CAD-Programm und CNC-Programme)
3. Elektronik (Schaltplanerstellung und Programmierung)

Im einfachsten Fall könnte ich natürlich drei verschiedene Pupspuppy machen und die dann im Bootmanager auswählen, aber geht es vielleicht noch anders?

Viele Grüße

Wolfgang


Hi Wolfgang,

(well, I used babelfish to translate this, as my German is really weak -- but I think I have the gist of your post)

I think what you want is for these packages to be built as .sfs packages (Open Office already exists as such), which can be linked:

http://puppylinux.org/wikka/openoffice

I haven't tried installing Eagle under Puppy, but I always liked it in the past (I used it under Debian):

http://www.cadsoftusa.com/

I suspect that the installation could configured to store the majority of files outside of the pupsave -- it is mostly libraries and scripts taking up space.

What packages have you used? And did you try moving the package outside, and then symbolically link it back into Puppy?

_________________
Wellminded Search
Add swapfile
Back to top
View user's profile Send private message 
der-schutzhund

Joined: 26 Nov 2007
Posts: 781
Location: Blomberg / Germany

PostPosted: Tue 02 Nov 2010, 15:07    Post subject: Re: Strategie für die Zerlegung eines Puppysystems  

[quote="RetroTechGuy"]
der-schutzhund wrote:
Hallo liebe Leute,

http://puppylinux.org/wikka/openoffice

I haven't tried installing Eagle under Puppy, but I always liked it in the past (I used it under Debian):

http://www.cadsoftusa.com/

I suspect that the installation could configured to store the majority of files outside of the pupsave -- it is mostly libraries and scripts taking up space.

What packages have you used? And did you try moving the package outside, and then symbolically link it back into Puppy?


Aus dieser Quelle habe ich openoffice als pet installiert!

So weit ich Eagle getestet habe läuft es gut in puppy!
Was meinst du mit package?

Bisher habe ich kein package nach außen verschoben um es dann symbolically zu linken!
Back to top
View user's profile Send private message 
oui

Joined: 20 May 2005
Posts: 1847
Location: near Woof (Germany) :-) Acer Laptop emachines 2 GB RAM AMD64. franco-/germanophone, +/- anglophone

PostPosted: Tue 02 Nov 2010, 16:21    Post subject:  

Hallo Wolfgang

Hochinteressant!

ich habe es sofort, als ich es sah, übersetzt und hier in frz. veröffentlicht!

ich war soeben parallel zu Deinen Überlegungen auf ähnliche Feststellungen gekommen als ich hier und hier schrieb (der frz. Aufsatz ist noch neuer): eine Segmentierung wäre von Nöte!

Je nachdem, um welche Programme es sich handelt (Linux-Programme oder Windows-Programme für Wine) würde ich wege sehen:

man kann auslagern:

- Seamonkey (Linux-Version) beispielsweise start auch aus einer anderen Partition!

- Wine-Programme kann man in der /mnt/home-Partition fest abspeichern. Das setzt viel RAM-Kapazität frei!

- OO kann man durch die weniger Hungrige Abiword, Gnumeric, Magic Point (Presentation) und didiwiki-Dokumente (in Puppy) oder Zim-Dokumente (SliTaz) ersetzen.

ausserdem stelle ich beim Suchen für Dich vor einigen Wochen (habe vergessen davon zu sprechen), dass ein grosser Puplet-Meister von Puppy, big_bass, bei allen grossen Diskussionen über Steuerungen und Steuerungstechnik mitmischt! er war der Autor, wenn ich mich genau erinnere, der legendären 'fatfree-Puppies 2.16, 2.17, 3.0 und 3.1' und ist ein der besten Systemkenner von Puppy!

sprich ihn doch an!

wünsche Dir noch mehr Erfolg!

salut
Back to top
View user's profile Send private message 
RetroTechGuy


Joined: 15 Dec 2009
Posts: 2635
Location: USA

PostPosted: Tue 02 Nov 2010, 17:08    Post subject: Re: Strategie für die Zerlegung eines Puppysystems  

[quote="der-schutzhund"]
RetroTechGuy wrote:
der-schutzhund wrote:
Hallo liebe Leute,

http://puppylinux.org/wikka/openoffice

I haven't tried installing Eagle under Puppy, but I always liked it in the past (I used it under Debian):

http://www.cadsoftusa.com/

I suspect that the installation could configured to store the majority of files outside of the pupsave -- it is mostly libraries and scripts taking up space.

What packages have you used? And did you try moving the package outside, and then symbolically link it back into Puppy?


Aus dieser Quelle habe ich openoffice als pet installiert!


I'm not positive, but I believe that you can alternatively use the .sfs (which doesn't install the package "inside" the pupsave). Though the page doesn't show a German version... Open Office is a HUGE package...

Quote:
So weit ich Eagle getestet habe läuft es gut in puppy!


Nice, I'll have to try it!

Quote:
Was meinst du mit package?

Bisher habe ich kein package nach außen verschoben um es dann symbolically zu linken!


You can take large files or folders, which reside inside Puppy, and move them onto another drive, or outside of the pupsave (for example, into /mnt/home/). Then you drag the file or folder back (pretending that you are moving or copying it back), but instead instruct Puppy to symbolically link the file.

In this way. Puppy "thinks" that the file is sitting at the place where the symbolic link resides, but the file(s) are actually sitting elsewhere.

These work much like a "shortcut" under Microsoft Windows (except that they work better).

_________________
Wellminded Search
Add swapfile
Back to top
View user's profile Send private message 
RetroTechGuy


Joined: 15 Dec 2009
Posts: 2635
Location: USA

PostPosted: Tue 02 Nov 2010, 17:15    Post subject:  

oui wrote:

- Seamonkey (Linux-Version) beispielsweise start auch aus einer anderen Partition!


The current Firefox .pet actually installs itself in /mnt/home/ (linking back, or keeping only a few needed files).

http://www.puppylinux.org/wikka/FireFox

Quote:
- OO kann man durch die weniger Hungrige Abiword, Gnumeric, Magic Point (Presentation) und didiwiki-Dokumente (in Puppy) oder Zim-Dokumente (SliTaz) ersetzen.


I use Gnumeric for most of my spreadsheet operations. It seems to work better than Excel, in some ways (more controls, more stable).

By storing as much as possible outside of my pupsave, my pupsave is still less than 512MB (and I have about 100 MB free inside).

_________________
Wellminded Search
Add swapfile
Back to top
View user's profile Send private message 
emil

Joined: 10 Nov 2009
Posts: 612
Location: Austria

PostPosted: Fri 05 Nov 2010, 08:36    Post subject: Zerlegung eines Puppy Systems  

Hallo Wolfgang,

einige Anmerkungen zu Deinem Anliegen ein Puppy zu "zerlegen".

"Pet" Packete kannst Du auch während des "laufende Betriebes" installieren und wieder wegschalten. Das Problem ist meist nur die kleine Pet-Größe und die vielen verschiedenen pets. Mann kann natürlich pet pakete "von Hand" zusammenlegen (*,pet in *.tar.gz umbenennen, entpacken, dann manuell zusammkopieren, die pet information im Verzeichnis editieren, wieder als tar.gz packen und zum Schluss wieder in .pet umbenennen).

Eigentlich ist aber für größere Pakete das "sfs" Format gedacht. Ein sfs zu erstellen ist im Prinzip einfach. Zum Beispiel kannst Du ein Pet Paket wie folgt in ein sfs umwandlen:
Pet umbenennen und entpacken wie oben, dann Package information im Verzeichnis löschen, dann cd .. , mksquashfs Verzeichnis Name.sfs - voila!

Optimal wäre es Wenn du deine Zusatzsoftware in verschiedenen sfs modulen zusammenfassen kannst, dann kannst Du die gewünschten Programmteile über den Bootmanager zu- und wieder wegschalten. Der Nachteil ist, dass dazu immer neu gebootet werden muss. Der Vorteil ist, dass das pupsave file nicht angefüllt wird und normalerweise werden die sfs Module auch nicht gleichzeitig ins Ram geladen wenn der Platz knapp ist.

Vor einiger Zeit gab es zusätzlich dazu einen interessanten Ansatz, Choicepup.
http://puppylinuxnews.org/puplets/choicepup-and-sfs-galore/?category=puplets/choicepup-and-sfs-galore/. Ich glaube die letzte Choicepup Version basierte auf Puppy 4.30.

Üblichwerweise werden sfs Module während des bootens im "Layered Filesystem" eingebunden. Choicepup mounted die SFS ausserhalb und erstellt nur "symbolic links" zu allen Files an den originalen Stellen im Verzeichnisbaum. Mit dieser Technik können sfs files theoretisch "on the fly" ein- und ausgeschaltet werden. Wenn du obigem link folgst findest du auch einen "sfs-linker.pet", d.h das sind die choicepup-scripts die du theoretisch auch im Standart puppy 431 verwenden kannst um diese Technik anzuwenden. Ich selbst habe mich zu wenig damit beschäftigt um zu sagen: es funktioniert 100%, aber vielleicht ist es einen Versuch wert.

Falls wirklich ab und zu Speicherkanppheiten auftreten kann eventuell ein vorbeugend angelegtes swapfile helfen http://puppylinux.org/wikka/SwapFile.
Vor kurzem habe ich dazu auch eine kleine GTK application gesehen - swapfile manager: http://www.murga-linux.com/puppy/viewtopic.php?t=58615
Wichtig ist dass swapfiles nur für gelegentliche Probleme, etwa um einen Absturz zu vermeiden, interessant sind, da die Performance doch stark leidet.

Vielleicht bringt auch noch Folgendes eine Verbesserung:
Ich habe vor einiger Zeit ein Puppy mit einem größeren Programmumfang basierend auf 431 remastered. Dabie ist ein bug in der Speicherverwaltung aufgefallen (siehe
http://bkhome.org/blog/?viewDetailed=01408)
Vielleicht hilft es schon etwas wenn Du die originale initrd.gz durch die folgende ersetzt
http://boxen.math.washington.edu/home/emil/stuff/initrd.gz

Ich hoffe es war vielleicht ein brauchbarer Tip dabei, auf jeden Fall viel Glück und
"keep us posted"
Emil
Back to top
View user's profile Send private message Visit poster's website 
der-schutzhund

Joined: 26 Nov 2007
Posts: 781
Location: Blomberg / Germany

PostPosted: Fri 05 Nov 2010, 18:22    Post subject: Re: Zerlegung eines Puppy Systems  

Hallo emil,

sehr interessanter Beitrag!

- pets
Weil ich dabei hauptsächlich an die Arbeit meiner Schüler denke, sind mir die pets zu nah am System. Sie würden vermutlich alles Mögliche deinstallieren und installieren.
Vorteil wäre sicher, dass man damit auch gleich Menüeinträge erzeugen könnte!!

- sfs
Wenn ich es richtig verstanden habe, dann werden damit Verzeichnisse + Dateien installiert. Die automatische Erzeugung von Icons auf dem Desktop ist nicht möglich. Oder ist das falsch?
Diese Starticons muss ich aber auf jeden Fall haben. Die Kinder müssten ja sonst mit dem Dateimanager die ausführbaren Dateien von Hand starten und das geht nicht!

- Choicepup
Wenn ich das alles so richtig verstanden habe, soll hiermit genau das erreicht werden: Verzeichnisse + Dateien installieren und automatisch Starticons erzeugen. Weiterhin die Möglichkeit, alles wieder mit einem Click zu löschen.
Leider bin ich praktisch aber nicht so richtig durchgestiegen. Mit der Standard ISO von choicepup ebenso wie mit dem 4.3.1.de, womit es eigentlich laufen müsste.
Da sind zu viele Pets und mir ist nicht klar, welche man wofür braucht und in 4.3.1.de laden muss.

- bug in der Speicherverwaltung
Muss ich mir noch ansehen...
Mir ist nur aufgefallen, dass nach dem Remastern von 4.3.1-de das Puppybildchen beim Booten nicht mehr angezeigt wird und die Taste F2 das System hängen lässt.

Grundsätzlich gäbe es mehrere mögliche Ansätze:
1. Ansatz mit mehreren .2fs wovon beim Start eine Version ausgewählt wird.

2. Ein komplettes System wird inkl. aller Programme und Starticons zusammengestellt, wobei die dicken Progs. am Ende aber nicht mit remastert werden. Vermutlich müsste man dann diese Dateien noch von Hand auf den Zielrechner in die passenden Verzeichnisse kopiert werden. Evtl. könnte das vermutlich ein Script übernehmen.

3. Ein Ansatz mit dynamischer Einbindung der sfs … wenns funktionieren würde.

Auch dieses Thema könnte ein eigener Bereich in einem deutschen Forum sein...Wink

Grüße Wolfgang


emil wrote:
Hallo Wolfgang,

einige Anmerkungen zu Deinem Anliegen ein Puppy zu "zerlegen".

"Pet" Packete kannst Du auch während des "laufende Betriebes" installieren und wieder wegschalten. Das Problem ist meist nur die kleine Pet-Größe und die vielen verschiedenen pets. Mann kann natürlich pet pakete "von Hand" zusammenlegen (*,pet in *.tar.gz umbenennen, entpacken, dann manuell zusammkopieren, die pet information im Verzeichnis editieren, wieder als tar.gz packen und zum Schluss wieder in .pet umbenennen).

Eigentlich ist aber für größere Pakete das "sfs" Format gedacht. Ein sfs zu erstellen ist im Prinzip einfach. Zum Beispiel kannst Du ein Pet Paket wie folgt in ein sfs umwandlen:
Pet umbenennen und entpacken wie oben, dann Package information im Verzeichnis löschen, dann cd .. , mksquashfs Verzeichnis Name.sfs - voila!

Optimal wäre es Wenn du deine Zusatzsoftware in verschiedenen sfs modulen zusammenfassen kannst, dann kannst Du die gewünschten Programmteile über den Bootmanager zu- und wieder wegschalten. Der Nachteil ist, dass dazu immer neu gebootet werden muss. Der Vorteil ist, dass das pupsave file nicht angefüllt wird und normalerweise werden die sfs Module auch nicht gleichzeitig ins Ram geladen wenn der Platz knapp ist.

Vor einiger Zeit gab es zusätzlich dazu einen interessanten Ansatz, Choicepup.
http://puppylinuxnews.org/puplets/choicepup-and-sfs-galore/?category=puplets/choicepup-and-sfs-galore/. Ich glaube die letzte Choicepup Version basierte auf Puppy 4.30.

Üblichwerweise werden sfs Module während des bootens im "Layered Filesystem" eingebunden. Choicepup mounted die SFS ausserhalb und erstellt nur "symbolic links" zu allen Files an den originalen Stellen im Verzeichnisbaum. Mit dieser Technik können sfs files theoretisch "on the fly" ein- und ausgeschaltet werden. Wenn du obigem link folgst findest du auch einen "sfs-linker.pet", d.h das sind die choicepup-scripts die du theoretisch auch im Standart puppy 431 verwenden kannst um diese Technik anzuwenden. Ich selbst habe mich zu wenig damit beschäftigt um zu sagen: es funktioniert 100%, aber vielleicht ist es einen Versuch wert.

Falls wirklich ab und zu Speicherkanppheiten auftreten kann eventuell ein vorbeugend angelegtes swapfile helfen http://puppylinux.org/wikka/SwapFile.
Vor kurzem habe ich dazu auch eine kleine GTK application gesehen - swapfile manager: http://www.murga-linux.com/puppy/viewtopic.php?t=58615
Wichtig ist dass swapfiles nur für gelegentliche Probleme, etwa um einen Absturz zu vermeiden, interessant sind, da die Performance doch stark leidet.

Vielleicht bringt auch noch Folgendes eine Verbesserung:
Ich habe vor einiger Zeit ein Puppy mit einem größeren Programmumfang basierend auf 431 remastered. Dabie ist ein bug in der Speicherverwaltung aufgefallen (siehe
http://bkhome.org/blog/?viewDetailed=01408)
Vielleicht hilft es schon etwas wenn Du die originale initrd.gz durch die folgende ersetzt
http://boxen.math.washington.edu/home/emil/stuff/initrd.gz

Ich hoffe es war vielleicht ein brauchbarer Tip dabei, auf jeden Fall viel Glück und
"keep us posted"
Emil
Back to top
View user's profile Send private message 
emil

Joined: 10 Nov 2009
Posts: 612
Location: Austria

PostPosted: Sat 06 Nov 2010, 11:08    Post subject: Zerlegung, Packete und Icons
Subject description: 1. Teil Packen und Entpacken von Pet und SFS files
 

Hallo Wolfgang,

es gibt sowohl bei Pets als auch bei sfs die Möglichkeit Desktop Icons und Menüeinträge zu generieren. Im inneren Aufbau sind die beiden Formate auch nicht so unterschiedlich. Der Hauptunterschied ist die Art der Datenkomprimierung und wie die Dateien während des Bootvorgangs in das "layered Filesystem"* eingebunden werden.

Ich würde dir vorschlagen zum Experimentieren einmal jeweils ein pet und ein sfs Paket zu entpacken. Dazu ist es empfehlenswert direkt auf der Festplatte, also z.B auf /mnt/home oder /mnt/sda1 zu arbeiten, da ansonsten das Pupsavefile sehr schnell angefüllt wird (bei frugal install). Falls man im Verzeichnis eines Pets (z.b. Pet-Name.pet) ein Terminal öffnet kann man das mit folgenden Befehlen durchführen:

Code:
cp Pet-Name.pet /mnt/home
cd /mnt/home
pet2tgz Pet-Name.pet                 
tar xzfv Pet-Name.tar.gz             
cd Pet-Name                             
ls -l -a


Man befindet sich nun im "Pet-Stammverzeichnis" (/mnt/home/Pet-Name)und sieht den Verzeichnisbaum der Paket Datei, zusätzlich noch ein File pet.specs (dieses kann man mit einem Texteditor anschauen, es enthält ganz grundlegende Informationen die z.B. vom Puppy Packetmanager verwendet werden). Zusätzlich könnten im Stammverzeichnis auch noch ein Install bzw Deinstall script vorhanden sein (sehr viele Pakete kommen aber ohne solche Scripte aus).
Wichtig ist, dass beim Installieren des pets die Files ausgehend vom "/ Verzeichnis" genauso in den Verzeichnisbaum "gemounted" werden wie im pet (ausgehend vom Pet-Stammverzeichnis) vorgegeben. Zum Beispiel findet sich /mnt/home/Pet-Name/bin/executable später einfach unter /bin/executable.

Nun führen wir das gleiche mit eine sfs Paket durch. Im Gegensatz zum gz Format ist sfs ein komprimiertes Filesystem, d.h. Puppy Linux kann sfs files auch unabhängig vom Bootmanager mounten. Wir verwenden das Entwicklungspaket devx_431.sfs als Beispiel. Falls du es noch nicht im Bootmanager eingebunden hast kannst du ganz einfach auf das File klicken. Es müsste sich ein ROX Fenster öffnen mit dem Inhalt des sfs Files. Wenn man aber hier direkt etwas zu ändern versucht kommt eine Fehlermeldung (Error:read only Filesystem) - ganz klar, das sfs paket wird für die Änderung nicht aufgeschnürt! Man kann aber ein Arbeitsverzeichnis machen (in /mnt/home ein neues Verzeichnis devx_431 erstellen, alle Dateien und Folder im sfs Verzeichnis markieren und hinüberkopieren. Das Gleiche erreicht man alternativ mit dem Befehl unsquashfs, also wieder mittels Komandozeile:

Code:
cp devx_431.sfs /mnt/home
unsquashfs devx_431.sfs
cd squashfs-root
ls -l -a


Ist bei unsquashfs nur 1 Parameter (Filename) angegeben so wird ein sfs-Stammverzeichnis mit Standartnamen squashfs-root erstellt. Wir hätten hier auch einen eigenen Verzeichnisnamen (mittels Kommandozeilenoption -d und einem 2. Parameter) angeben können.

In den Verzeichnissen kann nun der Inhalt der Pakete geändert werden. Vor allem können nicht benötigte Teile gelöscht werden (z.b. Dokumentation oder Sprachpakete, Header/Entwicklungsdateien). Man kann aber auch zum Beispiel 2 Pakete vereinigen, indem man die entsprechenden Verzeichnisse zusammenkopiert ("merge"). Einen Beitrag zu Menüeinträgen und Desktopicons will ich noch folgen lassen, aber im Prinzip geht es auch hier nur um Files die im Paket hinzugefügt werden (oder geändert werden).

Um wieder ein Pet file mit den durchgeführten Änderungen zu erstellen genügt es den dir2pet script zu starten, für den Anfang kann man bei den Fragen Return zu drücken. (Achtung: falls man das alte Pet nicht überschreiben will sollte man vorher das Verzeichnis umbenennen z.B. in Neuer-Pet-Name)

Code:
cd /mnt/home
mv Pet-Name Neuer-Pet-Name
dir2pet Neuer-Pet-Name


Das sfs-verzeichnis kann mit den folgenden Befehlen neu gepackt werden:

Code:
cd /mnt/home
mksquashfs squashfs-root devx_431_neu.sfs


Nehmen wir an wir wollen das Pet in ein sfs umwandlen so würden wir folgendermaßen vorgehen:

Code:
cd /mnt/home/Neuer-Pet-Name
rm pet.specs
cd ..
mksquashfs Neuer-Pet-Name Neuer-Pet-Name.sfs


Ich möchte hier noch anmerken, dass das Hauptfile eines Puppy Linux Systems ebenfalls ein sfs File ist. Im Falle von Version 4.31 glaube ich pup-431.sfs. Um eine eigene Puppy zu "remastern" kann man dieses File nach oben genannter Methode entpacken, die Änderungen gezielt durchführen und dann wieder neu einpacken - dies ist meine bevorzugte Methode gegenüber den verschiedenen "remasterscripts" falls nur einige kleine Änderungen zu machen sind.

Die grundlegenden Techniken zum Auf- und Zuschnüren von Puppy Paketen habe ich damit erklärt (hoffentlich verständlich und nicht zu weitschweifig). Weitere Informationen (english) gibt es zum Beispiel von Technosaurus hier.

Emil


* How puppy works, vor allem Architecture Overview über das mehrlagige Filesystem ist empfehlenswert:

Last edited by emil on Sun 07 Nov 2010, 16:21; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website 
der-schutzhund

Joined: 26 Nov 2007
Posts: 781
Location: Blomberg / Germany

PostPosted: Sat 06 Nov 2010, 18:04    Post subject:  

Hallo emil,

besten Dank für die Doku zum Thema!
Vielleicht kannst du das zur Erzeugung von Starticons sowie Deinstallation noch nachschieben;-)

Wenn es um das Einrichten der PCs in meinem PC-Raum geht, dann
ist mir jetzt schon einiges klar geworten.

Ein Puppy mit allen Programmen zusammenstellen, wobei möglichst viele Teile im Bereich mnt/home/meinprog eingebaut werden und Starticon auf dem desktop erzeugen
Remastern und LiveCD erstellen. Die Inhalte von mnt/home/meinprog auf eine weitere CD gebrannt.
Dann zunächst auf dem ZielPC das Kernsystem installieren und anschließend die zusätzlichen Verzeichnisse in die gleichen Verzeichnisse im Zielsystem kopieren.

Man könnte doch aber auch von Hand diese Dateien beim Remastern mit einbinden. Dann würde das ISO viel größer werden aber der erforderliche RAM dürfte sich dadurch doch eigentlich nicht erhöhen und man könnte sich viel Handarbeit bei der Installation ersparen.

Wie ist das eigentlich mit dem Ram.
Auf meinem aktuellen Notebook sind 2GB vorhanden. Starte ich mit pfix=ram dann wird bei 4.3.1-de unten ein freier Speicher von 2014 MB angezeigt. Lasse ich dann eine persönliche Speicherdatei erzeugen wird nach dem Neustart nur noch ca. 500 MB angezeigt. Der vorhandene Ram wird doch wohl drotzdem noch voll genutzt oder?

Noch eine Frage:
Hast du eine Ahnung wie viel Ram man für die 431-de braucht damit es flüssig läuft? Mit 96MB Ram läuft es sogar mit einigen nachträglich installierten Programmen aber besonders schnell ist das System nicht. Habe zusätzlich noch ein Swap von 98 MB eingerichtet. Hat nur nichts gebracht.
Der PC hat eine 2,5GB HD mit FAT32 und einen Pentium Proz..

Grüße Wolfgang
Back to top
View user's profile Send private message 
emil

Joined: 10 Nov 2009
Posts: 612
Location: Austria

PostPosted: Sat 06 Nov 2010, 18:48    Post subject: schnelle Antwort  

Hallo Wolfgang,

zum 2 GB notebook:
Das ist ein häufiges Missverständnis der "freien Speicheranzeige". Ohne Safefile wird der freie Ram angezeigt, mit Safefile der restliche Platz im Safefile.
Falls Du unter Utility (Werkzeuge) Persönliche Sicherungsdatei erweitern wählst sollte der angezeigte freie Speicher sich dementsprechend erhöhen.

Eine Aufstellung über das wirklich freie Ram erhältst du z.B über den Kommandozeilenbefehl "free".

zum 96 MB Computer:
96 MB erscheint mir wirklich minimal, ich habe auch keine Erfahrung mit so kleinen Speichern. Beim hochfahren checkt puppy aber den verfügbaren Speicher, falls nicht genügend Platz ist wird z.b. trotz pfix=ram oder pfix=copy nicht alles auf einmal in den Speicher geladen. Durch die notwendigen Zugriffe wird es dann natürlich langsam. Eine Regel für swapspace besagt dass er ca 1 bis 2 mal so groß sein soll wie das installierte Ram, aber kann man sich 96 MB ram nicht z.B 256 MB swapspace gönnen?

Zum deiner Strategie:
Ich würde es einmal mit einem Kernsystem und dann 2 bis 3 weiteren sfs files versuchen (ruhig auch mal alle gemeinsam eingebunden). Ich könnte mir vorstellen dass es funktioniert - natürlich nur wenn die PCs etwas mehr als 96 MB haben.

Menüpunkte und Desktopicons werde ich noch nachschieben, leider schreibe ich schon wieder zu weitschweifig und dann daurts halt...
Emil
Back to top
View user's profile Send private message Visit poster's website 
emil

Joined: 10 Nov 2009
Posts: 612
Location: Austria

PostPosted: Sat 06 Nov 2010, 20:11    Post subject: Zerlegung; Pakete und Icons
Subject description: 2. Teil Menüstruktur und Menüeinträge
 

Servus Wolfgang,

im zweiten Teil will ich Deine Fragen nach Menüeinträgen behandeln (zu den Desktopicons wird es noch einen 3. Teil geben). Nun muss ich gleich bekennen, dass ich auf diesen Gebieten kein Experte bin, aber da ich mich in letzter Zeit damit beschäftigt habe will ich meine Erkenntnisse teilen. Meines Wissens gibt es darüber auch kein wirklich umfassendes HOWTO, auch nicht im englischen Forum. Ich habe mir die folgenden Informationen also Stück für Stück zusammentragen müssen.

Grundsätzlich erscheint das Thema am Anfang auch deshalb so unzugänglich, da das System für das Menü zahlreiche Files benutzt die auch noch an unterschiedlichen Orten "verstreut" abgespeichert sind. Zusätzlich sind bei den verschiedenen Puppy Versionen auch verschiedene "Window Manager" im Einsatz, d.h. hier kann es noch einmal Unterschiede geben. Ich spreche im Folgenden über meine Erfahrungen mit JWM, einige Dinge können im deutschen Puppy von deapsea daher abweichen.

Ich beginne mit einer kurzen Übersicht über die hauptsächlich benutzten Verzeichnisse. Die relevanten Files sind entweder einfache Textfiles oder im XML Format geschrieben - diese kann man am besten mit Geany anschauen oder bearbeiten (als Textfile öffnen). Für die Icons ist mpaint am Besten geeignet:

etc/xdg/templates
etc/xdg/menus

Hier befinden sich xml Dateien welche die Menüstruktur festlegen

usr/share/applications
usr/share/desktop-directories

Hier befinden sich Dateien welche den einzelnen Anwendungen zugeordnet sind und die Anwendungen mit der Menüstruktur sowie den Icons verknüpfen

usr/share/pixmaps
usr/local/lib/X11/mini-icons
usr/local/lib/X11/pixmaps

Hier befinden sich die Grafiken für die Icons

Ich versuche zuerst kurz das Prinzip zu erklären und dann einige Anwendungsbeispiele zu geben. Da das Thema komplex ist rate ich zum Verständnis im eigenen Puppy System mitzuschauen und die genannten Files zu öffnen. Zusätzlich ist es vielleicht nützlich die Struktur auf einem Blatt Papier zu skizzieren.

Menüstruktur

Das Menüstruktur wird durch eine Verknüpfung verschiedener Files erzeugt. Es entsteht eine "Art" Baumstruktur. Die Wurzel dieses Baumes ist:
/etc/xdg/templates/_root_.jwmrc
Das ist das Basic Template für die File Struktur. Darin finden sich sie folgenden Zeilen (Ausschnitt):

Code:
...
<RootMenu label="Menu" labeled="false" height="24" onroot="3">

PUPPYMENU jwm-xdgmenu /etc/xdg/menus/puppy-desktop.menu
PUPPYMENU jwm-xdgmenu /etc/xdg/menus/puppy-system.menu
PUPPYMENU jwm-xdgmenu /etc/xdg/menus/puppy-setup.menu
...


Es werden also hier eine Reihe von .menu Files eingebunden, z.B: /etc/xdg/menus/puppy-desktop.menu. In diesen Files finden sich die weitere Menüstruktur beschrieben, im Falle von puppy-desktop.menu (Ausschnitt)

Code:
 ...
  <Menu>
    <Name>DesktopSettings</Name>
    <Directory>Puppy-DesktopSettings.directory</Directory>
    <Include>
      <Category>X-Desktop</Category>
      <Category>DesktopSettings</Category>
      <Category>Screensaver</Category>
      <Category>Accessibility</Category>
    </Include>
  </Menu>

  <Menu>
    <Name>DesktopCountry</Name>
    <Directory>Puppy-DesktopCountry.directory</Directory>
    <Include>
      <Category>X-DesktopCountry</Category>
    </Include>
  </Menu>
...


<Menu> definiert einen Menüeintrag mit internem <Name>. Wichtig sind die Zeilen mit <Directory> und <Category>, sie stellen weitere Verknüpfungen zu Files im Bereich /usr/share her.

<Directory> beschreibt wie der Eintrag im Menü tatsächlich auf dem Bildschirm erscheinen soll. Diese Informationen sind im Verzeichnis /usr/share/desktop-directories gespeichert. Für jeden Menüeintrag sollte hier ein File mit der Endung .desktop vorhanden sein. Puppy-DesktopSettings.directory sieht z.B: so aus:

Code:
[Desktop Entry]
Encoding=UTF-8
Name=Desktop Settings
Name[de]=Desktop Einstellungen
Icon=mini.window3d.xpm
Type=Directory


Man beachte das es hier möglich ist verschiedene Spracheinstellungen zu berücksichtigen.

<Category> bestimmt welche Anwendungen unter diesem Menüpunkt angezeigt werden. Und zwar haben alle Programme die im Menü aufscheinen sollen ein eigenes File im Folder /usr/share/applications mit der Endung .desktop, z.B wallpaper.desktop:

Code:
[Desktop Entry]
Encoding=UTF-8
Name=Wallpaper setter
Name[de]=Hintergrundbild setzen
Name[es]=Selector de Fondo de Pantalla Nathan
Icon=wallpaper.png
Comment=Set backdrop image
Exec=wallpaper
Terminal=false
Type=Application
Categories=DesktopSettings
GenericName=Wallpaper setter


Es ist eigentlich klar was die einzelnen Eintragungen bedeuten. Name erscheint als Text im Menü, man beachte wieder die Möglichkeit für verschieden Spracheinstellungen, Icon wählt ein Grafikfile in einem der möglichen Ordner. Exec gibt an welches Program gestartet wird. Und besonders wichtig: Categories sorgt dafür, dass dieser Eintrag bei allen Menüpunkten erscheint wo dieser Eintrag mit einer <Category> im .menu File übereinstimmt.

Die gesamte Menüstruktur die durch all diese verschiedenen Files vorgegeben ist wird durch den Befehl fixmenus in das file /root/.jwmrc übertragen. Wenn man mit dem ursprünglichen Template (etc/xdg/templates/_root_.jwmrc) vergleicht, sieht man wie Schritt für Schritt aus den verschiedenen Informationen das endgültige Menü zusammengesetzt wird. Sehen kann man den Eintrag dann allerdings immer noch nicht, dazu ist es nötig den Windowmanager neu zu starten mit jwm -restart. Diese Sequenz (fixmenus, jwm -restart) wird z.b. auch vom Puppy Packegemanager immer ausgeführt, deshalb flackert der Bildschirm kurz.

Ob es vielleicht auch weniger kompliziert ginge? Wahrscheinlich, aber nach einiger Zeit findet man sich ganz gut zurecht und das System ist recht flexibel. Es ist z.B. sehr einfach Programm hinzuzufügen oder wegzunehmen, es müssen nur die .desktop Files in /usr/share/applications erzeugt oder gelöscht werden. Die restliche Struktur bleibt davon völlig unberührt.

Führt man den dir2pet script aus hat man die Möglichkeit einen Menüeintrag zu erzeugen. Im Prinzip wird hier nur ein die Menüstruktur /usr/share/applications und ein .desktop File für das Programm erzeugt. D.h man kann einen solchen Menüeintrag auch selbst herstellen, natürlich auch in einem sfs File. Am einfachsten ist es wenn man als Vorlage ein bestehendes .desktop file editiert.

Beispiele:
Wichtig beim Probieren ist, dass man nicht auf die Befehlsequenz fixmenus, jwm -restart vergisst, da man sonst die Änderungen im menü nicht sehen kann. Ausserdem muss man genau auf die Rechtschreibung achten, sonst werden die Einträge nicht zugeordnet.

Beispiel 1: Ein Programm im Menu hinzufügen
wir wollen z.b, dass fixmenus im Desktop Menü erscheint. Fixmenus ist in /usr/sbin, wird also gefunden, aber das Programm hat noch keinen Eintrag in /usr/share/applications. Wir nehmen daher ein Programm als Vorlage das in diesem Menüpunkt aufscheint (z.p wallpaper.desktop) und editieren, z.B:

Code:
[Desktop Entry]
Encoding=UTF-8
Name=Fix Menus
Icon=setup48.png
Exec=fixmenus
Terminal=false
Type=Application
Categories=DesktopSettings
GenericName=Fix Menus


Und speichern als /usr/share/applications/fixmenus.desktop
Um den Eintrag zu sehen müssen wir noch im Terminal fixmenus eingeben - Leider ändert sich im Menu immer noch nichts, man muss zuerst mit jwm -restart den Window manager neu starten - das ist unpraktisch.

Um wirklich einen brauchbaren Menüpunkt zu haben kann man etwa folgenden scrip schreiben:

Code:

#!/bin/sh
fixmenus
jwm -restart


und unter /usr/bin/really_fixmenus abspeichern (Eigenschaften auf ausführbar setzen). Natürlich muss in fixemenus.desktop noch auf Exec=really_fixmenus ändern.
Nun sollte man einen brauchbaren Menüeintrag haben bei dem auf Knopfdruck das Menü aktualisiert wird.


Beispiel 2: Einen neuen Menüpunkt "Schule" anlegen
Dazu editiert man das template _root_.jwmrc (mit Geany öffnen) und fügt folgende Zeile ein (nach <Seperator/>)

Code:
PUPPYMENU jwm-xdgmenu /etc/xdg/menus/puppy-schule.menu


natürlich fehlt dieses .menu file noch, am besten man öffnet die Vorlage /etc/xdg/menus/puppy-SKELETON.menu und editiert es z.B so:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xfdesktop-menu PUBLIC "-//freedesktop//DTD Menu 0.8//EN" "http://www.freedesktop.org/standards/menu-spec/menu-0.8.dtd">
<Menu>
  <Name>Schule</Name>
  <DefaultAppDirs/>
  <DefaultDirectoryDirs/>
  <AppDir>/opt/kde/share/applications/kde</AppDir>
  <Directory>Puppy-Schule.directory</Directory>
  <Include>
    <Category>Schule</Category>
  </Include>
</Menu>


und speichert es unter Puppy-schule.menu.

Nun fehlt noch das entsprechende .directory file. Wir erstellen /usr/share/desktop-directories/Puppy-Schule.directory, etwa folgendermaßen:

Code:
[Desktop Entry]
Encoding=UTF-8
Name=Schule
Icon=draw24.png
Type=Directory


Nun fehlen nur noch die Programme dafür. Ein Taschenrechner wäre z.B. nicht schlecht. Also ändern wir im File /usr/share/applications/Xcalc-scie...calculator.desktop in der Zeile

Code:
Categories=Calculator

auf
Code:
Categories=Calculator;Schule
!!! wichtig kein Leerzeichen hinter dem ;

Nun müsste dieser Taschenrechner 2 mal im Menü zu finden sein, einmal unter Schule und einmal unter der ursprünglichen Eintragung.

Beispiel 3: Einen Menüeintrag in einem Pet oder sfs File hinzufügen
Nach dem oben genannten Beispielen ist das einfach - in das Paket stammverzeichnis ein /usr/share/applications/programmname.desktop hinzufügen und auf die gewünschte Kategorie achten.

Beispiel 3: Die Menüstruktur in einem Pet oder sfs File ändern
Hier spekuliere ich jetzt ein wenig da ich das noch nicht ausprobiert habe. Ich glaube das die obige Methode mit geänderten Files in der Verzeichnisstruktur der Pakete nicht funktioniert.
Bei sfs-paketen haben geänderte Files keine Auswirkung, da meines Wissens die sfs die unterste schicht des "layered" Filesystems darstellen und von den darüberliegenden originalen Files in der pup-431.sfs einfach überschrieben werden.
Bei pet paketen ist die Anwendung noch problematischer. Das Safefile liegt über der pup-431.sfs, eine geänderte Menüstruktur kann zwar installiert werden, wird das pet jedoch deinstalliert bleiben die Löscheinträge bestehen und die originalen Menüfiles sind "ausmarkiert". Das Menü funktioniert nicht mehr.

Eine Möglichkeit wäre mit install- und uninstallscripten zu arbeiten. Habe ich aber noch nie gemacht. Da man bei Desktopicons etwas ähnliches benötigt spare ich mir einen Versuch für den 3.Teil auf.

Falls jemand wissen sollte wie sowas richtig gemacht wird - wäre sehr interessant ...

emil
Back to top
View user's profile Send private message Visit poster's website 
emil

Joined: 10 Nov 2009
Posts: 612
Location: Austria

PostPosted: Sun 07 Nov 2010, 08:23    Post subject: Zerlegung; Pakete und Icons
Subject description: Teil 3: Bildschirmicons
 

Hallo,

ich muss mich ein wenig kürzer fassen, Sonntag. Im deutschen Puppy wird alles was sich in /root/Desktop befindet als icon angezeigt. (Ich glaube Icewm und Xfce)

Will man nun z.B. für das Openoffice oo320 .. sfs ein desktop Icon miterzeugen kann man folgendermaßen vorgehen. sfs entpacken, dann das File
/squashfs-root/opt/openoffice.org3/program/swriter nach /squashfs/root/Desktop
kopieren.
Damit haben wir einen Desktopeintrag, allerdings ist noch kein schönes Grafikicon verknüpft. Am einfachsten erstellen wir für swriter wieder ein swriter.desktop fil in /usr/share/application, z.B. so

Code:
[Desktop Entry]
Version=1.0
Terminal=false
Icon=openofficeorg3-writer
Type=Application
Categories=None
Exec=openoffice.org3 -writer %U
MimeType=application
Name=OpenOffice.org 3.2 Writer
GenericName=Word Processor


analog kann man für scalc, simpress etc vorgehen.
dann wieder mksquafs squashfs-root oo320_batched_de.sfs

jetzt müsste es Desktopicons für Open Office geben.
Ähnlich für Pets

Anmerkungen zu JWM:
Für JWM/Rox befinden sich die Angaben Bildschirmicons im Folder

/root/Choices/Rox-Filer

Dabei ist PuppyPin für die Position und die Beschriftung zuständig.
globicons stellt die Verknüfung zwischen Icon-Grafik und Answendung her.

Wenn man ein Puppy remastered funktioniert es ganz gut wenn man diese Dateien von Hand editiert.

sfs und pets die eigene Desktop icons erzeugen wollen müssten sich in diese Dateien eintragen. Für sfs habe ich gelesen das eventuell vorhanden PuppyPin automatisch "gemerged" werden, aber ich bin mir nicht sicher ob das noch so funktioniert:

Allerdings habe ich einen alten thread gefunden indem MU eine Lösung präsentiert wie icons zum desktop hinzufügt werden können(mittels XML Befehlen für ROX).

http://www.murga-linux.com/puppy/viewtopic.php?t=46875

Wenn man solchen code mittels pinstall.sh ausführt, müssten in Rox icons erzeugt werden. dann brächte man nur noch eine script zum entfernen der icons für den script puinstall.sh

Emil
Back to top
View user's profile Send private message Visit poster's website 
eastler_dart

Joined: 11 Feb 2009
Posts: 32

PostPosted: Sun 07 Nov 2010, 14:50    Post subject:  

Hm.

der Thread ist zwar wahnsinnig interessant, aber...

Die Problemstellung heißt doch:
der Zielrechner hat ne 2,5GB-Platte
wie krieg ich das System dort drauf

Der einfachste Weg ist dabei doch, ein Grundsystem zu
erstellen, ganz normal, eine Speicherdatei dazu erstellen,
neu starten, daß sie erstellt wird,
auf Menü-Tools-Speicherdatei vergrößern gehen,
im Text wird angegeben, wieviel Platz noch frei ist,
die Speicherdatei entsprechend vergrößern, bis es
paßt. Sollte das nicht auf einmal gehen, eben mehrmals
neu starten und wiederum die Speicherdatei vergrößern.

Gegenkonrolle wäre, die Puppy-sfs und die Daten.2fs zusammen
sollten annähernd die 2,5GB der Zielplatte haben.
(ggf. abzüglich angelegter Swap-Partition)

Und nun dieses System booten, alles reinspielen, was gebraucht wird,
danach die beiden Dateien auf Zielrechner kopieren
(und zusätzlich sichern - DVD-Brennen?)

Wenns jetzt nicht ausreicht, ist sowieso alles verloren.
Die Festplatte des Zielrechners ist voll. Da ist kein Platz
für andere sfs-Dateien, auch in /mnt/home ist nix mehr frei.

Hoffe, daß ich alles richtig verstanden hatte und meine Tips
weiter helfen

Eastler
Back to top
View user's profile Send private message 
deepsea

Joined: 17 Jan 2009
Posts: 154
Location: Deutschland

PostPosted: Sun 07 Nov 2010, 15:39    Post subject:  

Moin Zusammen
ersmal Danke an emil für seine ausführliche Beschreibung Wink

Sie gilt auch für den Xfce4 Desktop mit 2 Ausnahmen.
1 Die Menue Beschreibungs Datei ist /etc/xdg/menus/xfce-applications.menu
2 Restart vom X-Server und damit Xfce4 ist nur notwendig wenn man diese Datei anpasst.
Bei zusätzlichen Einträgen im ordner /usr/share/applications wird automatisch aktualisiert.

der-schutzhund wrote:

Wenn ich jetzt allerdings die ganzen Programme in ein einziges Puppy einbaue, dann bekomme ich ein Problem, dass der Arbeitsspeicher der Rechner nicht mehr ausreicht. Wie kann ich am einfachsten das Kernpuppy starten und dann evtl. aus einem Menü ein Modul auswählen, mit dem dann gearbeitet werden kann:
Als Beispiel hätte ich dann drei "Module":

1. OpenOffice (allgemein Textbearbeitung + Mindmapping)
2. CADCAM (CAD-Programm und CNC-Programme)
3. Elektronik (Schaltplanerstellung und Programmierung)


Als Anmerkung hast du schon mal den SFS-Linker von hier ausprobiert.
Wenn du 1. 2. und 3 als sfs hast wäre dass ja wohl genau das was du brauchst. Question
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 1 of 2 [22 Posts]   Goto page: 1, 2 Next
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » House Training » Users ( For the regulars ) » Für deutschsprachige Anhänger
Jump to:  

You cannot post new topics in this forum
You cannot 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
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.1664s ][ Queries: 12 (0.0038s) ][ GZIP on ]