penguins-eggs 9.3.26 → 9.3.28
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/conf/derivatives.yaml +7 -0
- package/dist/classes/bleach.js +26 -24
- package/dist/classes/compressors.js +7 -5
- package/dist/classes/daddy.js +38 -36
- package/dist/classes/distro.js +30 -27
- package/dist/classes/family/archlinux.js +21 -19
- package/dist/classes/family/debian.js +33 -31
- package/dist/classes/family/fedora.js +19 -17
- package/dist/classes/family/suse.js +19 -17
- package/dist/classes/incubation/branding.js +8 -6
- package/dist/classes/incubation/distros/bionic.js +5 -3
- package/dist/classes/incubation/distros/buster.js +5 -3
- package/dist/classes/incubation/distros/focal.js +5 -3
- package/dist/classes/incubation/distros/jessie.js +6 -4
- package/dist/classes/incubation/distros/rolling.js +9 -7
- package/dist/classes/incubation/fisherman-helper/displaymanager.js +5 -3
- package/dist/classes/incubation/fisherman-helper/packages.js +17 -15
- package/dist/classes/incubation/fisherman.js +19 -19
- package/dist/classes/incubation/incubator.js +37 -35
- package/dist/classes/incubation/installer.js +8 -6
- package/dist/classes/initrd.js +5 -3
- package/dist/classes/keyboards.js +25 -23
- package/dist/classes/locales.js +19 -17
- package/dist/classes/n8.js +4 -2
- package/dist/classes/network.js +9 -9
- package/dist/classes/ovary.js +280 -281
- package/dist/classes/pacman.js +128 -128
- package/dist/classes/pve-live.js +7 -5
- package/dist/classes/pxe.js +141 -138
- package/dist/classes/settings.js +34 -32
- package/dist/classes/sources_list.js +31 -31
- package/dist/classes/systemctl.js +16 -14
- package/dist/classes/tailor.js +255 -262
- package/dist/classes/tools.js +7 -5
- package/dist/classes/users.js +30 -28
- package/dist/classes/utils.js +22 -20
- package/dist/classes/xdg.js +60 -58
- package/dist/classes/yolk.js +33 -33
- package/dist/commands/adapt.js +14 -12
- package/dist/commands/analyze.js +48 -15
- package/dist/commands/calamares.js +28 -26
- package/dist/commands/config.js +77 -79
- package/dist/commands/cuckoo.js +19 -17
- package/dist/commands/dad.js +16 -14
- package/dist/commands/export/deb.js +19 -17
- package/dist/commands/export/iso.js +17 -15
- package/dist/commands/install.js +31 -29
- package/dist/commands/kill.js +17 -15
- package/dist/commands/mom.js +11 -9
- package/dist/commands/produce.js +30 -28
- package/dist/commands/status.js +7 -5
- package/dist/commands/syncfrom.js +41 -41
- package/dist/commands/syncto.js +77 -80
- package/dist/commands/tools/clean.js +13 -11
- package/dist/commands/tools/ppa.js +26 -24
- package/dist/commands/tools/skel.js +18 -16
- package/dist/commands/tools/stat.js +12 -10
- package/dist/commands/tools/yolk.js +13 -11
- package/dist/commands/update.js +29 -27
- package/dist/commands/wardrobe/get.js +14 -12
- package/dist/commands/wardrobe/list.js +25 -23
- package/dist/commands/wardrobe/show.js +25 -23
- package/dist/commands/wardrobe/wear.js +24 -22
- package/dist/components/elements/information.js +21 -19
- package/dist/components/elements/steps.js +4 -2
- package/dist/components/elements/title.js +4 -2
- package/dist/components/finished.js +10 -8
- package/dist/components/install.js +10 -8
- package/dist/components/keyboard.js +10 -8
- package/dist/components/location.js +10 -8
- package/dist/components/network.js +10 -8
- package/dist/components/partitions.js +10 -8
- package/dist/components/summary.js +10 -8
- package/dist/components/users.js +33 -8
- package/dist/components/welcome.js +10 -8
- package/dist/interfaces/i-packages.js +1 -1
- package/dist/interfaces/i-pxe.js +39 -0
- package/dist/krill/krill-prepare.js +92 -90
- package/dist/krill/krill-sequence.js +148 -145
- package/dist/krill/modules/add-user.js +11 -9
- package/dist/krill/modules/bootloader-config-ubuntu.js +25 -23
- package/dist/krill/modules/bootloader.js +11 -9
- package/dist/krill/modules/change-password.js +2 -2
- package/dist/krill/modules/del-live-user.js +8 -6
- package/dist/krill/modules/fstab.js +35 -33
- package/dist/krill/modules/grubcfg.js +8 -6
- package/dist/krill/modules/hostname.js +19 -17
- package/dist/krill/modules/initramfs-cfg.js +6 -4
- package/dist/krill/modules/initramfs.js +17 -15
- package/dist/krill/modules/locale-cfg.js +12 -10
- package/dist/krill/modules/locale.js +13 -11
- package/dist/krill/modules/m-keyboard.js +33 -31
- package/dist/krill/modules/m-timezone.js +7 -5
- package/dist/krill/modules/machine-id.js +8 -6
- package/dist/krill/modules/mkfs.js +7 -7
- package/dist/krill/modules/mount-fs.js +22 -22
- package/dist/krill/modules/mount-vfs.js +12 -12
- package/dist/krill/modules/network-cfg.js +21 -21
- package/dist/krill/modules/packages.js +20 -18
- package/dist/krill/modules/partition.js +148 -139
- package/dist/krill/modules/remove-installer-link.js +5 -3
- package/dist/krill/modules/umount.js +9 -7
- package/dist/krill/modules/unpackfs.js +8 -6
- package/dist/lib/cli-autologin.js +163 -163
- package/dist/lib/dependencies.js +10 -10
- package/dist/lib/get_address.js +6 -4
- package/dist/lib/get_dns.js +6 -4
- package/dist/lib/get_domain.js +6 -4
- package/dist/lib/get_gateway.js +6 -4
- package/dist/lib/get_hostname.js +6 -4
- package/dist/lib/get_netmask.js +6 -4
- package/dist/lib/get_password.js +8 -6
- package/dist/lib/get_root_password.js +7 -5
- package/dist/lib/get_userfullname.js +6 -4
- package/dist/lib/get_username.js +6 -4
- package/dist/lib/select_address_type.js +6 -4
- package/dist/lib/select_filesystem_type.js +8 -6
- package/dist/lib/select_installation_device.js +7 -5
- package/dist/lib/select_installation_mode.js +6 -4
- package/dist/lib/select_interface.js +6 -4
- package/dist/lib/select_keyboard_layout.js +10 -8
- package/dist/lib/select_keyboard_model.js +10 -8
- package/dist/lib/select_keyboard_option.js +10 -8
- package/dist/lib/select_keyboard_variant.js +10 -8
- package/dist/lib/select_languages.js +9 -7
- package/dist/lib/select_regions.js +6 -4
- package/dist/lib/select_user_swap_choice.js +8 -6
- package/dist/lib/select_zones.js +12 -10
- package/dist/lib/utils.js +3 -3
- package/package.json +12 -5
- package/dist/dhcpd/dhcpd.js +0 -222
- package/dist/dhcpd/index.js +0 -7
- package/dist/dhcpd/packet/converters.js +0 -377
- package/dist/dhcpd/packet/options.js +0 -2
- package/dist/dhcpd/packet/types.js +0 -2
- package/dist/dhcpd/packet.js +0 -251
- package/dist/dhcpd/proxy.js +0 -152
- package/dist/dhcpd/server.js +0 -152
- package/dist/dhcpd/sprintf.js +0 -170
- package/dist/dhcpd/utils.js +0 -190
- package/dist/interfaces/i-pxe-options.js +0 -2
package/.oclif.manifest.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"9.3.26","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 it's dependencies","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"release":{"name":"release","type":"boolean","char":"r","description":"release: remove calamares and all it's dependencies after the installation","allowNo":false},"remove":{"name":"remove","type":"boolean","description":"remove calamares and it's 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},"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","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},"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 /path/to/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},"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 penguin's 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 PPA repositories (Debian family)","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 skel","sudo eggs 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 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-wardrove"],"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":"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},"silent":{"name":"silent","type":"boolean","char":"s","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.3.28","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 it's dependencies","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"release":{"name":"release","type":"boolean","char":"r","description":"release: remove calamares and all it's dependencies after the installation","allowNo":false},"remove":{"name":"remove","type":"boolean","description":"remove calamares and it's 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},"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","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},"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 /path/to/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},"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 penguin's 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 PPA repositories (Debian family)","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 skel","sudo eggs 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 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-wardrove"],"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":"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},"silent":{"name":"silent","type":"boolean","char":"s","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/conf/derivatives.yaml
CHANGED
|
@@ -35,6 +35,13 @@
|
|
|
35
35
|
derivatives:
|
|
36
36
|
- roma # Ufficiozero roma
|
|
37
37
|
|
|
38
|
+
# daedalus derivated
|
|
39
|
+
- id: daedalus
|
|
40
|
+
distro: Devuan
|
|
41
|
+
derivatives:
|
|
42
|
+
- daedalus-ceres # "daedalus ceres"
|
|
43
|
+
# -"daedalus ceres" # NOTE: this not working, edit /etc/os-release
|
|
44
|
+
|
|
38
45
|
#
|
|
39
46
|
# UBUNTU
|
|
40
47
|
#
|
package/dist/classes/bleach.js
CHANGED
|
@@ -6,13 +6,15 @@
|
|
|
6
6
|
* author: Piero Proietti
|
|
7
7
|
* mail: piero.proietti@gmail.com
|
|
8
8
|
*/
|
|
9
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
10
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
11
|
+
};
|
|
9
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const utils_1 = tslib_1.__importDefault(require("./utils"));
|
|
13
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
14
|
+
const utils_js_1 = __importDefault(require("./utils.js"));
|
|
13
15
|
// libraries
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
+
const utils_js_2 = require("../lib/utils.js");
|
|
17
|
+
const distro_js_1 = __importDefault(require("./distro.js"));
|
|
16
18
|
/**
|
|
17
19
|
* Bleach:
|
|
18
20
|
*/
|
|
@@ -23,14 +25,14 @@ class Bleach {
|
|
|
23
25
|
*/
|
|
24
26
|
async clean(verbose = false) {
|
|
25
27
|
if (verbose) {
|
|
26
|
-
|
|
28
|
+
utils_js_1.default.warning('cleaning the system');
|
|
27
29
|
}
|
|
28
|
-
const distro = new
|
|
30
|
+
const distro = new distro_js_1.default();
|
|
29
31
|
if (distro.familyId === 'debian') {
|
|
30
32
|
await this.cleanApt(verbose);
|
|
31
33
|
}
|
|
32
34
|
else if (distro.familyId === 'archlinux') {
|
|
33
|
-
await (0,
|
|
35
|
+
await (0, utils_js_2.exec)('pacman -Scc', utils_js_1.default.setEcho(true));
|
|
34
36
|
}
|
|
35
37
|
await this.cleanHistory(verbose);
|
|
36
38
|
await this.cleanJournal(verbose);
|
|
@@ -45,8 +47,8 @@ class Bleach {
|
|
|
45
47
|
if (verbose) {
|
|
46
48
|
echo = { echo: true, ignore: true, capture: false };
|
|
47
49
|
}
|
|
48
|
-
await (0,
|
|
49
|
-
await (0,
|
|
50
|
+
await (0, utils_js_2.exec)('apt-get clean', echo);
|
|
51
|
+
await (0, utils_js_2.exec)('apt-get autoclean', echo);
|
|
50
52
|
const dest = '/var/lib/apt/lists/';
|
|
51
53
|
rmdir(dest, verbose);
|
|
52
54
|
}
|
|
@@ -56,7 +58,7 @@ class Bleach {
|
|
|
56
58
|
*/
|
|
57
59
|
async cleanHistory(verbose = false) {
|
|
58
60
|
if (verbose) {
|
|
59
|
-
|
|
61
|
+
utils_js_1.default.warning('cleaning bash history');
|
|
60
62
|
}
|
|
61
63
|
const dest = '/root/.bash_history';
|
|
62
64
|
if (node_fs_1.default.existsSync(dest)) {
|
|
@@ -71,21 +73,21 @@ class Bleach {
|
|
|
71
73
|
let echo = { echo: false, ignore: true, capture: false };
|
|
72
74
|
if (verbose) {
|
|
73
75
|
echo = { echo: true, ignore: true, capture: false };
|
|
74
|
-
|
|
76
|
+
utils_js_1.default.warning('cleaning journald');
|
|
75
77
|
}
|
|
76
|
-
if (
|
|
78
|
+
if (utils_js_1.default.isSystemd()) {
|
|
77
79
|
try {
|
|
78
|
-
await (0,
|
|
79
|
-
await (0,
|
|
80
|
+
await (0, utils_js_2.exec)('journalctl --rotate', echo);
|
|
81
|
+
await (0, utils_js_2.exec)('journalctl --vacuum-time=1s', echo);
|
|
80
82
|
}
|
|
81
83
|
catch (error) {
|
|
82
|
-
|
|
84
|
+
utils_js_1.default.error(error);
|
|
83
85
|
}
|
|
84
86
|
}
|
|
85
87
|
else {
|
|
86
88
|
// Truncate logs, remove archived logs.
|
|
87
|
-
await (0,
|
|
88
|
-
await (0,
|
|
89
|
+
await (0, utils_js_2.exec)('find /var/log -name "*gz" -print0 | xargs -0r rm -f', echo);
|
|
90
|
+
await (0, utils_js_2.exec)('find /var/log/ -type f -exec truncate -s 0 {} \\;', echo);
|
|
89
91
|
}
|
|
90
92
|
}
|
|
91
93
|
/**
|
|
@@ -96,14 +98,14 @@ class Bleach {
|
|
|
96
98
|
let echo = { echo: false, ignore: true, capture: false };
|
|
97
99
|
if (verbose) {
|
|
98
100
|
echo = { echo: true, ignore: true, capture: false };
|
|
99
|
-
|
|
101
|
+
utils_js_1.default.warning('cleaning system cache');
|
|
100
102
|
}
|
|
101
103
|
// Clear PageCache only.
|
|
102
|
-
await (0,
|
|
104
|
+
await (0, utils_js_2.exec)('sync; echo 1 > /proc/sys/vm/drop_caches', echo);
|
|
103
105
|
// Clear dentries and inodes.
|
|
104
|
-
await (0,
|
|
106
|
+
await (0, utils_js_2.exec)('sync; echo 2 > /proc/sys/vm/drop_caches', echo);
|
|
105
107
|
// Clear PageCache, dentries and inodes.
|
|
106
|
-
await (0,
|
|
108
|
+
await (0, utils_js_2.exec)('sync; echo 3 > /proc/sys/vm/drop_caches', echo);
|
|
107
109
|
}
|
|
108
110
|
}
|
|
109
111
|
exports.default = Bleach;
|
|
@@ -117,7 +119,7 @@ async function rm(dest = '', verbose = false) {
|
|
|
117
119
|
echo = { echo: true, ignore: true, capture: false };
|
|
118
120
|
}
|
|
119
121
|
if (node_fs_1.default.existsSync(dest)) {
|
|
120
|
-
await (0,
|
|
122
|
+
await (0, utils_js_2.exec)(`rm ${dest} -rf`, echo);
|
|
121
123
|
}
|
|
122
124
|
else {
|
|
123
125
|
console.log(`non esiste ${dest}`);
|
|
@@ -130,7 +132,7 @@ async function rmdir(dest = '', verbose = false) {
|
|
|
130
132
|
}
|
|
131
133
|
const result = node_fs_1.default.readdirSync(dest);
|
|
132
134
|
if (result.length > 0) {
|
|
133
|
-
await (0,
|
|
135
|
+
await (0, utils_js_2.exec)(`rm ${dest} -rf`, echo);
|
|
134
136
|
}
|
|
135
137
|
}
|
|
136
138
|
/**
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
6
|
/**
|
|
5
7
|
* test available compressors
|
|
6
8
|
*/
|
|
7
|
-
const shelljs_1 =
|
|
9
|
+
const shelljs_1 = __importDefault(require("shelljs"));
|
|
8
10
|
class Compressors {
|
|
9
11
|
constructor() {
|
|
10
12
|
this.isEnabled = {
|
|
@@ -14,7 +16,7 @@ class Compressors {
|
|
|
14
16
|
lzo: false,
|
|
15
17
|
lz4: false,
|
|
16
18
|
xz: false,
|
|
17
|
-
zstd: false
|
|
19
|
+
zstd: false,
|
|
18
20
|
};
|
|
19
21
|
this.source = '/tmp/eggs-mksquash-test';
|
|
20
22
|
this.dest = '/tmp/eggs-mksquash-dest';
|
|
@@ -42,7 +44,7 @@ class Compressors {
|
|
|
42
44
|
}
|
|
43
45
|
// normal
|
|
44
46
|
normal() {
|
|
45
|
-
let comp =
|
|
47
|
+
let comp = 'xz';
|
|
46
48
|
if (this.isEnabled.zstd) {
|
|
47
49
|
comp = 'zstd -b 256K -Xcompression-level 20';
|
|
48
50
|
}
|
|
@@ -56,7 +58,7 @@ class Compressors {
|
|
|
56
58
|
* @returns
|
|
57
59
|
*/
|
|
58
60
|
max() {
|
|
59
|
-
|
|
61
|
+
const comp = 'xz -b 256K -Xbcj ';
|
|
60
62
|
const filter = 'x86';
|
|
61
63
|
if (process.arch === 'arm') {
|
|
62
64
|
const filter = 'ARM'; // to check
|
package/dist/classes/daddy.js
CHANGED
|
@@ -1,42 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
6
|
/**
|
|
5
7
|
* penguins-eggs-v8
|
|
6
8
|
* author: Piero Proietti
|
|
7
9
|
* email: piero.proietti@gmail.com
|
|
8
10
|
* license: MIT
|
|
9
11
|
*/
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const inquirer_1 =
|
|
16
|
-
const chalk_1 =
|
|
17
|
-
const
|
|
12
|
+
const utils_js_1 = __importDefault(require("../classes/utils.js"));
|
|
13
|
+
const pacman_js_1 = __importDefault(require("../classes/pacman.js"));
|
|
14
|
+
const settings_js_1 = __importDefault(require("../classes/settings.js"));
|
|
15
|
+
const ovary_js_1 = __importDefault(require("../classes/ovary.js"));
|
|
16
|
+
const compressors_js_1 = __importDefault(require("../classes/compressors.js"));
|
|
17
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
18
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
19
|
+
const utils_js_2 = require("../lib/utils.js");
|
|
18
20
|
class Daddy {
|
|
19
21
|
constructor() {
|
|
20
22
|
this.settings = {};
|
|
21
23
|
}
|
|
22
24
|
async helpMe(loadDefault = false, verbose = false) {
|
|
23
25
|
// Controllo configurazione
|
|
24
|
-
if (!
|
|
26
|
+
if (!pacman_js_1.default.configurationCheck()) {
|
|
25
27
|
console.log('- creating configuration dir...');
|
|
26
|
-
await
|
|
28
|
+
await pacman_js_1.default.configurationInstall(verbose);
|
|
27
29
|
}
|
|
28
30
|
// Controllo prerequisites
|
|
29
|
-
if (!(await
|
|
31
|
+
if (!(await pacman_js_1.default.prerequisitesCheck())) {
|
|
30
32
|
console.log('- installing prerequisites...');
|
|
31
|
-
await
|
|
33
|
+
await pacman_js_1.default.prerequisitesInstall(verbose);
|
|
32
34
|
}
|
|
33
35
|
// Templates
|
|
34
|
-
if (!
|
|
36
|
+
if (!pacman_js_1.default.distroTemplateCheck()) {
|
|
35
37
|
console.log('- distro template install...');
|
|
36
|
-
await
|
|
38
|
+
await pacman_js_1.default.distroTemplateInstall(verbose);
|
|
37
39
|
}
|
|
38
40
|
// show and edit configuration
|
|
39
|
-
this.settings = new
|
|
41
|
+
this.settings = new settings_js_1.default();
|
|
40
42
|
let config = {};
|
|
41
43
|
if (await this.settings.load()) {
|
|
42
44
|
config = this.settings.config;
|
|
@@ -46,7 +48,7 @@ class Daddy {
|
|
|
46
48
|
}
|
|
47
49
|
else {
|
|
48
50
|
if (config.snapshot_prefix === '') {
|
|
49
|
-
config.snapshot_prefix =
|
|
51
|
+
config.snapshot_prefix = utils_js_1.default.snapshotPrefix(this.settings.distro.distroId, this.settings.distro.codenameId);
|
|
50
52
|
config.compression = 'fast';
|
|
51
53
|
}
|
|
52
54
|
jsonConf = JSON.stringify(config);
|
|
@@ -62,7 +64,7 @@ class Daddy {
|
|
|
62
64
|
/**
|
|
63
65
|
* Analisi del tipo di compressione disponibile
|
|
64
66
|
*/
|
|
65
|
-
const compressors = new
|
|
67
|
+
const compressors = new compressors_js_1.default();
|
|
66
68
|
await compressors.populate();
|
|
67
69
|
config.compression = compressors.normal();
|
|
68
70
|
if (newConf.compression === 'fast') {
|
|
@@ -74,20 +76,20 @@ class Daddy {
|
|
|
74
76
|
await this.settings.save(config);
|
|
75
77
|
let flags = '';
|
|
76
78
|
if (loadDefault) {
|
|
77
|
-
await (0,
|
|
78
|
-
await (0,
|
|
79
|
+
await (0, utils_js_2.exec)(`rm ${this.settings.work_dir.path} -rf`);
|
|
80
|
+
await (0, utils_js_2.exec)(`rm ${this.settings.config.snapshot_dir} -rf`);
|
|
79
81
|
}
|
|
80
82
|
else {
|
|
81
83
|
// Controllo se serve il kill
|
|
82
84
|
if (verbose) {
|
|
83
85
|
flags = '--verbose ';
|
|
84
86
|
}
|
|
85
|
-
|
|
87
|
+
utils_js_1.default.titles('kill' + flags);
|
|
86
88
|
console.log(chalk_1.default.cyan('Daddy, what else did you leave for me?'));
|
|
87
89
|
await this.settings.listFreeSpace();
|
|
88
|
-
if (await
|
|
89
|
-
await (0,
|
|
90
|
-
await (0,
|
|
90
|
+
if (await utils_js_1.default.customConfirm()) {
|
|
91
|
+
await (0, utils_js_2.exec)(`rm ${this.settings.work_dir.path} -rf`);
|
|
92
|
+
await (0, utils_js_2.exec)(`rm ${this.settings.config.snapshot_dir} -rf`);
|
|
91
93
|
}
|
|
92
94
|
/**
|
|
93
95
|
* produce
|
|
@@ -97,7 +99,7 @@ class Daddy {
|
|
|
97
99
|
}
|
|
98
100
|
flags += ' --' + newConf.compression;
|
|
99
101
|
flags += ' --addons adapt';
|
|
100
|
-
|
|
102
|
+
utils_js_1.default.titles('produce' + ' ' + flags);
|
|
101
103
|
console.log(chalk_1.default.cyan('Daddy, what else did you leave for me?'));
|
|
102
104
|
const myAddons = {};
|
|
103
105
|
myAddons.adapt = true;
|
|
@@ -106,8 +108,8 @@ class Daddy {
|
|
|
106
108
|
const scriptOnly = false;
|
|
107
109
|
const yolkRenew = false;
|
|
108
110
|
const final = false;
|
|
109
|
-
const ovary = new
|
|
110
|
-
|
|
111
|
+
const ovary = new ovary_js_1.default();
|
|
112
|
+
utils_js_1.default.warning('Produce an egg...');
|
|
111
113
|
if (await ovary.fertilization(config.snapshot_prefix, config.snapshot_basename, config.theme, config.compression)) {
|
|
112
114
|
await ovary.produce(backup, personal, scriptOnly, yolkRenew, final, myAddons, verbose);
|
|
113
115
|
ovary.finished(scriptOnly);
|
|
@@ -129,7 +131,7 @@ class Daddy {
|
|
|
129
131
|
compressionOpt = 2;
|
|
130
132
|
}
|
|
131
133
|
if (c.snapshot_prefix === '') {
|
|
132
|
-
c.snapshot_prefix =
|
|
134
|
+
c.snapshot_prefix = utils_js_1.default.snapshotPrefix(this.settings.distro.distroId, this.settings.distro.codenameId);
|
|
133
135
|
}
|
|
134
136
|
return new Promise(function (resolve) {
|
|
135
137
|
const questions = [
|
|
@@ -137,45 +139,45 @@ class Daddy {
|
|
|
137
139
|
type: 'input',
|
|
138
140
|
name: 'snapshot_prefix',
|
|
139
141
|
message: 'LiveCD iso prefix: ',
|
|
140
|
-
default: c.snapshot_prefix
|
|
142
|
+
default: c.snapshot_prefix,
|
|
141
143
|
},
|
|
142
144
|
{
|
|
143
145
|
type: 'input',
|
|
144
146
|
name: 'snapshot_basename',
|
|
145
147
|
message: 'LiveCD iso basename: ',
|
|
146
|
-
default: c.snapshot_basename
|
|
148
|
+
default: c.snapshot_basename,
|
|
147
149
|
},
|
|
148
150
|
{
|
|
149
151
|
type: 'input',
|
|
150
152
|
name: 'user_opt',
|
|
151
153
|
message: 'LiveCD user:',
|
|
152
|
-
default: c.user_opt
|
|
154
|
+
default: c.user_opt,
|
|
153
155
|
},
|
|
154
156
|
{
|
|
155
157
|
type: 'input',
|
|
156
158
|
name: 'user_opt_passwd',
|
|
157
159
|
message: 'LiveCD user password: ',
|
|
158
|
-
default: c.user_opt_passwd
|
|
160
|
+
default: c.user_opt_passwd,
|
|
159
161
|
},
|
|
160
162
|
{
|
|
161
163
|
type: 'input',
|
|
162
164
|
name: 'root_passwd',
|
|
163
165
|
message: 'LiveCD root password: ',
|
|
164
|
-
default: c.root_passwd
|
|
166
|
+
default: c.root_passwd,
|
|
165
167
|
},
|
|
166
168
|
{
|
|
167
169
|
type: 'input',
|
|
168
170
|
name: 'theme',
|
|
169
171
|
message: 'LiveCD theme: ',
|
|
170
|
-
default: c.theme
|
|
172
|
+
default: c.theme,
|
|
171
173
|
},
|
|
172
174
|
{
|
|
173
175
|
type: 'list',
|
|
174
176
|
name: 'compression',
|
|
175
177
|
message: 'LiveCD compression: ',
|
|
176
178
|
choices: ['fast', 'normal', 'max'],
|
|
177
|
-
default: compressionOpt
|
|
178
|
-
}
|
|
179
|
+
default: compressionOpt,
|
|
180
|
+
},
|
|
179
181
|
];
|
|
180
182
|
inquirer_1.default.prompt(questions).then(function (options) {
|
|
181
183
|
resolve(JSON.stringify(options));
|
package/dist/classes/distro.js
CHANGED
|
@@ -6,12 +6,14 @@
|
|
|
6
6
|
* mail: piero.proietti@gmail.com
|
|
7
7
|
*/
|
|
8
8
|
'use strict';
|
|
9
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
10
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
11
|
+
};
|
|
9
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
|
|
13
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
14
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
15
|
+
const shelljs_1 = __importDefault(require("shelljs"));
|
|
16
|
+
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
15
17
|
/**
|
|
16
18
|
* Classe
|
|
17
19
|
*/
|
|
@@ -29,8 +31,8 @@ class Distro {
|
|
|
29
31
|
this.syslinuxPath = '';
|
|
30
32
|
this.pxelinuxPath = '';
|
|
31
33
|
this.memdiskPath = '';
|
|
32
|
-
this.liveMediumPath =
|
|
33
|
-
this.squashfs =
|
|
34
|
+
this.liveMediumPath = '/run/live/medium/';
|
|
35
|
+
this.squashfs = 'live/filesystem.squashfs';
|
|
34
36
|
this.homeUrl = '';
|
|
35
37
|
this.supportUrl = '';
|
|
36
38
|
this.bugReportUrl = '';
|
|
@@ -144,8 +146,8 @@ class Distro {
|
|
|
144
146
|
break;
|
|
145
147
|
}
|
|
146
148
|
/**
|
|
147
|
-
|
|
148
|
-
|
|
149
|
+
* Ubuntu LTS + actual
|
|
150
|
+
*/
|
|
149
151
|
case 'bionic': {
|
|
150
152
|
// Ubuntu 18.04 bionic LTS eol aprile 2023
|
|
151
153
|
this.distroLike = 'Ubuntu';
|
|
@@ -173,9 +175,9 @@ class Distro {
|
|
|
173
175
|
break;
|
|
174
176
|
}
|
|
175
177
|
/**
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
178
|
+
* Arch Linux / RebornOS
|
|
179
|
+
* calamares rebornOS: Reborn-OS/calamares-core-git
|
|
180
|
+
*/
|
|
179
181
|
case 'n/a': {
|
|
180
182
|
// ARCH rolling
|
|
181
183
|
this.familyId = 'archlinux';
|
|
@@ -183,8 +185,8 @@ class Distro {
|
|
|
183
185
|
this.codenameId = 'rolling';
|
|
184
186
|
this.codenameLikeId = 'rolling';
|
|
185
187
|
this.liveMediumPath = '/run/archiso/copytoram/';
|
|
186
|
-
this.squashfs =
|
|
187
|
-
//this.squashfs = `arch/x86_64/airootfs.sfs`
|
|
188
|
+
this.squashfs = '/airootfs.sfs';
|
|
189
|
+
// this.squashfs = `arch/x86_64/airootfs.sfs`
|
|
188
190
|
break;
|
|
189
191
|
}
|
|
190
192
|
case 'Qonos':
|
|
@@ -194,8 +196,8 @@ class Distro {
|
|
|
194
196
|
this.familyId = 'archlinux';
|
|
195
197
|
this.distroLike = 'Arch';
|
|
196
198
|
this.codenameLikeId = 'rolling';
|
|
197
|
-
this.liveMediumPath =
|
|
198
|
-
this.squashfs =
|
|
199
|
+
this.liveMediumPath = '/run/miso/bootmnt/';
|
|
200
|
+
this.squashfs = 'manjaro/x86_64/livefs.sfs';
|
|
199
201
|
break;
|
|
200
202
|
}
|
|
201
203
|
default: {
|
|
@@ -205,26 +207,27 @@ class Distro {
|
|
|
205
207
|
let found = false;
|
|
206
208
|
let file = node_path_1.default.resolve(__dirname, '../../conf/derivatives.yaml');
|
|
207
209
|
if (node_fs_1.default.existsSync('/etc/penguins-eggs.d/derivatives.yaml')) {
|
|
208
|
-
file =
|
|
210
|
+
file = '/etc/penguins-eggs.d/derivatives.yaml';
|
|
209
211
|
}
|
|
210
212
|
const content = node_fs_1.default.readFileSync(file, 'utf8');
|
|
211
|
-
|
|
212
|
-
for (
|
|
213
|
-
for (let n = 0; n <
|
|
214
|
-
if (this.codenameId ===
|
|
213
|
+
const distros = js_yaml_1.default.load(content);
|
|
214
|
+
for (const distro of distros) {
|
|
215
|
+
for (let n = 0; n < distro.derivatives.length; n++) {
|
|
216
|
+
if (this.codenameId === distro.derivatives[n]) {
|
|
215
217
|
found = true;
|
|
216
|
-
this.distroLike =
|
|
217
|
-
this.codenameLikeId =
|
|
218
|
+
this.distroLike = distro.distro;
|
|
219
|
+
this.codenameLikeId = distro.id;
|
|
218
220
|
this.familyId = 'debian';
|
|
219
221
|
}
|
|
220
222
|
}
|
|
221
223
|
}
|
|
222
224
|
if (!found) {
|
|
223
225
|
console.log(`This distro ${this.distroId}/${this.codenameId} is not yet recognized!`);
|
|
224
|
-
console.log(
|
|
225
|
-
console.log(
|
|
226
|
-
console.log(
|
|
227
|
-
console.log(
|
|
226
|
+
console.log('');
|
|
227
|
+
console.log('You can edit /usr/lib/penguins-eggs/conf/derivaties.yaml to add it -');
|
|
228
|
+
console.log('after that - run: sudo eggs dad -d to re-configure eggs.');
|
|
229
|
+
console.log('If you can create your new iso, you can contribute to the project');
|
|
230
|
+
console.log('by suggesting your modification.');
|
|
228
231
|
process.exit(0);
|
|
229
232
|
}
|
|
230
233
|
}
|