penguins-eggs 9.6.16 → 9.6.18
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 +4 -4
- package/dist/classes/utils.js +3 -2
- package/dist/commands/calamares.js +10 -10
- package/dist/commands/install.js +2 -1
- package/dist/components/users.js +12 -10
- package/dist/krill/krill-prepare.js +7 -3
- package/dist/krill/krill-sequence.js +14 -6
- package/dist/krill/modules/bootloader-config-arch.js +33 -0
- package/dist/krill/modules/{bootloader-config-ubuntu.js → bootloader-config-debian.js} +2 -46
- package/dist/krill/modules/bootloader-config.js +2 -11
- package/dist/krill/modules/grubcfg.js +6 -6
- package/dist/krill/modules/hostname.js +11 -3
- package/dist/lib/get_domain.js +1 -1
- package/dist/lib/get_password.js +3 -3
- package/package.json +1 -1
- package/dist/lib/get_root_password.js +0 -39
package/.oclif.manifest.json
CHANGED
|
@@ -1 +1 @@
|
|
|
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}]}}}
|
|
1
|
+
{"version":"9.6.18","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":["krill"],"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.18_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.18_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.18_amd64.deb** or **gdebi eggs_9.6.18_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).
|
|
@@ -480,7 +480,7 @@ DESCRIPTION
|
|
|
480
480
|
|
|
481
481
|
_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v5.1.23/src/commands/help.ts)_
|
|
482
482
|
|
|
483
|
-
## `eggs install`
|
|
483
|
+
## `eggs install` or `eggs krill`
|
|
484
484
|
|
|
485
485
|
krill: the CLI system installer - the egg became a penguin!
|
|
486
486
|
|
package/dist/classes/utils.js
CHANGED
|
@@ -660,14 +660,15 @@ class Utils {
|
|
|
660
660
|
* getDomain
|
|
661
661
|
*/
|
|
662
662
|
static getDomain() {
|
|
663
|
-
return shelljs_1.default.exec('
|
|
663
|
+
return shelljs_1.default.exec('domainname', { silent: true }).stdout.trim();
|
|
664
664
|
// return shx.exec(`route -n | grep 'UG[ \t]' | awk '{print $2}'`, { silent: true }).stdout.trim()
|
|
665
665
|
}
|
|
666
666
|
/**
|
|
667
667
|
* @returns gateway
|
|
668
668
|
*/
|
|
669
669
|
static gateway() {
|
|
670
|
-
return shelljs_1.default.exec(`
|
|
670
|
+
return shelljs_1.default.exec(`ip r | grep 'default' | awk '{print $3}'`, { silent: true }).stdout.trim();
|
|
671
|
+
//return shx.exec(`route -n | grep 'UG[ \t]' | awk '{print $2}'`, { silent: true }).stdout.trim()
|
|
671
672
|
}
|
|
672
673
|
/**
|
|
673
674
|
* write a file
|
|
@@ -80,16 +80,16 @@ class Calamares extends core_1.Command {
|
|
|
80
80
|
policies = true;
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Configure
|
|
86
|
+
*/
|
|
87
|
+
if (await this.settings.load()) {
|
|
88
|
+
utils_1.default.warning(`Configuring ${installer}`);
|
|
89
|
+
await this.settings.loadRemix(this.settings.config.snapshot_basename, theme);
|
|
90
|
+
const isClone = false;
|
|
91
|
+
this.incubator = new incubator_1.default(this.settings.remix, this.settings.distro, this.settings.config.user_opt, theme, isClone, verbose);
|
|
92
|
+
await this.incubator.config(release);
|
|
93
93
|
/**
|
|
94
94
|
* policies
|
|
95
95
|
*/
|
package/dist/commands/install.js
CHANGED
|
@@ -56,7 +56,7 @@ class Install extends core_1.Command {
|
|
|
56
56
|
// hostname
|
|
57
57
|
const ip = flags.ip;
|
|
58
58
|
const random = flags.random;
|
|
59
|
-
let domain = '
|
|
59
|
+
let domain = '';
|
|
60
60
|
if (flags.domain) {
|
|
61
61
|
domain = flags.domain;
|
|
62
62
|
}
|
|
@@ -100,6 +100,7 @@ Install.flags = {
|
|
|
100
100
|
unattended: core_1.Flags.boolean({ char: 'u', description: 'Unattended installation' }),
|
|
101
101
|
verbose: core_1.Flags.boolean({ char: 'v', description: 'Verbose' }),
|
|
102
102
|
};
|
|
103
|
+
Install.aliases = ['krill'];
|
|
103
104
|
Install.description = 'krill: the CLI system installer - the egg became a penguin!';
|
|
104
105
|
Install.examples = [
|
|
105
106
|
'sudo eggs install',
|
package/dist/components/users.js
CHANGED
|
@@ -45,6 +45,7 @@ function Users({ name, fullname, password, rootPassword, hostname, autologin, sa
|
|
|
45
45
|
if (autologin) {
|
|
46
46
|
charAutologin = "[ ]";
|
|
47
47
|
}
|
|
48
|
+
charAutologin = ""; // Hidden
|
|
48
49
|
if (sameUserPassword) {
|
|
49
50
|
rootPassword = password;
|
|
50
51
|
}
|
|
@@ -57,22 +58,23 @@ function Users({ name, fullname, password, rootPassword, hostname, autologin, sa
|
|
|
57
58
|
react_1.default.createElement(steps_1.default, { step: 5 }),
|
|
58
59
|
react_1.default.createElement(ink_1.Box, { flexDirection: "column" },
|
|
59
60
|
react_1.default.createElement(ink_1.Box, null,
|
|
60
|
-
react_1.default.createElement(ink_1.Text, null, "
|
|
61
|
+
react_1.default.createElement(ink_1.Text, null, "username : "),
|
|
61
62
|
react_1.default.createElement(ink_1.Text, { color: "cyan" }, name)),
|
|
62
63
|
react_1.default.createElement(ink_1.Box, null,
|
|
63
|
-
react_1.default.createElement(ink_1.Text, null, "
|
|
64
|
+
react_1.default.createElement(ink_1.Text, null, "full username: "),
|
|
64
65
|
react_1.default.createElement(ink_1.Text, { color: "cyan" }, fullname)),
|
|
65
66
|
react_1.default.createElement(ink_1.Box, null,
|
|
66
|
-
react_1.default.createElement(ink_1.Text, null, "
|
|
67
|
-
react_1.default.createElement(ink_1.Text, { color: "cyan" }, hostname)),
|
|
68
|
-
react_1.default.createElement(ink_1.Box, null,
|
|
69
|
-
react_1.default.createElement(ink_1.Text, null, "Choose a password "),
|
|
67
|
+
react_1.default.createElement(ink_1.Text, null, "user password: "),
|
|
70
68
|
react_1.default.createElement(ink_1.Text, { color: "cyan" }, password)),
|
|
69
|
+
react_1.default.createElement(ink_1.Box, null),
|
|
71
70
|
react_1.default.createElement(ink_1.Box, null,
|
|
72
|
-
react_1.default.createElement(ink_1.Text, null, "
|
|
73
|
-
react_1.default.createElement(ink_1.Text, { color: "cyan" },
|
|
71
|
+
react_1.default.createElement(ink_1.Text, null, "root password: "),
|
|
72
|
+
react_1.default.createElement(ink_1.Text, { color: "cyan" }, rootPassword)),
|
|
73
|
+
react_1.default.createElement(ink_1.Box, null,
|
|
74
|
+
react_1.default.createElement(ink_1.Text, null, "hostname : "),
|
|
75
|
+
react_1.default.createElement(ink_1.Text, { color: "cyan" }, hostname)),
|
|
74
76
|
react_1.default.createElement(ink_1.Box, null,
|
|
75
|
-
react_1.default.createElement(ink_1.Text, null, "
|
|
76
|
-
react_1.default.createElement(ink_1.Text, { color: "cyan" },
|
|
77
|
+
react_1.default.createElement(ink_1.Text, null, " "),
|
|
78
|
+
react_1.default.createElement(ink_1.Text, { color: "cyan" }, charAutologin))))))));
|
|
77
79
|
}
|
|
78
80
|
exports.default = Users;
|
|
@@ -134,7 +134,7 @@ class Krill {
|
|
|
134
134
|
* @param pve
|
|
135
135
|
* @param verbose
|
|
136
136
|
*/
|
|
137
|
-
async prepare(krillConfig = {}, ip = false, random = false, domain = '
|
|
137
|
+
async prepare(krillConfig = {}, ip = false, random = false, domain = '', suspend = false, small = false, none = false, cryped = false, pve = false, verbose = false) {
|
|
138
138
|
/**
|
|
139
139
|
* Check for disk presence
|
|
140
140
|
*/
|
|
@@ -438,7 +438,7 @@ class Krill {
|
|
|
438
438
|
}
|
|
439
439
|
let fullname = this.krillConfig.fullname;
|
|
440
440
|
if (fullname === '' || fullname === undefined) {
|
|
441
|
-
fullname =
|
|
441
|
+
fullname = name;
|
|
442
442
|
}
|
|
443
443
|
let password = this.krillConfig.password;
|
|
444
444
|
if (password === '' || password === undefined) {
|
|
@@ -462,7 +462,8 @@ class Krill {
|
|
|
462
462
|
}
|
|
463
463
|
name = await (0, get_username_1.default)(name);
|
|
464
464
|
fullname = await (0, get_userfullname_1.default)(fullname);
|
|
465
|
-
password = await (0, get_password_1.default)(password);
|
|
465
|
+
password = await (0, get_password_1.default)(name, password);
|
|
466
|
+
rootPassword = await (0, get_password_1.default)('root', password);
|
|
466
467
|
hostname = await (0, get_hostname_1.default)(hostname);
|
|
467
468
|
}
|
|
468
469
|
return {
|
|
@@ -507,6 +508,9 @@ class Krill {
|
|
|
507
508
|
i.netmask = await (0, get_netmask_1.default)(i.netmask);
|
|
508
509
|
i.gateway = await (0, get_gateway_1.default)(i.gateway);
|
|
509
510
|
i.domain = await (0, get_domain_1.default)(i.domain);
|
|
511
|
+
if (i.domain.at(0) !== '.') {
|
|
512
|
+
i.domain = '.' + i.domain;
|
|
513
|
+
}
|
|
510
514
|
i.dns = (await (0, get_dns_1.default)(dnsString)).split(';');
|
|
511
515
|
dnsString = '';
|
|
512
516
|
for (let c = 0; c < i.dns.length; c++) {
|
|
@@ -42,8 +42,8 @@ const network_cfg_1 = tslib_1.__importDefault(require("./modules/network-cfg"));
|
|
|
42
42
|
// services-systemd:
|
|
43
43
|
// bootloader-config
|
|
44
44
|
const bootloader_config_1 = tslib_1.__importDefault(require("./modules/bootloader-config"));
|
|
45
|
-
const
|
|
46
|
-
|
|
45
|
+
const bootloader_config_arch_1 = tslib_1.__importDefault(require("./modules/bootloader-config-arch"));
|
|
46
|
+
const bootloader_config_debian_1 = tslib_1.__importDefault(require("./modules/bootloader-config-debian"));
|
|
47
47
|
const grubcfg_1 = tslib_1.__importDefault(require("./modules/grubcfg"));
|
|
48
48
|
const bootloader_1 = tslib_1.__importDefault(require("./modules/bootloader"));
|
|
49
49
|
const packages_1 = tslib_1.__importDefault(require("./modules/packages"));
|
|
@@ -88,7 +88,8 @@ class Sequence {
|
|
|
88
88
|
// services-systemd:
|
|
89
89
|
// bootloader-config
|
|
90
90
|
this.bootloaderConfig = bootloader_config_1.default;
|
|
91
|
-
this.
|
|
91
|
+
this.bootloaderConfigArch = bootloader_config_arch_1.default;
|
|
92
|
+
this.bootloaderConfigDebian = bootloader_config_debian_1.default;
|
|
92
93
|
//
|
|
93
94
|
this.grubcfg = grubcfg_1.default;
|
|
94
95
|
this.bootloader = bootloader_1.default;
|
|
@@ -162,7 +163,14 @@ class Sequence {
|
|
|
162
163
|
* @param umount
|
|
163
164
|
* @returns
|
|
164
165
|
*/
|
|
165
|
-
async start(domain = '
|
|
166
|
+
async start(domain = '', unattended = false, nointeractive = false, halt = false, verbose = false) {
|
|
167
|
+
// Imposta il domain per flag
|
|
168
|
+
if (domain !== '') {
|
|
169
|
+
if (domain.at(0) !== '.') {
|
|
170
|
+
domain = '.' + domain;
|
|
171
|
+
}
|
|
172
|
+
this.network.domain = domain;
|
|
173
|
+
}
|
|
166
174
|
/**
|
|
167
175
|
* To let krill to work with Arch we need:
|
|
168
176
|
*/
|
|
@@ -317,7 +325,7 @@ class Sequence {
|
|
|
317
325
|
percent = 0.64;
|
|
318
326
|
try {
|
|
319
327
|
await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
|
|
320
|
-
await this.hostname(domain);
|
|
328
|
+
await this.hostname(this.network.domain);
|
|
321
329
|
}
|
|
322
330
|
catch (error) {
|
|
323
331
|
await utils_1.default.pressKeyToExit(JSON.stringify(error));
|
|
@@ -414,7 +422,7 @@ class Sequence {
|
|
|
414
422
|
await utils_1.default.pressKeyToExit(JSON.stringify(error));
|
|
415
423
|
}
|
|
416
424
|
// changePassword root
|
|
417
|
-
message = "Add
|
|
425
|
+
message = "Add root password";
|
|
418
426
|
percent = 0.77;
|
|
419
427
|
try {
|
|
420
428
|
await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const utils_1 = require("../../lib/utils");
|
|
5
|
+
const utils_2 = tslib_1.__importDefault(require("../../classes/utils"));
|
|
6
|
+
/**
|
|
7
|
+
*
|
|
8
|
+
* @param this
|
|
9
|
+
*/
|
|
10
|
+
async function bootloaderConfigArch() {
|
|
11
|
+
let cmd = '';
|
|
12
|
+
if (this.efi) {
|
|
13
|
+
try {
|
|
14
|
+
cmd = `chroot ${this.installTarget} pacman -S grub-efi-${utils_2.default.uefiArch()} ${this.toNull}`;
|
|
15
|
+
await (0, utils_1.exec)(cmd, this.echo);
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
console.log(error);
|
|
19
|
+
await utils_2.default.pressKeyToExit(cmd, true);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
try {
|
|
24
|
+
cmd = `chroot ${this.installTarget} pacman -S grub-pc ${this.toNull}`;
|
|
25
|
+
await (0, utils_1.exec)(cmd, this.echo);
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
console.log(error);
|
|
29
|
+
await utils_2.default.pressKeyToExit(cmd, true);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.default = bootloaderConfigArch;
|
|
@@ -3,11 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const utils_1 = require("../../lib/utils");
|
|
5
5
|
const utils_2 = tslib_1.__importDefault(require("../../classes/utils"));
|
|
6
|
-
|
|
7
|
-
*
|
|
8
|
-
* @param this
|
|
9
|
-
*/
|
|
10
|
-
async function bootloaderConfigUbuntu() {
|
|
6
|
+
async function bootloaderConfigDebian() {
|
|
11
7
|
let cmd = '';
|
|
12
8
|
try {
|
|
13
9
|
cmd = `chroot ${this.installTarget} apt-get update -y ${this.toNull}`;
|
|
@@ -46,45 +42,5 @@ async function bootloaderConfigUbuntu() {
|
|
|
46
42
|
await utils_2.default.pressKeyToExit(cmd, true);
|
|
47
43
|
}
|
|
48
44
|
}
|
|
49
|
-
try {
|
|
50
|
-
cmd = `chroot ${this.installTarget} sleep 1 ${this.toNull}`;
|
|
51
|
-
await (0, utils_1.exec)(cmd, this.echo);
|
|
52
|
-
}
|
|
53
|
-
catch (error) {
|
|
54
|
-
console.log(error);
|
|
55
|
-
await utils_2.default.pressKeyToExit(cmd, true);
|
|
56
|
-
}
|
|
57
|
-
try {
|
|
58
|
-
cmd = `chroot ${this.installTarget} grub-install ${this.partitions.installationDevice} ${this.toNull}`;
|
|
59
|
-
await (0, utils_1.exec)(cmd, this.echo);
|
|
60
|
-
}
|
|
61
|
-
catch (error) {
|
|
62
|
-
console.log(error);
|
|
63
|
-
await utils_2.default.pressKeyToExit(cmd, true);
|
|
64
|
-
}
|
|
65
|
-
try {
|
|
66
|
-
cmd = `chroot ${this.installTarget} grub-mkconfig -o /boot/grub/grub.cfg ${this.toNull}`;
|
|
67
|
-
await (0, utils_1.exec)(cmd, this.echo);
|
|
68
|
-
}
|
|
69
|
-
catch (error) {
|
|
70
|
-
console.log(error);
|
|
71
|
-
await utils_2.default.pressKeyToExit(cmd, true);
|
|
72
|
-
}
|
|
73
|
-
try {
|
|
74
|
-
cmd = `chroot ${this.installTarget} update-grub ${this.toNull}`;
|
|
75
|
-
await (0, utils_1.exec)(cmd, this.echo);
|
|
76
|
-
}
|
|
77
|
-
catch (error) {
|
|
78
|
-
console.log(error);
|
|
79
|
-
await utils_2.default.pressKeyToExit(cmd, true);
|
|
80
|
-
}
|
|
81
|
-
try {
|
|
82
|
-
cmd = `chroot ${this.installTarget} sleep 1 ${this.toNull}`;
|
|
83
|
-
await (0, utils_1.exec)(cmd, this.echo);
|
|
84
|
-
}
|
|
85
|
-
catch (error) {
|
|
86
|
-
console.log(error);
|
|
87
|
-
await utils_2.default.pressKeyToExit(cmd, true);
|
|
88
|
-
}
|
|
89
45
|
}
|
|
90
|
-
exports.default =
|
|
46
|
+
exports.default = bootloaderConfigDebian;
|
|
@@ -8,21 +8,12 @@
|
|
|
8
8
|
* https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
|
|
9
9
|
*/
|
|
10
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
-
/**
|
|
12
|
-
*
|
|
13
|
-
* @param this
|
|
14
|
-
*/
|
|
15
11
|
async function bootloaderConfig() {
|
|
16
12
|
if (this.distro.familyId === 'debian') {
|
|
17
|
-
|
|
18
|
-
this.bootloaderConfigUbuntu();
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
this.execCalamaresModule('bootloader-config');
|
|
22
|
-
}
|
|
13
|
+
this.bootloaderConfigDebian();
|
|
23
14
|
}
|
|
24
15
|
else if (this.distro.familyId === 'archlinux') {
|
|
25
|
-
|
|
16
|
+
this.bootloaderConfigArch();
|
|
26
17
|
}
|
|
27
18
|
}
|
|
28
19
|
exports.default = bootloaderConfig;
|
|
@@ -12,12 +12,12 @@ const tslib_1 = require("tslib");
|
|
|
12
12
|
const utils_1 = tslib_1.__importDefault(require("../../classes/utils"));
|
|
13
13
|
const fs_1 = tslib_1.__importDefault(require("fs"));
|
|
14
14
|
/**
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
* grubcfg
|
|
16
|
+
* - open /etc/default/grub
|
|
17
|
+
* - find GRUB_CMDLINE_LINUX_DEFAULT=
|
|
18
|
+
* - replace with GRUB_CMDLINE_LINUX_DEFAULT=
|
|
19
|
+
* 's/GRUB_CMDLINE_LINUX_DEFAULT=.*$/GRUB_CMDLINE_LINUX_DEFAULT=/g'
|
|
20
|
+
*/
|
|
21
21
|
async function grubcfg() {
|
|
22
22
|
const file = `${this.installTarget}/etc/default/grub`;
|
|
23
23
|
let content = '';
|
|
@@ -13,7 +13,7 @@ const fs_1 = tslib_1.__importDefault(require("fs"));
|
|
|
13
13
|
/**
|
|
14
14
|
* hostname
|
|
15
15
|
*/
|
|
16
|
-
async function hostname(domain = '
|
|
16
|
+
async function hostname(domain = '') {
|
|
17
17
|
const hostname = this.users.hostname;
|
|
18
18
|
/**
|
|
19
19
|
* hostname
|
|
@@ -28,12 +28,20 @@ async function hostname(domain = 'local') {
|
|
|
28
28
|
*/
|
|
29
29
|
{
|
|
30
30
|
const file = this.installTarget + '/etc/hosts';
|
|
31
|
+
if (domain === '(none)') {
|
|
32
|
+
domain = '';
|
|
33
|
+
}
|
|
31
34
|
let text = '127.0.0.1 localhost localhost.localdomain\n';
|
|
32
35
|
if (this.network.addressType === 'static') {
|
|
33
|
-
text += `${this.network.address} ${hostname} pvelocalhost\n`;
|
|
36
|
+
text += `${this.network.address} ${hostname} ${hostname}${domain} pvelocalhost pvelocalhost.pvelocaldomain\n`;
|
|
34
37
|
}
|
|
35
38
|
else {
|
|
36
|
-
|
|
39
|
+
if (domain !== '') {
|
|
40
|
+
text += `127.0.1.1 ${hostname} ${hostname}${domain}\n`;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
text += `127.0.1.1 ${hostname}\n`;
|
|
44
|
+
}
|
|
37
45
|
}
|
|
38
46
|
text += '# The following lines are desirable for IPv6 capable hosts\n';
|
|
39
47
|
text += ':: 1 ip6 - localhost ip6 - loopback\n';
|
package/dist/lib/get_domain.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
'use strict';
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
const inquirer = require('inquirer');
|
|
11
|
-
async function getDomain(initial) {
|
|
11
|
+
async function getDomain(initial = '') {
|
|
12
12
|
return new Promise(function (resolve) {
|
|
13
13
|
const questions = [
|
|
14
14
|
{
|
package/dist/lib/get_password.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
// import { option } from '@oclif/command/lib/flags'
|
|
11
11
|
const inquirer = require('inquirer');
|
|
12
|
-
async function getPassword(initial) {
|
|
12
|
+
async function getPassword(user = 'root', initial) {
|
|
13
13
|
const requireLetterAndNumber = (value) => {
|
|
14
14
|
if (/\w/.test(value) && /\d/.test(value)) {
|
|
15
15
|
return true;
|
|
@@ -19,14 +19,14 @@ async function getPassword(initial) {
|
|
|
19
19
|
const questions = [
|
|
20
20
|
{
|
|
21
21
|
type: 'password',
|
|
22
|
-
message:
|
|
22
|
+
message: `Choose a password for ${user}: `,
|
|
23
23
|
name: 'password',
|
|
24
24
|
default: initial,
|
|
25
25
|
// validate: requireLetterAndNumber,
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
28
|
type: 'password',
|
|
29
|
-
message:
|
|
29
|
+
message: `Confirm your ${user} password: `,
|
|
30
30
|
name: 'confirmPassword',
|
|
31
31
|
default: initial,
|
|
32
32
|
// validate: requireLetterAndNumber,
|
package/package.json
CHANGED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* penguins-eggs
|
|
3
|
-
* lib: get_root_password.ts
|
|
4
|
-
* author: Piero Proietti
|
|
5
|
-
* email: piero.proietti@gmail.com
|
|
6
|
-
* license: MIT
|
|
7
|
-
*/
|
|
8
|
-
'use strict';
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
const inquirer = require('inquirer');
|
|
11
|
-
async function geRootPassword(initial) {
|
|
12
|
-
const requireLetterAndNumber = (value) => {
|
|
13
|
-
if (/\w/.test(value) && /\d/.test(value)) {
|
|
14
|
-
return true;
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
return new Promise(function (resolve) {
|
|
18
|
-
const questions = [
|
|
19
|
-
{
|
|
20
|
-
type: 'password',
|
|
21
|
-
message: 'Repeat password: ',
|
|
22
|
-
name: 'password',
|
|
23
|
-
default: initial,
|
|
24
|
-
// validate: requireLetterAndNumber,
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
type: 'password',
|
|
28
|
-
message: 'Choose a password to keep your account safe: ',
|
|
29
|
-
name: 'confirmPassword',
|
|
30
|
-
default: initial,
|
|
31
|
-
// validate: requireLetterAndNumber,
|
|
32
|
-
},
|
|
33
|
-
];
|
|
34
|
-
inquirer.prompt(questions).then(function (options) {
|
|
35
|
-
resolve(options.password);
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
exports.default = geRootPassword;
|