penguins-eggs 9.6.14 → 9.6.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.oclif.manifest.json +1 -1
- package/README.md +5 -3
- package/conf/README.md +17 -4
- package/conf/exclude.list +3 -2
- package/dist/classes/daddy.js +6 -6
- package/dist/classes/ovary.js +16 -3
- package/dist/classes/pxe.js +15 -21
- package/dist/classes/settings.js +6 -4
- package/dist/commands/export/iso.js +12 -4
- package/dist/commands/kill.js +9 -5
- package/dist/lib/kill_me_softly.js +5 -1
- package/manpages/doc/man/README.md +0 -4
- package/manpages/doc/man/eggs.1.gz +0 -0
- package/manpages/doc/man/eggs.html +6 -4
- package/package.json +1 -1
- package/scripts/_eggs +3 -0
- package/scripts/eggs.bash +3 -3
package/.oclif.manifest.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"9.6.14","commands":{"adapt":{"id":"adapt","description":"adapt monitor resolution for VM only","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs adapt"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"analyze":{"id":"analyze","description":"analyze for syncto","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs analyze"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"calamares":{"id":"calamares","description":"configure calamares or install or configure it","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs calamares","sudo eggs calamares --install","sudo eggs calamares --install --theme=/path/to/theme","sudo eggs calamares --remove"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"install":{"name":"install","type":"boolean","char":"i","description":"install calamares and its dependencies","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"policies":{"name":"policies","type":"boolean","char":"p","description":"configure calamares policies","allowNo":false},"release":{"name":"release","type":"boolean","char":"r","description":"release: remove calamares and all its dependencies after the installation","allowNo":false},"remove":{"name":"remove","type":"boolean","description":"remove calamares and its dependencies","allowNo":false},"theme":{"name":"theme","type":"option","description":"theme/branding for eggs and calamares","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"config":{"id":"config","description":"Configure and install prerequisites deb packages to run it","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs config","sudo eggs config --clean","sudo eggs config --clean --nointeractive"],"flags":{"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old configuration before to create new one","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"noicons":{"name":"noicons","type":"boolean","char":"N","description":"no icons","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"cuckoo":{"id":"cuckoo","description":"PXE start with proxy-dhcp","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs cuckoo"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"dad":{"id":"dad","description":"ask help from daddy - TUI configuration helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo dad","sudo dad --clean","sudo dad --default"],"flags":{"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old configuration before to create","allowNo":false},"default":{"name":"default","type":"boolean","char":"d","description":"remove old configuration and force default","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"install":{"id":"install","description":"krill: the CLI system installer - the egg became a penguin!","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs install","sudo eggs install --unattended --halt","sudo eggs install --custom it"],"flags":{"crypted":{"name":"crypted","type":"boolean","char":"k","description":"Crypted CLI installation","allowNo":false},"custom":{"name":"custom","type":"option","char":"c","description":"custom unattended configuration","multiple":false},"domain":{"name":"domain","type":"option","char":"d","description":"Domain name, defult: .local","multiple":false},"halt":{"name":"halt","type":"boolean","char":"H","description":"Halt the system after installation","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"ip":{"name":"ip","type":"boolean","char":"i","description":"hostname as ip, eg: ip-192-168-1-33","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"none":{"name":"none","type":"boolean","char":"N","description":"Swap none: 256M","allowNo":false},"pve":{"name":"pve","type":"boolean","char":"p","description":"Proxmox VE install","allowNo":false},"random":{"name":"random","type":"boolean","char":"r","description":"Add random to hostname, eg: colibri-ay412dt","allowNo":false},"small":{"name":"small","type":"boolean","char":"s","description":"Swap small: RAM","allowNo":false},"suspend":{"name":"suspend","type":"boolean","char":"S","description":"Swap suspend: RAM x 2","allowNo":false},"unattended":{"name":"unattended","type":"boolean","char":"u","description":"Unattended installation","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose","allowNo":false}},"args":[]},"kill":{"id":"kill","description":"kill the eggs/free the nest","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs kill"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"mom":{"id":"mom","description":"ask help from mommy - TUI helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs mom"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"produce":{"id":"produce","description":"produce a live image from your system whithout your data","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs produce","sudo eggs produce --standard","sudo eggs produce --max","sudo eggs produce --max --basename=colibri","sudo eggs produce --cryptedclone","sudo eggs produce --clone","sudo eggs produce --basename=colibri","sudo eggs produce --basename=colibri --theme theme --addons adapt"],"flags":{"addons":{"name":"addons","type":"option","description":"addons to be used: adapt, ichoice, pve, rsupport","multiple":true},"basename":{"name":"basename","type":"option","description":"basename","multiple":false},"clone":{"name":"clone","type":"boolean","char":"c","description":"clone","allowNo":false},"cryptedclone":{"name":"cryptedclone","type":"boolean","char":"C","description":"crypted clone","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"max":{"name":"max","type":"boolean","char":"m","description":"max compression","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"noicons":{"name":"noicons","type":"boolean","char":"N","description":"no icons on desktop","allowNo":false},"prefix":{"name":"prefix","type":"option","char":"p","description":"prefix","multiple":false},"release":{"name":"release","type":"boolean","description":"release: max compression, remove penguins-eggs and calamares after installation","allowNo":false},"script":{"name":"script","type":"boolean","char":"s","description":"script mode. Generate scripts to manage iso build","allowNo":false},"standard":{"name":"standard","type":"boolean","char":"f","description":"standard compression","allowNo":false},"theme":{"name":"theme","type":"option","description":"theme for livecd, calamares branding and partitions","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false},"yolk":{"name":"yolk","type":"boolean","char":"y","description":"-y force yolk renew","allowNo":false}},"args":[]},"status":{"id":"status","description":"informations about eggs status","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs status"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"syncfrom":{"id":"syncfrom","description":"restore users and user data from a LUKS volumes","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs syncfrom","sudo eggs syncfrom --file /path/to/fileLUKS"],"flags":{"delete":{"name":"delete","type":"option","description":"rsync --delete delete extraneous files from dest dirs","multiple":false},"file":{"name":"file","type":"option","char":"f","description":"file LUKS volume encrypted","multiple":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"rootdir":{"name":"rootdir","type":"option","char":"r","description":"rootdir of the installed system, when used from live","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"syncto":{"id":"syncto","description":"saves users and user data in a LUKS volume inside the iso","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs syncto","sudo eggs syncto --file /path/to/fileLUKS"],"flags":{"delete":{"name":"delete","type":"option","description":"rsync --delete delete extraneous files from dest dirs","multiple":false},"file":{"name":"file","type":"option","char":"f","description":"file LUKS volume encrypted","multiple":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"update":{"id":"update","description":"update the Penguins' eggs tool","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs update"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"export:deb":{"id":"export:deb","description":"export deb/docs/iso to the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs export deb","eggs export deb --clean","eggs export deb --all"],"flags":{"all":{"name":"all","type":"boolean","char":"a","description":"export all archs","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old .deb before to copy","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"export:iso":{"id":"export:iso","description":"export iso in the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs export iso","eggs export iso --clean"],"flags":{"clean":{"name":"clean","type":"boolean","char":"c","description":"delete old ISOs before to copy","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:clean":{"id":"tools:clean","description":"clean system log, apt, etc","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs tools clean"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:ppa":{"id":"tools:ppa","description":"add/remove repo","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs tools ppa --add","sudo eggs tools ppa --remove"],"flags":{"add":{"name":"add","type":"boolean","char":"a","description":"add penguins-eggs PPA repository","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"remove":{"name":"remove","type":"boolean","char":"r","description":"remove penguins-eggs PPA repository","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:skel":{"id":"tools:skel","description":"update skel from home configuration","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs tools skel","sudo eggs tools skel --user user-to-be-copied"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"user":{"name":"user","type":"option","char":"u","description":"user to be used","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"tools:stat":{"id":"tools:stat","description":"get statistics from sourceforge","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs tools stat","eggs tools stat --month","eggs tools stat --year"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"month":{"name":"month","type":"boolean","char":"m","description":"current month","allowNo":false},"year":{"name":"year","type":"boolean","char":"y","description":"current year","allowNo":false}},"args":[]},"tools:yolk":{"id":"tools:yolk","description":"configure eggs to install without internet","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs tools yolk"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[],"dir":"/var/local/yolk"},"wardrobe:get":{"id":"wardrobe:get","description":"get warorobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs wardrobe get","eggs wardrobe get your-wardrobe"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[{"name":"repo","description":"repository to get","required":false}]},"wardrobe:list":{"id":"wardrobe:list","description":"list costumes and accessoires in wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs wardrobe list","eggs wardrobe list your-wardrobe","eggs wardrobe list --distro arch"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"distro":{"name":"distro","type":"option","char":"d","description":"distro","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[{"name":"wardrobe","description":"wardrobe","required":false}]},"wardrobe:show":{"id":"wardrobe:show","description":"show costumes/accessories in wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs wardrobe show colibri","eggs wardrobe show accessories/firmwares","eggs wardrobe show accessories/"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"json":{"name":"json","type":"boolean","char":"j","description":"output JSON","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"wardrobe":{"name":"wardrobe","type":"option","char":"w","description":"wardrobe","multiple":false}},"args":[{"name":"costume","description":"costume","required":false}],"example":["eggs wardrobe show colibri","eggs wardrobe show accessories/firmwares","eggs wardrobe show accessories/"]},"wardrobe:wear":{"id":"wardrobe:wear","description":"wear costume/accessories from wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs wardrobe wear duck","sudo eggs wardrobe wear accessories/firmwares","sudo eggs wardrobe wear wagtail/waydroid"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"no_accessories":{"name":"no_accessories","type":"boolean","char":"a","description":"not install accessories","allowNo":false},"no_firmwares":{"name":"no_firmwares","type":"boolean","char":"f","description":"not install firmwares","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"wardrobe":{"name":"wardrobe","type":"option","char":"w","description":"wardrobe","multiple":false}},"args":[{"name":"costume","description":"costume","required":false}]}}}
|
|
1
|
+
{"version":"9.6.16","commands":{"adapt":{"id":"adapt","description":"adapt monitor resolution for VM only","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs adapt"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"analyze":{"id":"analyze","description":"analyze for syncto","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs analyze"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"calamares":{"id":"calamares","description":"configure calamares or install or configure it","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs calamares","sudo eggs calamares --install","sudo eggs calamares --install --theme=/path/to/theme","sudo eggs calamares --remove"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"install":{"name":"install","type":"boolean","char":"i","description":"install calamares and its dependencies","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"policies":{"name":"policies","type":"boolean","char":"p","description":"configure calamares policies","allowNo":false},"release":{"name":"release","type":"boolean","char":"r","description":"release: remove calamares and all its dependencies after the installation","allowNo":false},"remove":{"name":"remove","type":"boolean","description":"remove calamares and its dependencies","allowNo":false},"theme":{"name":"theme","type":"option","description":"theme/branding for eggs and calamares","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"config":{"id":"config","description":"Configure and install prerequisites deb packages to run it","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs config","sudo eggs config --clean","sudo eggs config --clean --nointeractive"],"flags":{"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old configuration before to create new one","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"noicons":{"name":"noicons","type":"boolean","char":"N","description":"no icons","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"cuckoo":{"id":"cuckoo","description":"PXE start with proxy-dhcp","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs cuckoo"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"dad":{"id":"dad","description":"ask help from daddy - TUI configuration helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo dad","sudo dad --clean","sudo dad --default"],"flags":{"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old configuration before to create","allowNo":false},"default":{"name":"default","type":"boolean","char":"d","description":"remove old configuration and force default","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"install":{"id":"install","description":"krill: the CLI system installer - the egg became a penguin!","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs install","sudo eggs install --unattended --halt","sudo eggs install --custom it"],"flags":{"crypted":{"name":"crypted","type":"boolean","char":"k","description":"Crypted CLI installation","allowNo":false},"custom":{"name":"custom","type":"option","char":"c","description":"custom unattended configuration","multiple":false},"domain":{"name":"domain","type":"option","char":"d","description":"Domain name, defult: .local","multiple":false},"halt":{"name":"halt","type":"boolean","char":"H","description":"Halt the system after installation","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"ip":{"name":"ip","type":"boolean","char":"i","description":"hostname as ip, eg: ip-192-168-1-33","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"none":{"name":"none","type":"boolean","char":"N","description":"Swap none: 256M","allowNo":false},"pve":{"name":"pve","type":"boolean","char":"p","description":"Proxmox VE install","allowNo":false},"random":{"name":"random","type":"boolean","char":"r","description":"Add random to hostname, eg: colibri-ay412dt","allowNo":false},"small":{"name":"small","type":"boolean","char":"s","description":"Swap small: RAM","allowNo":false},"suspend":{"name":"suspend","type":"boolean","char":"S","description":"Swap suspend: RAM x 2","allowNo":false},"unattended":{"name":"unattended","type":"boolean","char":"u","description":"Unattended installation","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose","allowNo":false}},"args":[]},"kill":{"id":"kill","description":"kill the eggs/free the nest","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs kill"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"isos":{"name":"isos","type":"boolean","char":"i","description":"erase all ISOs on remote mount","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"mom":{"id":"mom","description":"ask help from mommy - TUI helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs mom"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"produce":{"id":"produce","description":"produce a live image from your system whithout your data","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs produce","sudo eggs produce --standard","sudo eggs produce --max","sudo eggs produce --max --basename=colibri","sudo eggs produce --cryptedclone","sudo eggs produce --clone","sudo eggs produce --basename=colibri","sudo eggs produce --basename=colibri --theme theme --addons adapt"],"flags":{"addons":{"name":"addons","type":"option","description":"addons to be used: adapt, ichoice, pve, rsupport","multiple":true},"basename":{"name":"basename","type":"option","description":"basename","multiple":false},"clone":{"name":"clone","type":"boolean","char":"c","description":"clone","allowNo":false},"cryptedclone":{"name":"cryptedclone","type":"boolean","char":"C","description":"crypted clone","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"max":{"name":"max","type":"boolean","char":"m","description":"max compression","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"noicons":{"name":"noicons","type":"boolean","char":"N","description":"no icons on desktop","allowNo":false},"prefix":{"name":"prefix","type":"option","char":"p","description":"prefix","multiple":false},"release":{"name":"release","type":"boolean","description":"release: max compression, remove penguins-eggs and calamares after installation","allowNo":false},"script":{"name":"script","type":"boolean","char":"s","description":"script mode. Generate scripts to manage iso build","allowNo":false},"standard":{"name":"standard","type":"boolean","char":"f","description":"standard compression","allowNo":false},"theme":{"name":"theme","type":"option","description":"theme for livecd, calamares branding and partitions","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false},"yolk":{"name":"yolk","type":"boolean","char":"y","description":"-y force yolk renew","allowNo":false}},"args":[]},"status":{"id":"status","description":"informations about eggs status","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs status"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"syncfrom":{"id":"syncfrom","description":"restore users and user data from a LUKS volumes","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs syncfrom","sudo eggs syncfrom --file /path/to/fileLUKS"],"flags":{"delete":{"name":"delete","type":"option","description":"rsync --delete delete extraneous files from dest dirs","multiple":false},"file":{"name":"file","type":"option","char":"f","description":"file LUKS volume encrypted","multiple":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"rootdir":{"name":"rootdir","type":"option","char":"r","description":"rootdir of the installed system, when used from live","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"syncto":{"id":"syncto","description":"saves users and user data in a LUKS volume inside the iso","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs syncto","sudo eggs syncto --file /path/to/fileLUKS"],"flags":{"delete":{"name":"delete","type":"option","description":"rsync --delete delete extraneous files from dest dirs","multiple":false},"file":{"name":"file","type":"option","char":"f","description":"file LUKS volume encrypted","multiple":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"update":{"id":"update","description":"update the Penguins' eggs tool","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs update"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"export:deb":{"id":"export:deb","description":"export deb/docs/iso to the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs export deb","eggs export deb --clean","eggs export deb --all"],"flags":{"all":{"name":"all","type":"boolean","char":"a","description":"export all archs","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old .deb before to copy","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"export:iso":{"id":"export:iso","description":"export iso in the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs export iso","eggs export iso --clean"],"flags":{"clean":{"name":"clean","type":"boolean","char":"c","description":"delete old ISOs before to copy","allowNo":false},"checksum":{"name":"checksum","type":"boolean","char":"C","description":"export checksums md5 and sha256","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:clean":{"id":"tools:clean","description":"clean system log, apt, etc","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs tools clean"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:ppa":{"id":"tools:ppa","description":"add/remove repo","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs tools ppa --add","sudo eggs tools ppa --remove"],"flags":{"add":{"name":"add","type":"boolean","char":"a","description":"add penguins-eggs PPA repository","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"remove":{"name":"remove","type":"boolean","char":"r","description":"remove penguins-eggs PPA repository","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:skel":{"id":"tools:skel","description":"update skel from home configuration","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs tools skel","sudo eggs tools skel --user user-to-be-copied"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"user":{"name":"user","type":"option","char":"u","description":"user to be used","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"tools:stat":{"id":"tools:stat","description":"get statistics from sourceforge","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs tools stat","eggs tools stat --month","eggs tools stat --year"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"month":{"name":"month","type":"boolean","char":"m","description":"current month","allowNo":false},"year":{"name":"year","type":"boolean","char":"y","description":"current year","allowNo":false}},"args":[]},"tools:yolk":{"id":"tools:yolk","description":"configure eggs to install without internet","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs tools yolk"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[],"dir":"/var/local/yolk"},"wardrobe:get":{"id":"wardrobe:get","description":"get warorobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs wardrobe get","eggs wardrobe get your-wardrobe"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[{"name":"repo","description":"repository to get","required":false}]},"wardrobe:list":{"id":"wardrobe:list","description":"list costumes and accessoires in wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs wardrobe list","eggs wardrobe list your-wardrobe","eggs wardrobe list --distro arch"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"distro":{"name":"distro","type":"option","char":"d","description":"distro","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[{"name":"wardrobe","description":"wardrobe","required":false}]},"wardrobe:show":{"id":"wardrobe:show","description":"show costumes/accessories in wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs wardrobe show colibri","eggs wardrobe show accessories/firmwares","eggs wardrobe show accessories/"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"json":{"name":"json","type":"boolean","char":"j","description":"output JSON","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"wardrobe":{"name":"wardrobe","type":"option","char":"w","description":"wardrobe","multiple":false}},"args":[{"name":"costume","description":"costume","required":false}],"example":["eggs wardrobe show colibri","eggs wardrobe show accessories/firmwares","eggs wardrobe show accessories/"]},"wardrobe:wear":{"id":"wardrobe:wear","description":"wear costume/accessories from wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs wardrobe wear duck","sudo eggs wardrobe wear accessories/firmwares","sudo eggs wardrobe wear wagtail/waydroid"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"no_accessories":{"name":"no_accessories","type":"boolean","char":"a","description":"not install accessories","allowNo":false},"no_firmwares":{"name":"no_firmwares","type":"boolean","char":"f","description":"not install firmwares","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"wardrobe":{"name":"wardrobe","type":"option","char":"w","description":"wardrobe","multiple":false}},"args":[{"name":"costume","description":"costume","required":false}]}}}
|
package/README.md
CHANGED
|
@@ -112,12 +112,12 @@ There are more than a way to install eggs as .deb package, the most practical is
|
|
|
112
112
|
The simplest way to install eggs is download the [package eggs](https://sourceforge.net/projects/penguins-eggs/files/DEBS/) from [sourceforge page of the project](https://sourceforge.net/projects/penguins-eggs/) and install it
|
|
113
113
|
|
|
114
114
|
```
|
|
115
|
-
sudo dpkg -i eggs_9.6.
|
|
115
|
+
sudo dpkg -i eggs_9.6.16_amd64.deb
|
|
116
116
|
```
|
|
117
117
|
|
|
118
118
|
or, on a i386 system:
|
|
119
119
|
```
|
|
120
|
-
sudo dpkg -i eggs_9.6.
|
|
120
|
+
sudo dpkg -i eggs_9.6.16_i386.deb
|
|
121
121
|
```
|
|
122
122
|
|
|
123
123
|
Once eggs is installed you can add the [penguins-eggs-ppa](https://pieroproietti.github.io/penguins-eggs-ppa) repository with the command: ```sudo eggs tools ppa --install```
|
|
@@ -146,7 +146,7 @@ sudo apt update && sudo apt install eggs
|
|
|
146
146
|
```
|
|
147
147
|
|
|
148
148
|
### Upgrade eggs
|
|
149
|
-
If you are using penguins-eggs-ppa You can upgrade eggs as others packages just: **sudo apt upgrade**, else simply download new versions of eggs from [sourgeforge page](https://sourceforge.net/projects/penguins-eggs/files/DEBS/) and install it with the standard command **sudo dpkg -i eggs_9.6.
|
|
149
|
+
If you are using penguins-eggs-ppa You can upgrade eggs as others packages just: **sudo apt upgrade**, else simply download new versions of eggs from [sourgeforge page](https://sourceforge.net/projects/penguins-eggs/files/DEBS/) and install it with the standard command **sudo dpkg -i eggs_9.6.16_amd64.deb** or **gdebi eggs_9.6.16_i386.deb**.
|
|
150
150
|
|
|
151
151
|
## Arch families
|
|
152
152
|
eggs has been present in [AUR](https://aur.archlinux.org/) for a long time, even without my knowledge thanks the support of Arch peoples. I am currently directly maintaining the AUR version of [penguins-eggs](https://aur.archlinux.org/packages/penguins-eggs) and I'm participating in the [Manjaro Community Repository](https://gitlab.manjaro.org/packages/community/penguins-eggs).
|
|
@@ -447,6 +447,7 @@ USAGE
|
|
|
447
447
|
|
|
448
448
|
FLAGS
|
|
449
449
|
-c, --clean delete old ISOs before to copy
|
|
450
|
+
-C, --checksum export checksums md5 and sha256
|
|
450
451
|
-h, --help Show CLI help.
|
|
451
452
|
-v, --verbose verbose
|
|
452
453
|
|
|
@@ -526,6 +527,7 @@ USAGE
|
|
|
526
527
|
|
|
527
528
|
FLAGS
|
|
528
529
|
-h, --help Show CLI help.
|
|
530
|
+
-i, --isos erase all ISOs on remote mount
|
|
529
531
|
-n, --nointeractive no user interaction
|
|
530
532
|
-v, --verbose verbose
|
|
531
533
|
|
package/conf/README.md
CHANGED
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
# Penguins' eggs
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
FROM eggs v9.6.16 I changed a bit, hide mnt to .mnt, and create links to iso and filesystem.squashfs on the nest. Re have a more logic structure, build on the provious one, unchanged.
|
|
4
|
+
|
|
5
|
+
## nest (/home/eggs)
|
|
6
|
+
|
|
7
|
+
* iso -> .mnt/iso
|
|
8
|
+
* livefs -> .mnt/filesystem.squashfs
|
|
9
|
+
* ovarium
|
|
10
|
+
* README.md
|
|
11
|
+
* egg-of_image.iso
|
|
12
|
+
* egg-of_image.md5
|
|
13
|
+
* egg-of_image.sha256
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
Under the hood all remain unchanged, but the importants things now are more visible.
|
|
17
|
+
|
|
18
|
+
## .mnt
|
|
4
19
|
* efi-work
|
|
5
20
|
* filesystem.squashfs
|
|
6
21
|
* iso
|
|
@@ -35,7 +50,7 @@ You already knw boot and efi, are necessary for UEFI and consist in the copy of
|
|
|
35
50
|
* mkisofs
|
|
36
51
|
* mksquashfs
|
|
37
52
|
* ubind
|
|
38
|
-
* .overlay
|
|
53
|
+
* .overlay (moved under nest 2023-11-21)
|
|
39
54
|
|
|
40
55
|
## Customize your image before to generate it
|
|
41
56
|
if you want more control on the production of your iso, try the new --dry flag, it's instantaneous: will generate filesystem directory, iso structure complete and the related scripts to bind/ubind filesystem, squash it and create iso.
|
|
@@ -50,5 +65,3 @@ if you want more control on the production of your iso, try the new --dry flag,
|
|
|
50
65
|
Feel free to contact me for any suggestions.
|
|
51
66
|
|
|
52
67
|
https://github.com/pieroproietti/penguins-eggs
|
|
53
|
-
|
|
54
|
-
|
package/conf/exclude.list
CHANGED
|
@@ -45,8 +45,9 @@ etc/mtab
|
|
|
45
45
|
# CACHES: that tend to be very large and unneeded - only for Arch and Debian based Linuxes
|
|
46
46
|
|
|
47
47
|
# Arch family
|
|
48
|
-
home/*/.local/share/yay
|
|
49
|
-
var/cache/pacman/
|
|
48
|
+
home/*/.local/share/yay
|
|
49
|
+
var/cache/pacman/pkg
|
|
50
|
+
var/cache/private/yay
|
|
50
51
|
|
|
51
52
|
# Debian family
|
|
52
53
|
var/cache/apt/apt-file/*
|
package/dist/classes/daddy.js
CHANGED
|
@@ -68,12 +68,12 @@ class Daddy {
|
|
|
68
68
|
console.log();
|
|
69
69
|
console.log(chalk_1.default.cyan(`If you don't have enough space to remaster, you can mount`));
|
|
70
70
|
console.log(chalk_1.default.cyan(`some remote or local space. Follow the samples:`));
|
|
71
|
-
console.log(chalk_1.default.cyan(
|
|
72
|
-
console.log(chalk_1.default.white(`sudo mkdir /home/eggs
|
|
73
|
-
console.log(chalk_1.default.cyan(
|
|
74
|
-
console.log(chalk_1.default.white(`sudo sshfs -o allow_other root@192.168.1.2:/zfs/iso /home/eggs
|
|
75
|
-
console.log(chalk_1.default.cyan('or, a local partition'));
|
|
76
|
-
console.log(chalk_1.default.white(`sudo mount /dev/sdx1 /home/eggs
|
|
71
|
+
console.log(chalk_1.default.cyan(`- first, create an hidden mountpoint under the nest:`));
|
|
72
|
+
console.log(chalk_1.default.white(`sudo mkdir /home/eggs/.mnt -p`));
|
|
73
|
+
console.log(chalk_1.default.cyan(`- then, mount remote space:`));
|
|
74
|
+
console.log(chalk_1.default.white(`sudo sshfs -o allow_other root@192.168.1.2:/zfs/iso /home/eggs/.mnt`));
|
|
75
|
+
console.log(chalk_1.default.cyan('- or, mount a local partition:'));
|
|
76
|
+
console.log(chalk_1.default.white(`sudo mount /dev/sdx1 /home/eggs/.mnt`));
|
|
77
77
|
console.log();
|
|
78
78
|
console.log(chalk_1.default.cyan('More help? ') + chalk_1.default.white('eggs mom'));
|
|
79
79
|
// await exec(`cat /etc/penguins-eggs.d/eggs.yaml`)
|
package/dist/classes/ovary.js
CHANGED
|
@@ -261,7 +261,6 @@ class Ovary {
|
|
|
261
261
|
if (this.verbose) {
|
|
262
262
|
console.log('Ovary: liveCreateStructure');
|
|
263
263
|
}
|
|
264
|
-
// efi-work iso memdiskDir sotto mountpoint
|
|
265
264
|
utils_2.default.warning(`Creating egg in ${this.settings.config.snapshot_dir}`);
|
|
266
265
|
let cmd;
|
|
267
266
|
if (!fs_1.default.existsSync(this.settings.config.snapshot_dir)) {
|
|
@@ -272,6 +271,11 @@ class Ovary {
|
|
|
272
271
|
cmd = `cp ${node_path_1.default.resolve(__dirname, '../../conf/README.md')} ${this.settings.config.snapshot_dir}README.md`;
|
|
273
272
|
this.tryCatch(cmd);
|
|
274
273
|
}
|
|
274
|
+
// Ovarium
|
|
275
|
+
if (!fs_1.default.existsSync(this.settings.work_dir.ovarium)) {
|
|
276
|
+
cmd = `mkdir -p ${this.settings.work_dir.ovarium}`;
|
|
277
|
+
this.tryCatch(cmd);
|
|
278
|
+
}
|
|
275
279
|
if (!fs_1.default.existsSync(this.settings.work_dir.lowerdir)) {
|
|
276
280
|
cmd = `mkdir -p ${this.settings.work_dir.lowerdir}`;
|
|
277
281
|
this.tryCatch(cmd);
|
|
@@ -301,6 +305,12 @@ class Ovary {
|
|
|
301
305
|
cmd = `mkdir -p ${this.settings.iso_work}live`;
|
|
302
306
|
this.tryCatch(cmd);
|
|
303
307
|
}
|
|
308
|
+
// ln iso
|
|
309
|
+
cmd = `ln -s ${this.settings.iso_work} ${this.settings.config.snapshot_dir}/iso`;
|
|
310
|
+
this.tryCatch(cmd);
|
|
311
|
+
// ln livefs
|
|
312
|
+
cmd = `ln -s ${this.settings.work_dir.merged} ${this.settings.config.snapshot_dir}/livefs`;
|
|
313
|
+
this.tryCatch(cmd);
|
|
304
314
|
}
|
|
305
315
|
/**
|
|
306
316
|
*
|
|
@@ -1490,7 +1500,7 @@ class Ovary {
|
|
|
1490
1500
|
let text = `# Created at: ${utils_2.default.formatDate(new Date())}\n`;
|
|
1491
1501
|
text += `# penguins_eggs v. ${utils_2.default.getPackageVersion()}\n`;
|
|
1492
1502
|
// .disk/info
|
|
1493
|
-
fs_1.default.writeFileSync(dotDisk + '/info',
|
|
1503
|
+
fs_1.default.writeFileSync(dotDisk + '/info', text, 'utf-8');
|
|
1494
1504
|
// .disk/mksquashfs
|
|
1495
1505
|
fs_1.default.writeFileSync(dotDisk + '/mksquashfs', text + mksquashfs, 'utf-8');
|
|
1496
1506
|
// .disk/mkisofs
|
|
@@ -1660,7 +1670,6 @@ class Ovary {
|
|
|
1660
1670
|
if (this.verbose) {
|
|
1661
1671
|
console.log('Ovary: makeIso');
|
|
1662
1672
|
}
|
|
1663
|
-
//Utils.writeX(`${this.settings.config.snapshot_dir}mkisofs`, cmd)
|
|
1664
1673
|
utils_2.default.writeX(`${this.settings.work_dir.ovarium}mkisofs`, cmd);
|
|
1665
1674
|
if (!scriptOnly) {
|
|
1666
1675
|
const test = (await (0, utils_1.exec)(cmd, utils_2.default.setEcho(true))).code;
|
|
@@ -1671,6 +1680,10 @@ class Ovary {
|
|
|
1671
1680
|
const src = this.settings.config.snapshot_mnt + this.settings.isoFilename;
|
|
1672
1681
|
const dest = this.settings.config.snapshot_dir + this.settings.isoFilename;
|
|
1673
1682
|
await (0, utils_1.exec)(`ln -s ${src} ${dest}`);
|
|
1683
|
+
// Create md5sum, sha256sum
|
|
1684
|
+
utils_2.default.warning('creating md5, sha256');
|
|
1685
|
+
await (0, utils_1.exec)(`md5sum ${src} > ${dest.replace('.iso', '.md5')}`);
|
|
1686
|
+
await (0, utils_1.exec)(`sha256sum ${src} > ${dest.replace('.iso', '.sha256')}`);
|
|
1674
1687
|
}
|
|
1675
1688
|
}
|
|
1676
1689
|
/**
|
package/dist/classes/pxe.js
CHANGED
|
@@ -16,6 +16,7 @@ const node_static_1 = tslib_1.__importDefault(require("node-static"));
|
|
|
16
16
|
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
17
17
|
const settings_1 = tslib_1.__importDefault(require("./settings"));
|
|
18
18
|
const utils_2 = tslib_1.__importDefault(require("./utils"));
|
|
19
|
+
// @ts-ignore
|
|
19
20
|
const tftp_1 = tslib_1.__importDefault(require("tftp"));
|
|
20
21
|
// @ts-ignore
|
|
21
22
|
const etrick_1 = tslib_1.__importDefault(require("etrick"));
|
|
@@ -70,14 +71,14 @@ class Pxe {
|
|
|
70
71
|
this.nest = this.settings.config.snapshot_mnt;
|
|
71
72
|
this.pxeRoot = this.nest + '/pxe';
|
|
72
73
|
/**
|
|
73
|
-
|
|
74
|
-
|
|
74
|
+
* se pxeRoot non esiste viene creato
|
|
75
|
+
*/
|
|
75
76
|
if (!fs_1.default.existsSync(this.pxeRoot)) {
|
|
76
77
|
await (0, utils_1.exec)(`mkdir ${this.pxeRoot} -p`);
|
|
77
78
|
}
|
|
78
79
|
/**
|
|
79
|
-
|
|
80
|
-
|
|
80
|
+
* Ricerca delle ISOs
|
|
81
|
+
*/
|
|
81
82
|
const isos = [];
|
|
82
83
|
/*
|
|
83
84
|
if (!Utils.isLive()) {
|
|
@@ -92,9 +93,9 @@ class Pxe {
|
|
|
92
93
|
}
|
|
93
94
|
*/
|
|
94
95
|
/**
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
96
|
+
* installed: /home/eggs/mnt/iso/live
|
|
97
|
+
* live: this.iso/live
|
|
98
|
+
*/
|
|
98
99
|
const pathFiles = this.eggRoot + 'live';
|
|
99
100
|
const files = fs_1.default.readdirSync(pathFiles);
|
|
100
101
|
for (const file of files) {
|
|
@@ -116,8 +117,8 @@ class Pxe {
|
|
|
116
117
|
}
|
|
117
118
|
}
|
|
118
119
|
/**
|
|
119
|
-
|
|
120
|
-
|
|
120
|
+
* bootLabel
|
|
121
|
+
*/
|
|
121
122
|
this.bootLabel = 'not found';
|
|
122
123
|
if (fs_1.default.existsSync(this.eggRoot + '/.disk/mkisofs')) {
|
|
123
124
|
const a = fs_1.default.readFileSync(this.eggRoot + '/.disk/mkisofs', 'utf-8');
|
|
@@ -197,8 +198,8 @@ class Pxe {
|
|
|
197
198
|
content += `menu label ${this.bootLabel.replace('.iso', '')}\n`;
|
|
198
199
|
if (this.settings.distro.familyId === 'debian') {
|
|
199
200
|
/**
|
|
200
|
-
|
|
201
|
-
|
|
201
|
+
* DEBIAN
|
|
202
|
+
*/
|
|
202
203
|
const clid = this.settings.distro.codenameLikeId;
|
|
203
204
|
if (clid === 'bionic' || clid === 'stretch' || clid === 'jessie') {
|
|
204
205
|
content += 'kernel vmlinuz\n';
|
|
@@ -214,14 +215,7 @@ class Pxe {
|
|
|
214
215
|
* ARCH LINUX
|
|
215
216
|
*/
|
|
216
217
|
let tool = 'archiso';
|
|
217
|
-
if (
|
|
218
|
-
// ManjaroCodenames
|
|
219
|
-
distro.codenameId === 'Qonos' ||
|
|
220
|
-
distro.codenameId === 'Ruah' ||
|
|
221
|
-
distro.codenameId === 'Sikaris' ||
|
|
222
|
-
distro.codenameId === 'Talos' ||
|
|
223
|
-
distro.codenameId === 'UltimaThule' ||
|
|
224
|
-
distro.codenameId === 'Uranos') {
|
|
218
|
+
if (distro.distroId === 'ManjaroLinux') {
|
|
225
219
|
tool = 'miso';
|
|
226
220
|
}
|
|
227
221
|
content += `kernel http://${utils_2.default.address()}/vmlinuz\n`;
|
|
@@ -282,8 +276,8 @@ class Pxe {
|
|
|
282
276
|
*/
|
|
283
277
|
if (this.settings.distro.familyId === 'debian') {
|
|
284
278
|
/**
|
|
285
|
-
|
|
286
|
-
|
|
279
|
+
* DEBIAN
|
|
280
|
+
*/
|
|
287
281
|
content += `imgargs vmlinuz fetch=http://${utils_2.default.address()}/live/filesystem.squashfs boot=live dhcp initrd=initrd ro\n`;
|
|
288
282
|
}
|
|
289
283
|
else if (this.settings.distro.familyId === 'archlinux') {
|
package/dist/classes/settings.js
CHANGED
|
@@ -75,13 +75,15 @@ class Settings {
|
|
|
75
75
|
this.config.snapshot_dir += '/';
|
|
76
76
|
}
|
|
77
77
|
this.work_dir.ovarium = this.config.snapshot_dir + 'ovarium/';
|
|
78
|
-
|
|
79
|
-
this.
|
|
80
|
-
this.work_dir.workdir = this.work_dir.ovarium + '.overlay/workdir';
|
|
81
|
-
this.config.snapshot_mnt = this.config.snapshot_dir + 'mnt/';
|
|
78
|
+
// hidden .mnt under nest
|
|
79
|
+
this.config.snapshot_mnt = this.config.snapshot_dir + '.mnt/';
|
|
82
80
|
if (!this.config.snapshot_mnt.endsWith('/')) {
|
|
83
81
|
this.config.snapshot_mnt += '/';
|
|
84
82
|
}
|
|
83
|
+
// hidden .overlay under nest was under ovarium
|
|
84
|
+
this.work_dir.lowerdir = this.config.snapshot_dir + '.overlay/lowerdir';
|
|
85
|
+
this.work_dir.upperdir = this.config.snapshot_dir + '.overlay/upperdir';
|
|
86
|
+
this.work_dir.workdir = this.config.snapshot_dir + '.overlay/workdir';
|
|
85
87
|
this.work_dir.merged = this.config.snapshot_mnt + 'filesystem.squashfs';
|
|
86
88
|
this.efi_work = this.config.snapshot_mnt + 'efi-work/';
|
|
87
89
|
this.iso_work = this.config.snapshot_mnt + 'iso/';
|
|
@@ -22,27 +22,35 @@ class ExportIso extends core_1.Command {
|
|
|
22
22
|
const echo = utils_1.default.setEcho(flags.verbose);
|
|
23
23
|
const rmount = `/tmp/eggs-${(Math.random() + 1).toString(36).slice(7)}`;
|
|
24
24
|
let cmd = `rm -f ${rmount}\n`;
|
|
25
|
-
|
|
25
|
+
let filters = ['*.iso', '*.md5', '*.sha256'];
|
|
26
26
|
cmd += `mkdir ${rmount}\n`;
|
|
27
27
|
cmd += `sshfs ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathIso} ${rmount}\n`;
|
|
28
28
|
if (flags.clean) {
|
|
29
29
|
cmd += `rm -f ${rmount}/${Tu.snapshot_name}*\n`;
|
|
30
30
|
}
|
|
31
|
-
cmd += `cp ${Tu.snapshot_dir}${Tu.snapshot_name}${
|
|
31
|
+
cmd += `cp ${Tu.snapshot_dir}${Tu.snapshot_name}${filters[0]} ${rmount}\n`;
|
|
32
|
+
if (flags.checksum) {
|
|
33
|
+
cmd += `cp ${Tu.snapshot_dir}${Tu.snapshot_name}${filters[1]} ${rmount}\n`;
|
|
34
|
+
cmd += `cp ${Tu.snapshot_dir}${Tu.snapshot_name}${filters[2]} ${rmount}\n`;
|
|
35
|
+
}
|
|
32
36
|
cmd += 'sync\n';
|
|
33
37
|
cmd += `umount ${rmount}\n`;
|
|
34
38
|
cmd += `rm -f ${rmount}\m`;
|
|
35
39
|
if (!flags.verbose) {
|
|
36
40
|
if (flags.clean) {
|
|
37
|
-
console.log(`remove
|
|
41
|
+
console.log(`remove ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathIso}${Tu.snapshot_name}${filters[0]}`);
|
|
42
|
+
}
|
|
43
|
+
if (flags.checksum) {
|
|
44
|
+
console.log(`export ${Tu.config.localPathIso}/${Tu.snapshot_name}${filters[1]}/${filters[2]} to ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathIso}`);
|
|
38
45
|
}
|
|
39
|
-
console.log(`
|
|
46
|
+
console.log(`scp ${Tu.config.localPathIso}/${Tu.snapshot_name}${filters[0]} ${Tu.config.remoteUser}@${Tu.config.remoteHost}:${Tu.config.remotePathIso}`);
|
|
40
47
|
}
|
|
41
48
|
await (0, utils_2.exec)(cmd, echo);
|
|
42
49
|
}
|
|
43
50
|
}
|
|
44
51
|
ExportIso.flags = {
|
|
45
52
|
clean: core_1.Flags.boolean({ char: 'c', description: 'delete old ISOs before to copy' }),
|
|
53
|
+
checksum: core_1.Flags.boolean({ char: 'C', description: 'export checksums md5 and sha256' }),
|
|
46
54
|
help: core_1.Flags.help({ char: 'h' }),
|
|
47
55
|
verbose: core_1.Flags.boolean({ char: 'v', description: 'verbose' }),
|
|
48
56
|
};
|
package/dist/commands/kill.js
CHANGED
|
@@ -24,18 +24,21 @@ class Kill extends core_1.Command {
|
|
|
24
24
|
async run() {
|
|
25
25
|
utils_1.default.titles(this.id + ' ' + this.argv);
|
|
26
26
|
const { flags } = await this.parse(Kill);
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
verbose = true;
|
|
30
|
-
}
|
|
27
|
+
const verbose = flags.verbose;
|
|
28
|
+
const isos = flags.isos;
|
|
31
29
|
const nointeractive = flags.nointeractive;
|
|
32
30
|
const echo = utils_1.default.setEcho(verbose);
|
|
33
31
|
if (utils_1.default.isRoot()) {
|
|
34
32
|
const settings = new settings_1.default();
|
|
35
33
|
await settings.load();
|
|
36
34
|
await settings.listFreeSpace();
|
|
35
|
+
if (utils_1.default.isMountpoint(settings.config.snapshot_mnt)) {
|
|
36
|
+
console.log('==========================================');
|
|
37
|
+
utils_1.default.warning('You are working on a mountpoint');
|
|
38
|
+
console.log('==========================================');
|
|
39
|
+
}
|
|
37
40
|
if (nointeractive || await utils_1.default.customConfirm()) {
|
|
38
|
-
await (0, kill_me_softly_1.default)(settings.config.snapshot_dir, settings.config.snapshot_mnt);
|
|
41
|
+
await (0, kill_me_softly_1.default)(settings.config.snapshot_dir, settings.config.snapshot_mnt, isos);
|
|
39
42
|
}
|
|
40
43
|
}
|
|
41
44
|
else {
|
|
@@ -46,6 +49,7 @@ class Kill extends core_1.Command {
|
|
|
46
49
|
Kill.flags = {
|
|
47
50
|
help: core_1.Flags.help({ char: 'h' }),
|
|
48
51
|
nointeractive: core_1.Flags.boolean({ char: 'n', description: 'no user interaction' }),
|
|
52
|
+
isos: core_1.Flags.boolean({ char: 'i', description: 'erase all ISOs on remote mount' }),
|
|
49
53
|
verbose: core_1.Flags.boolean({ char: 'v', description: 'verbose' }),
|
|
50
54
|
};
|
|
51
55
|
Kill.description = 'kill the eggs/free the nest';
|
|
@@ -14,7 +14,7 @@ const utils_2 = require("./utils");
|
|
|
14
14
|
/**
|
|
15
15
|
*
|
|
16
16
|
*/
|
|
17
|
-
async function killMeSoftly(eggsRoot = `/home/eggs`, eggsMnt = '/home/eggs
|
|
17
|
+
async function killMeSoftly(eggsRoot = `/home/eggs`, eggsMnt = '/home/eggs/.mnt', isos = false) {
|
|
18
18
|
const echo = utils_1.default.setEcho(false);
|
|
19
19
|
const liveFs = `${eggsMnt}filesystem.squashfs`;
|
|
20
20
|
/**
|
|
@@ -33,6 +33,10 @@ async function killMeSoftly(eggsRoot = `/home/eggs`, eggsMnt = '/home/eggs/mnt')
|
|
|
33
33
|
await (0, utils_2.exec)(`rm -rf ${eggsMnt}iso`);
|
|
34
34
|
await (0, utils_2.exec)(`rm -rf ${eggsMnt}memdiskDir`);
|
|
35
35
|
await (0, utils_2.exec)(`rm -rf ${eggsRoot}ovarium`);
|
|
36
|
+
// Remove all ISOs if --isos
|
|
37
|
+
if (isos) {
|
|
38
|
+
await (0, utils_2.exec)(`rm -rf ${eggsMnt}*.iso`);
|
|
39
|
+
}
|
|
36
40
|
// double check !haveBindedDirs
|
|
37
41
|
if (!haveBindedDirs(liveFs)) {
|
|
38
42
|
await (0, utils_2.exec)(`rm -rf ${liveFs}`);
|
|
Binary file
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
7
7
|
</head>
|
|
8
8
|
<body>
|
|
9
|
-
<h1>eggs(1) -- the reproductive system of penguins: eggs v9.
|
|
9
|
+
<h1>eggs(1) -- the reproductive system of penguins: eggs v9.6.16</h1>
|
|
10
10
|
<h1>SYNOPSIS</h1>
|
|
11
11
|
<p>Install Debian families (debian/devuan/ubuntu)</p>
|
|
12
|
-
<pre><code>$ sudo dpkg -i eggs_9.
|
|
12
|
+
<pre><code>$ sudo dpkg -i eggs_9.6.16_amd64.deb
|
|
13
13
|
</code></pre>
|
|
14
14
|
<p>Install Arch families (Arch, manjaro Linux)</p>
|
|
15
15
|
<p>Arch from AUR</p>
|
|
@@ -30,7 +30,7 @@ $ makepkg -si
|
|
|
30
30
|
<h1>USAGE</h1>
|
|
31
31
|
<pre><code>$ eggs (-v|--version|version)
|
|
32
32
|
|
|
33
|
-
penguins-eggs/9.
|
|
33
|
+
penguins-eggs/9.6.16 linux-x64 node-v18.17.1
|
|
34
34
|
$ eggs --help [COMMAND]
|
|
35
35
|
|
|
36
36
|
USAGE
|
|
@@ -145,7 +145,7 @@ FLAGS
|
|
|
145
145
|
-h, --help Show CLI help.
|
|
146
146
|
-i, --install install calamares and its dependencies
|
|
147
147
|
-n, --nointeractive no user interaction
|
|
148
|
-
-
|
|
148
|
+
-p, --policies configure calamares policies
|
|
149
149
|
-r, --release release: remove calamares and all its dependencies after the installation
|
|
150
150
|
-v, --verbose
|
|
151
151
|
--remove remove calamares and its dependencies
|
|
@@ -247,6 +247,7 @@ EXAMPLES
|
|
|
247
247
|
|
|
248
248
|
FLAGS
|
|
249
249
|
-c, --clean delete old ISOs before to copy
|
|
250
|
+
-C, --checksum export checksums md5 and sha256
|
|
250
251
|
-h, --help Show CLI help.
|
|
251
252
|
-v, --verbose verbose
|
|
252
253
|
|
|
@@ -310,6 +311,7 @@ EXAMPLES
|
|
|
310
311
|
|
|
311
312
|
FLAGS
|
|
312
313
|
-h, --help Show CLI help.
|
|
314
|
+
-i, --isos erase all ISOs on remote mount
|
|
313
315
|
-n, --nointeractive no user interaction
|
|
314
316
|
-v, --verbose verbose
|
|
315
317
|
|
package/package.json
CHANGED
package/scripts/_eggs
CHANGED
|
@@ -58,6 +58,7 @@ calamares)
|
|
|
58
58
|
"--help[Show CLI help.]"
|
|
59
59
|
"--install[install calamares and its dependencies]"
|
|
60
60
|
"--nointeractive[no user interaction]"
|
|
61
|
+
"--policies[configure calamares policies]"
|
|
61
62
|
"--release[release: remove calamares and all its dependencies after the installation]"
|
|
62
63
|
"--remove[remove calamares and its dependencies]"
|
|
63
64
|
"--theme=-[theme/branding for eggs and calamares]:"
|
|
@@ -102,6 +103,7 @@ export:deb)
|
|
|
102
103
|
export:iso)
|
|
103
104
|
_command_flags=(
|
|
104
105
|
"--clean[delete old ISOs before to copy]"
|
|
106
|
+
"--checksum[export checksums md5 and sha256]"
|
|
105
107
|
"--help[Show CLI help.]"
|
|
106
108
|
"--verbose[verbose]"
|
|
107
109
|
)
|
|
@@ -130,6 +132,7 @@ kill)
|
|
|
130
132
|
_command_flags=(
|
|
131
133
|
"--help[Show CLI help.]"
|
|
132
134
|
"--nointeractive[no user interaction]"
|
|
135
|
+
"--isos[erase all ISOs on remote mount]"
|
|
133
136
|
"--verbose[verbose]"
|
|
134
137
|
)
|
|
135
138
|
;;
|
package/scripts/eggs.bash
CHANGED
|
@@ -13,14 +13,14 @@ _eggs_autocomplete()
|
|
|
13
13
|
local commands="
|
|
14
14
|
adapt --help --verbose
|
|
15
15
|
analyze --help --verbose
|
|
16
|
-
calamares --help --install --nointeractive --release --remove --theme --verbose
|
|
16
|
+
calamares --help --install --nointeractive --policies --release --remove --theme --verbose
|
|
17
17
|
config --clean --help --nointeractive --noicons --verbose
|
|
18
18
|
cuckoo --help
|
|
19
19
|
dad --clean --default --help --verbose
|
|
20
20
|
export:deb --all --clean --help --verbose
|
|
21
|
-
export:iso --clean --help --verbose
|
|
21
|
+
export:iso --clean --checksum --help --verbose
|
|
22
22
|
install --crypted --custom --domain --halt --help --ip --nointeractive --none --pve --random --small --suspend --unattended --verbose
|
|
23
|
-
kill --help --nointeractive --verbose
|
|
23
|
+
kill --help --nointeractive --isos --verbose
|
|
24
24
|
mom --help
|
|
25
25
|
produce --addons --basename --clone --cryptedclone --help --max --nointeractive --noicons --prefix --release --script --standard --theme --verbose --yolk
|
|
26
26
|
status --help --verbose
|