penguins-eggs 10.0.57 → 10.1.0
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 +100 -1
- package/README.md +84 -44
- package/addons/eggs/theme/calamares/modules/{_users.yml → users.yml} +3 -3
- package/addons/eggs/theme/livecd/grub.main.full.cfg +1 -7
- package/addons/eggs/theme/livecd/grub.main.simple.cfg +1 -1
- package/assets/config.cfg +30 -0
- package/conf/derivatives.yaml +1 -3
- package/conf/derivatives_fedora.yaml +6 -0
- package/conf/distros/alpine/calamares/modules/users.yml +3 -3
- package/conf/distros/bionic/calamares/calamares-modules/grubcfg/grubcfg.yml +1 -1
- package/conf/distros/bionic/calamares/modules/users.yml +3 -3
- package/conf/distros/buster/calamares/calamares-modules/cleanup/cleanup.sh +8 -1
- package/conf/distros/buster/calamares/modules/partition.yml +159 -23
- package/conf/distros/buster/calamares/modules/removeuser.yml +1 -1
- package/conf/distros/buster/calamares/modules/users.yml +3 -3
- package/conf/distros/fedora/calamares/modules/users.yml +3 -3
- package/conf/distros/noble/calamares/modules/focal-jammy/users.yml +3 -3
- package/conf/distros/opensuse/calamares/modules/users.yml +3 -3
- package/conf/distros/rolling/calamares/modules/users.yml +3 -3
- package/conf/eggs.yaml +1 -1
- package/conf/exclude.list.d/master.list +1 -0
- package/conf/krill.yaml +8 -0
- package/conf/love.yaml +4 -4
- package/package.json +33 -29
- package/perrisbrewery/scripts/postinst +98 -0
- package/perrisbrewery/scripts/postrm +82 -0
- package/perrisbrewery/scripts/preinst +40 -0
- package/perrisbrewery/scripts/prerm +47 -0
- package/perrisbrewery/template/control.template +17 -0
- package/perrisbrewery/template/dependencies-bionic.yaml +33 -0
- package/perrisbrewery/template/dependencies.yaml +37 -0
- package/perrisbrewery/template/man.template.md +110 -0
- package/pods/README.md +14 -0
- package/pods/almalinux.sh +10 -0
- package/pods/archlinux.sh +10 -0
- package/pods/ci/README.md +5 -0
- package/pods/ci/kernel-overlay-install.sh +114 -0
- package/pods/ci/minimal/almalinux-container2host.sh +165 -0
- package/pods/ci/minimal/archlinux-container2host.sh +125 -0
- package/pods/ci/minimal/debian-container2host.sh +173 -0
- package/pods/ci/minimal/fedora-container2host.sh +170 -0
- package/pods/ci/minimal/manjaro-container2host.sh +123 -0
- package/pods/ci/minimal/opensuse-container2host.sh +143 -0
- package/pods/ci/penguins-eggs-execute.sh +22 -0
- package/pods/ci/penguins-eggs-install.sh +115 -0
- package/pods/ci/run +34 -0
- package/pods/ci/run-on-almalinux.sh +50 -0
- package/pods/ci/run-on-archlinux.sh +64 -0
- package/pods/ci/run-on-debian.sh +51 -0
- package/pods/ci/run-on-devuan.sh +48 -0
- package/pods/ci/run-on-fedora.sh +51 -0
- package/pods/ci/run-on-manjaro.sh +61 -0
- package/pods/ci/run-on-opensuse.sh +58 -0
- package/pods/ci/run-on-rockylinux.sh +51 -0
- package/pods/ci/run-on-ubuntu.sh +52 -0
- package/pods/debian.sh +23 -0
- package/pods/devuan.sh +26 -0
- package/pods/fedora.sh +12 -0
- package/pods/lmde.sh +22 -0
- package/pods/manjaro.sh +10 -0
- package/pods/opensuse.sh +12 -0
- package/pods/podman.command.sh +85 -0
- package/pods/rocky.sh +12 -0
- package/pods/run-build-packages-debs.sh +45 -0
- package/pods/run-create-debs.sh +23 -0
- package/pods/ubuntu.sh +24 -0
- package/scripts/_eggs +23 -6
- package/scripts/eggs.bash +8 -6
- package/dist/classes/bleach.d.ts +0 -32
- package/dist/classes/bleach.js +0 -135
- package/dist/classes/cfs.d.ts +0 -17
- package/dist/classes/cfs.js +0 -39
- package/dist/classes/cli-autologin.d.ts +0 -52
- package/dist/classes/cli-autologin.js +0 -247
- package/dist/classes/compressors.d.ts +0 -54
- package/dist/classes/compressors.js +0 -109
- package/dist/classes/daddy.d.ts +0 -26
- package/dist/classes/daddy.js +0 -167
- package/dist/classes/distro.d.ts +0 -32
- package/dist/classes/distro.js +0 -341
- package/dist/classes/diversions.d.ts +0 -52
- package/dist/classes/diversions.js +0 -126
- package/dist/classes/incubation/branding.d.ts +0 -17
- package/dist/classes/incubation/branding.js +0 -85
- package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +0 -11
- package/dist/classes/incubation/fisherman-helper/displaymanager.js +0 -40
- package/dist/classes/incubation/fisherman-helper/packages.d.ts +0 -20
- package/dist/classes/incubation/fisherman-helper/packages.js +0 -72
- package/dist/classes/incubation/fisherman-helper/settings.d.ts +0 -15
- package/dist/classes/incubation/fisherman-helper/settings.js +0 -83
- package/dist/classes/incubation/fisherman.d.ts +0 -70
- package/dist/classes/incubation/fisherman.js +0 -263
- package/dist/classes/incubation/incubator.d/alpine.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/alpine.js +0 -78
- package/dist/classes/incubation/incubator.d/bionic.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/bionic.js +0 -83
- package/dist/classes/incubation/incubator.d/buster.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/buster.js +0 -85
- package/dist/classes/incubation/incubator.d/jessie.d.ts +0 -31
- package/dist/classes/incubation/incubator.d/jessie.js +0 -44
- package/dist/classes/incubation/incubator.d/noble.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/noble.js +0 -85
- package/dist/classes/incubation/incubator.d/openmamba.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/openmamba.js +0 -81
- package/dist/classes/incubation/incubator.d/opensuse.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/opensuse.js +0 -81
- package/dist/classes/incubation/incubator.d/rolling.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/rolling.js +0 -80
- package/dist/classes/incubation/incubator.d.ts +0 -44
- package/dist/classes/incubation/incubator.js +0 -382
- package/dist/classes/incubation/installer.d.ts +0 -13
- package/dist/classes/incubation/installer.js +0 -52
- package/dist/classes/keyboards.d.ts +0 -50
- package/dist/classes/keyboards.js +0 -287
- package/dist/classes/locales.d.ts +0 -21
- package/dist/classes/locales.js +0 -77
- package/dist/classes/network.d.ts +0 -37
- package/dist/classes/network.js +0 -98
- package/dist/classes/ovary.d.ts +0 -198
- package/dist/classes/ovary.js +0 -1850
- package/dist/classes/pacman.d/aldos.d.ts +0 -52
- package/dist/classes/pacman.d/aldos.js +0 -100
- package/dist/classes/pacman.d/alpine.d.ts +0 -56
- package/dist/classes/pacman.d/alpine.js +0 -162
- package/dist/classes/pacman.d/archlinux.d.ts +0 -62
- package/dist/classes/pacman.d/archlinux.js +0 -139
- package/dist/classes/pacman.d/debian.d.ts +0 -65
- package/dist/classes/pacman.d/debian.js +0 -143
- package/dist/classes/pacman.d/fedora.d.ts +0 -53
- package/dist/classes/pacman.d/fedora.js +0 -101
- package/dist/classes/pacman.d/openmamba.d.ts +0 -52
- package/dist/classes/pacman.d/openmamba.js +0 -100
- package/dist/classes/pacman.d/opensuse.d.ts +0 -53
- package/dist/classes/pacman.d/opensuse.js +0 -102
- package/dist/classes/pacman.d/voidlinux.d.ts +0 -52
- package/dist/classes/pacman.d/voidlinux.js +0 -90
- package/dist/classes/pacman.d.ts +0 -139
- package/dist/classes/pacman.js +0 -775
- package/dist/classes/pve-live.d.ts +0 -17
- package/dist/classes/pve-live.js +0 -52
- package/dist/classes/pxe.d.ts +0 -74
- package/dist/classes/pxe.js +0 -410
- package/dist/classes/settings.d.ts +0 -53
- package/dist/classes/settings.js +0 -185
- package/dist/classes/sources_list.d.ts +0 -28
- package/dist/classes/sources_list.js +0 -89
- package/dist/classes/systemctl.d.ts +0 -47
- package/dist/classes/systemctl.js +0 -86
- package/dist/classes/tailor.d.ts +0 -50
- package/dist/classes/tailor.js +0 -526
- package/dist/classes/tools.d.ts +0 -26
- package/dist/classes/tools.js +0 -50
- package/dist/classes/users.d.ts +0 -28
- package/dist/classes/users.js +0 -143
- package/dist/classes/utils.d.ts +0 -326
- package/dist/classes/utils.js +0 -1025
- package/dist/classes/xdg.d.ts +0 -45
- package/dist/classes/xdg.js +0 -337
- package/dist/classes/yolk.d.ts +0 -33
- package/dist/classes/yolk.js +0 -114
- package/dist/commands/adapt.d.ts +0 -17
- package/dist/commands/adapt.js +0 -33
- package/dist/commands/analyze.d.ts +0 -26
- package/dist/commands/analyze.js +0 -95
- package/dist/commands/calamares.d.ts +0 -29
- package/dist/commands/calamares.js +0 -112
- package/dist/commands/config.d.ts +0 -35
- package/dist/commands/config.js +0 -120
- package/dist/commands/cuckoo.d.ts +0 -16
- package/dist/commands/cuckoo.js +0 -62
- package/dist/commands/dad.d.ts +0 -20
- package/dist/commands/dad.js +0 -46
- package/dist/commands/export/iso.d.ts +0 -19
- package/dist/commands/export/iso.js +0 -55
- package/dist/commands/export/pkg.d.ts +0 -29
- package/dist/commands/export/pkg.js +0 -163
- package/dist/commands/export/tarballs.d.ts +0 -27
- package/dist/commands/export/tarballs.js +0 -84
- package/dist/commands/install.d.ts +0 -37
- package/dist/commands/install.js +0 -88
- package/dist/commands/kill.d.ts +0 -24
- package/dist/commands/kill.js +0 -50
- package/dist/commands/love.d.ts +0 -20
- package/dist/commands/love.js +0 -59
- package/dist/commands/mom.d.ts +0 -16
- package/dist/commands/mom.js +0 -30
- package/dist/commands/produce.d.ts +0 -34
- package/dist/commands/produce.js +0 -201
- package/dist/commands/status.d.ts +0 -23
- package/dist/commands/status.js +0 -31
- package/dist/commands/syncfrom.d.ts +0 -45
- package/dist/commands/syncfrom.js +0 -152
- package/dist/commands/syncto.d.ts +0 -40
- package/dist/commands/syncto.js +0 -175
- package/dist/commands/tools/clean.d.ts +0 -18
- package/dist/commands/tools/clean.js +0 -37
- package/dist/commands/tools/ppa.d.ts +0 -26
- package/dist/commands/tools/ppa.js +0 -138
- package/dist/commands/tools/skel.d.ts +0 -18
- package/dist/commands/tools/skel.js +0 -44
- package/dist/commands/tools/stat.d.ts +0 -31
- package/dist/commands/tools/stat.js +0 -70
- package/dist/commands/tools/yolk.d.ts +0 -24
- package/dist/commands/tools/yolk.js +0 -45
- package/dist/commands/update.d.ts +0 -51
- package/dist/commands/update.js +0 -219
- package/dist/commands/wardrobe/get.d.ts +0 -23
- package/dist/commands/wardrobe/get.js +0 -52
- package/dist/commands/wardrobe/list.d.ts +0 -24
- package/dist/commands/wardrobe/list.js +0 -125
- package/dist/commands/wardrobe/show.d.ts +0 -25
- package/dist/commands/wardrobe/show.js +0 -97
- package/dist/commands/wardrobe/wear.d.ts +0 -26
- package/dist/commands/wardrobe/wear.js +0 -84
- package/dist/components/finished.d.ts +0 -16
- package/dist/components/finished.js +0 -56
- package/dist/components/information.d.ts +0 -8
- package/dist/components/information.js +0 -156
- package/dist/components/install.d.ts +0 -15
- package/dist/components/install.js +0 -60
- package/dist/components/keyboard.d.ts +0 -16
- package/dist/components/keyboard.js +0 -54
- package/dist/components/location.d.ts +0 -16
- package/dist/components/location.js +0 -59
- package/dist/components/network.d.ts +0 -19
- package/dist/components/network.js +0 -65
- package/dist/components/partitions.d.ts +0 -16
- package/dist/components/partitions.js +0 -73
- package/dist/components/steps.d.ts +0 -13
- package/dist/components/steps.js +0 -148
- package/dist/components/summary.d.ts +0 -24
- package/dist/components/summary.js +0 -81
- package/dist/components/title.d.ts +0 -11
- package/dist/components/title.js +0 -35
- package/dist/components/users.d.ts +0 -24
- package/dist/components/users.js +0 -80
- package/dist/components/welcome.d.ts +0 -13
- package/dist/components/welcome.js +0 -63
- package/dist/index-old.d.ts +0 -8
- package/dist/index-old.js +0 -8
- package/dist/index.d.ts +0 -54
- package/dist/index.js +0 -147
- package/dist/interfaces/i-addons.d.ts +0 -12
- package/dist/interfaces/i-addons.js +0 -8
- package/dist/interfaces/i-analyze.d.ts +0 -17
- package/dist/interfaces/i-analyze.js +0 -17
- package/dist/interfaces/i-app.d.ts +0 -14
- package/dist/interfaces/i-app.js +0 -8
- package/dist/interfaces/i-branding.d.ts +0 -36
- package/dist/interfaces/i-branding.js +0 -8
- package/dist/interfaces/i-calamares-displaymanager.d.ts +0 -17
- package/dist/interfaces/i-calamares-displaymanager.js +0 -1
- package/dist/interfaces/i-calamares-finished.d.ts +0 -12
- package/dist/interfaces/i-calamares-finished.js +0 -1
- package/dist/interfaces/i-calamares-packages.d.ts +0 -28
- package/dist/interfaces/i-calamares-packages.js +0 -1
- package/dist/interfaces/i-calamares-partition.d.ts +0 -40
- package/dist/interfaces/i-calamares-partition.js +0 -1
- package/dist/interfaces/i-config-tools.d.ts +0 -15
- package/dist/interfaces/i-config-tools.js +0 -8
- package/dist/interfaces/i-devices.d.ts +0 -20
- package/dist/interfaces/i-devices.js +0 -8
- package/dist/interfaces/i-distro.d.ts +0 -23
- package/dist/interfaces/i-distro.js +0 -8
- package/dist/interfaces/i-drive-list.d.ts +0 -33
- package/dist/interfaces/i-drive-list.js +0 -8
- package/dist/interfaces/i-eggs-config.d.ts +0 -32
- package/dist/interfaces/i-eggs-config.js +0 -8
- package/dist/interfaces/i-excludes.d.ts +0 -14
- package/dist/interfaces/i-excludes.js +0 -8
- package/dist/interfaces/i-exec.d.ts +0 -11
- package/dist/interfaces/i-exec.js +0 -8
- package/dist/interfaces/i-initrd.d.ts +0 -13
- package/dist/interfaces/i-initrd.js +0 -8
- package/dist/interfaces/i-install.d.ts +0 -16
- package/dist/interfaces/i-install.js +0 -8
- package/dist/interfaces/i-installer.d.ts +0 -17
- package/dist/interfaces/i-installer.js +0 -8
- package/dist/interfaces/i-krill-config.d.ts +0 -33
- package/dist/interfaces/i-krill-config.js +0 -8
- package/dist/interfaces/i-krill.d.ts +0 -42
- package/dist/interfaces/i-krill.js +0 -8
- package/dist/interfaces/i-materia.d.ts +0 -36
- package/dist/interfaces/i-materia.js +0 -8
- package/dist/interfaces/i-net.d.ts +0 -16
- package/dist/interfaces/i-net.js +0 -8
- package/dist/interfaces/i-os-release.d.ts +0 -5
- package/dist/interfaces/i-os-release.js +0 -1
- package/dist/interfaces/i-packages.d.ts +0 -16
- package/dist/interfaces/i-packages.js +0 -8
- package/dist/interfaces/i-partitions.d.ts +0 -16
- package/dist/interfaces/i-partitions.js +0 -8
- package/dist/interfaces/i-pxe.d.ts +0 -45
- package/dist/interfaces/i-pxe.js +0 -1
- package/dist/interfaces/i-remix.d.ts +0 -21
- package/dist/interfaces/i-remix.js +0 -8
- package/dist/interfaces/i-settings.d.ts +0 -33
- package/dist/interfaces/i-settings.js +0 -8
- package/dist/interfaces/i-user.d.ts +0 -14
- package/dist/interfaces/i-user.js +0 -8
- package/dist/interfaces/i-workdir.d.ts +0 -14
- package/dist/interfaces/i-workdir.js +0 -8
- package/dist/interfaces/i-xkb-model.d.ts +0 -24
- package/dist/interfaces/i-xkb-model.js +0 -8
- package/dist/interfaces/index.d.ts +0 -25
- package/dist/interfaces/index.js +0 -8
- package/dist/krill/modules/add-user.d.ts +0 -20
- package/dist/krill/modules/add-user.js +0 -48
- package/dist/krill/modules/bootloader-config.d.ts +0 -14
- package/dist/krill/modules/bootloader-config.js +0 -165
- package/dist/krill/modules/bootloader.d.ts +0 -14
- package/dist/krill/modules/bootloader.js +0 -95
- package/dist/krill/modules/change-password.d.ts +0 -15
- package/dist/krill/modules/change-password.js +0 -18
- package/dist/krill/modules/del-live-user.d.ts +0 -14
- package/dist/krill/modules/del-live-user.js +0 -39
- package/dist/krill/modules/fstab.d.ts +0 -14
- package/dist/krill/modules/fstab.js +0 -128
- package/dist/krill/modules/grubcfg.d.ts +0 -17
- package/dist/krill/modules/grubcfg.js +0 -29
- package/dist/krill/modules/hostname.d.ts +0 -13
- package/dist/krill/modules/hostname.js +0 -50
- package/dist/krill/modules/initramfs-cfg.d.ts +0 -14
- package/dist/krill/modules/initramfs-cfg.js +0 -22
- package/dist/krill/modules/initramfs.d.ts +0 -13
- package/dist/krill/modules/initramfs.js +0 -54
- package/dist/krill/modules/locale-cfg.d.ts +0 -10
- package/dist/krill/modules/locale-cfg.js +0 -58
- package/dist/krill/modules/locale.d.ts +0 -13
- package/dist/krill/modules/locale.js +0 -91
- package/dist/krill/modules/m-keyboard.d.ts +0 -14
- package/dist/krill/modules/m-keyboard.js +0 -58
- package/dist/krill/modules/machine-id.d.ts +0 -15
- package/dist/krill/modules/machine-id.js +0 -33
- package/dist/krill/modules/mkfs.d.ts +0 -15
- package/dist/krill/modules/mkfs.js +0 -50
- package/dist/krill/modules/mount-fs.d.ts +0 -17
- package/dist/krill/modules/mount-fs.js +0 -62
- package/dist/krill/modules/mount-vfs.d.ts +0 -17
- package/dist/krill/modules/mount-vfs.js +0 -40
- package/dist/krill/modules/network-cfg.d.ts +0 -19
- package/dist/krill/modules/network-cfg.js +0 -64
- package/dist/krill/modules/packages.d.ts +0 -14
- package/dist/krill/modules/packages.js +0 -111
- package/dist/krill/modules/partition.d.ts +0 -20
- package/dist/krill/modules/partition.js +0 -345
- package/dist/krill/modules/remove-installer-link.d.ts +0 -13
- package/dist/krill/modules/remove-installer-link.js +0 -35
- package/dist/krill/modules/umount.d.ts +0 -14
- package/dist/krill/modules/umount.js +0 -28
- package/dist/krill/modules/unpackfs.d.ts +0 -13
- package/dist/krill/modules/unpackfs.js +0 -20
- package/dist/krill/prepare.d.ts +0 -78
- package/dist/krill/prepare.js +0 -626
- package/dist/krill/sequence.d.ts +0 -154
- package/dist/krill/sequence.js +0 -652
- package/dist/lib/get_address.d.ts +0 -8
- package/dist/lib/get_address.js +0 -23
- package/dist/lib/get_dns.d.ts +0 -8
- package/dist/lib/get_dns.js +0 -23
- package/dist/lib/get_domain.d.ts +0 -8
- package/dist/lib/get_domain.js +0 -23
- package/dist/lib/get_gateway.d.ts +0 -8
- package/dist/lib/get_gateway.js +0 -23
- package/dist/lib/get_hostname.d.ts +0 -8
- package/dist/lib/get_hostname.js +0 -23
- package/dist/lib/get_netmask.d.ts +0 -8
- package/dist/lib/get_netmask.js +0 -23
- package/dist/lib/get_password.d.ts +0 -8
- package/dist/lib/get_password.js +0 -36
- package/dist/lib/get_userfullname.d.ts +0 -8
- package/dist/lib/get_userfullname.js +0 -23
- package/dist/lib/get_username.d.ts +0 -8
- package/dist/lib/get_username.js +0 -23
- package/dist/lib/kill_me_softly.d.ts +0 -11
- package/dist/lib/kill_me_softly.js +0 -61
- package/dist/lib/select_address_type.d.ts +0 -8
- package/dist/lib/select_address_type.js +0 -24
- package/dist/lib/select_filesystem_type.d.ts +0 -8
- package/dist/lib/select_filesystem_type.js +0 -46
- package/dist/lib/select_installation_device.d.ts +0 -8
- package/dist/lib/select_installation_device.js +0 -34
- package/dist/lib/select_installation_mode.d.ts +0 -8
- package/dist/lib/select_installation_mode.js +0 -24
- package/dist/lib/select_interface.d.ts +0 -8
- package/dist/lib/select_interface.js +0 -24
- package/dist/lib/select_keyboard_layout.d.ts +0 -11
- package/dist/lib/select_keyboard_layout.js +0 -36
- package/dist/lib/select_keyboard_model.d.ts +0 -11
- package/dist/lib/select_keyboard_model.js +0 -34
- package/dist/lib/select_keyboard_option.d.ts +0 -11
- package/dist/lib/select_keyboard_option.js +0 -34
- package/dist/lib/select_keyboard_variant.d.ts +0 -11
- package/dist/lib/select_keyboard_variant.js +0 -35
- package/dist/lib/select_languages.d.ts +0 -8
- package/dist/lib/select_languages.js +0 -28
- package/dist/lib/select_regions.d.ts +0 -8
- package/dist/lib/select_regions.js +0 -24
- package/dist/lib/select_user_swap_choice.d.ts +0 -8
- package/dist/lib/select_user_swap_choice.js +0 -34
- package/dist/lib/select_zones.d.ts +0 -8
- package/dist/lib/select_zones.js +0 -518
- package/dist/lib/utils.d.ts +0 -34
- package/dist/lib/utils.js +0 -79
package/dist/classes/users.js
DELETED
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/classes/users.ts
|
|
3
|
-
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
-
* author: Piero Proietti
|
|
5
|
-
* email: piero.proietti@gmail.com
|
|
6
|
-
* license: MIT
|
|
7
|
-
*/
|
|
8
|
-
import fs from 'node:fs';
|
|
9
|
-
import { exec } from '../lib/utils.js';
|
|
10
|
-
/**
|
|
11
|
-
*
|
|
12
|
-
*/
|
|
13
|
-
export default class Users {
|
|
14
|
-
gecos;
|
|
15
|
-
gid;
|
|
16
|
-
hasHome;
|
|
17
|
-
home;
|
|
18
|
-
login;
|
|
19
|
-
password;
|
|
20
|
-
saveIt;
|
|
21
|
-
shell;
|
|
22
|
-
size;
|
|
23
|
-
uid;
|
|
24
|
-
constructor(login, password, uid, gid, gecos, home, shell) {
|
|
25
|
-
this.login = login;
|
|
26
|
-
this.password = password;
|
|
27
|
-
this.uid = uid;
|
|
28
|
-
this.gid = gid;
|
|
29
|
-
this.gecos = gecos;
|
|
30
|
-
this.home = home;
|
|
31
|
-
this.shell = shell;
|
|
32
|
-
this.size = 0;
|
|
33
|
-
this.hasHome = false;
|
|
34
|
-
this.saveIt = false;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* getSize
|
|
38
|
-
* @param verbose
|
|
39
|
-
*/
|
|
40
|
-
async getValues() {
|
|
41
|
-
const fLevels = [
|
|
42
|
-
{ path: 'bin', saveIt: false },
|
|
43
|
-
{ path: 'boot', saveIt: false },
|
|
44
|
-
{ path: 'dev', saveIt: false },
|
|
45
|
-
{ path: 'etc', saveIt: false },
|
|
46
|
-
{ path: 'lib', saveIt: false },
|
|
47
|
-
{ path: 'lib32,', saveIt: false },
|
|
48
|
-
{ path: 'libx32', saveIt: false },
|
|
49
|
-
{ path: 'lib64', saveIt: false },
|
|
50
|
-
{ path: 'home', saveIt: true },
|
|
51
|
-
{ path: 'media', saveIt: false },
|
|
52
|
-
{ path: 'mnt', saveIt: false },
|
|
53
|
-
{ path: 'opt', saveIt: true },
|
|
54
|
-
{ path: 'proc', saveIt: false },
|
|
55
|
-
{ path: 'root', saveIt: false },
|
|
56
|
-
{ path: 'run', saveIt: false },
|
|
57
|
-
{ path: 'sbin', saveIt: false },
|
|
58
|
-
{ path: 'sys', saveIt: false },
|
|
59
|
-
{ path: 'srv', saveIt: true },
|
|
60
|
-
{ path: 'tmp', saveIt: false },
|
|
61
|
-
{ path: 'usr', saveIt: true },
|
|
62
|
-
{ path: 'var', saveIt: true }
|
|
63
|
-
];
|
|
64
|
-
let hasHome = false;
|
|
65
|
-
let saveIt = false;
|
|
66
|
-
let size = 0;
|
|
67
|
-
// Only users not services
|
|
68
|
-
if (Number.parseInt(this.uid) >= 1000) {
|
|
69
|
-
if (this.home != undefined) {
|
|
70
|
-
/**
|
|
71
|
-
* analyze firstLevel and
|
|
72
|
-
* excluded to be saved
|
|
73
|
-
*/
|
|
74
|
-
const fLevel = this.home.split('/')[1];
|
|
75
|
-
for (const fLevel_ of fLevels) {
|
|
76
|
-
if (fLevel_.path === fLevel) {
|
|
77
|
-
saveIt = fLevel_.saveIt;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* analize second level
|
|
82
|
-
* examples: /var/run, /var/cache, /var/spool, etc
|
|
83
|
-
*/
|
|
84
|
-
if (saveIt) {
|
|
85
|
-
const sLevel = this.home.split('/')[2];
|
|
86
|
-
if (sLevel === 'cache' || sLevel === 'run' || sLevel === 'spool') {
|
|
87
|
-
saveIt = false;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* exclude to save if home don't exist
|
|
92
|
-
*/
|
|
93
|
-
if (!fs.existsSync(this.home)) {
|
|
94
|
-
saveIt = false;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* others motivations to exclude
|
|
98
|
-
*/
|
|
99
|
-
if (saveIt) {
|
|
100
|
-
switch (this.home) {
|
|
101
|
-
/**
|
|
102
|
-
* exclude always /
|
|
103
|
-
*/
|
|
104
|
-
case '/': {
|
|
105
|
-
break;
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* excludes: under /usr
|
|
109
|
-
*/
|
|
110
|
-
case '/usr/bin':
|
|
111
|
-
case '/usr/sbin': {
|
|
112
|
-
saveIt = false;
|
|
113
|
-
break;
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* excludes: under var
|
|
117
|
-
*/
|
|
118
|
-
case '/var/backups':
|
|
119
|
-
case '/var/lib/colord':
|
|
120
|
-
case '/var/lib/geoclue':
|
|
121
|
-
case '/var/lib/misc':
|
|
122
|
-
case '/var/mail': {
|
|
123
|
-
saveIt = false;
|
|
124
|
-
break;
|
|
125
|
-
}
|
|
126
|
-
default: {
|
|
127
|
-
if (fs.existsSync(this.home)) {
|
|
128
|
-
hasHome = true;
|
|
129
|
-
const sizeUser = await exec(` du --block-size=1 --summarize ${this.home} | awk '{print $1}'`, { capture: true, echo: false, ignore: false });
|
|
130
|
-
size = Number.parseInt(sizeUser.data);
|
|
131
|
-
}
|
|
132
|
-
saveIt = true;
|
|
133
|
-
break;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
this.saveIt = saveIt;
|
|
139
|
-
this.size = size;
|
|
140
|
-
this.hasHome = hasHome;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
}
|
package/dist/classes/utils.d.ts
DELETED
|
@@ -1,326 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ./src/classes/utils.tsx
|
|
3
|
-
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
-
* author: Piero Proietti
|
|
5
|
-
* email: piero.proietti@gmail.com
|
|
6
|
-
* license: MIT
|
|
7
|
-
*/
|
|
8
|
-
import IOsRelease from '../interfaces/i-os-release.js';
|
|
9
|
-
/**
|
|
10
|
-
* Utils: general porpourse utils
|
|
11
|
-
* @remarks all the utilities
|
|
12
|
-
*/
|
|
13
|
-
export default class Utils {
|
|
14
|
-
/**
|
|
15
|
-
* Custom function to sort object keys
|
|
16
|
-
* @param obj
|
|
17
|
-
* @returns
|
|
18
|
-
*/
|
|
19
|
-
static sortObjectKeys(obj: {
|
|
20
|
-
[key: string]: any;
|
|
21
|
-
}): {
|
|
22
|
-
[key: string]: any;
|
|
23
|
-
};
|
|
24
|
-
/**
|
|
25
|
-
*
|
|
26
|
-
* @param file
|
|
27
|
-
* @param search
|
|
28
|
-
* @returns value
|
|
29
|
-
*/
|
|
30
|
-
static searchOnFile(file?: string, search?: string): string;
|
|
31
|
-
/**
|
|
32
|
-
* Restituisce il prefisso della iso
|
|
33
|
-
* @param distroId
|
|
34
|
-
* @param codenameId
|
|
35
|
-
*/
|
|
36
|
-
static snapshotPrefix(distroId: string, codenameId: string): string;
|
|
37
|
-
/**
|
|
38
|
-
* isSystemd
|
|
39
|
-
*/
|
|
40
|
-
static isSystemd(): boolean;
|
|
41
|
-
/**
|
|
42
|
-
* isSysvinit
|
|
43
|
-
*/
|
|
44
|
-
static isSysvinit(): boolean;
|
|
45
|
-
/**
|
|
46
|
-
* isOpenRc
|
|
47
|
-
*/
|
|
48
|
-
static isOpenRc(): boolean;
|
|
49
|
-
/**
|
|
50
|
-
* ricava path per vmlinuz
|
|
51
|
-
* Normalmente cerca BOOT_IMAGE
|
|
52
|
-
* BOOT_IMAGE=/boot/vmlinuz-5.16.0-3-amd64 root=UUID=13768873-d6ba-4ae5-9e14-b5011f5aa31c ro quiet splash resume=UUID=beafb9b4-c429-4e1f-a268-4270b63a14e6
|
|
53
|
-
* se non è presente, come nel caso di Franco, cerca initrd e ricostruisce vmlinuz
|
|
54
|
-
* ro root=UUID=3dc0f202-8ac8-4686-9316-dddcec060c48 initrd=boot\initrd.img-5.15.0-0.bpo.3-amd64 // Conidi
|
|
55
|
-
*/
|
|
56
|
-
static vmlinuz(): string;
|
|
57
|
-
/**
|
|
58
|
-
* ricava path per initrdImg
|
|
59
|
-
*/
|
|
60
|
-
static initrdImg(): string;
|
|
61
|
-
/**
|
|
62
|
-
* Occore vedere un modo per creare machine-id dove non esiste
|
|
63
|
-
*/
|
|
64
|
-
static machineId(): string;
|
|
65
|
-
/**
|
|
66
|
-
*
|
|
67
|
-
* @param msg
|
|
68
|
-
*/
|
|
69
|
-
static warning(msg?: string): void;
|
|
70
|
-
static error(msg?: string): void;
|
|
71
|
-
/**
|
|
72
|
-
* Return the primary user's name
|
|
73
|
-
*/
|
|
74
|
-
static getPrimaryUser(): Promise<string>;
|
|
75
|
-
/**
|
|
76
|
-
* restituisce uuid
|
|
77
|
-
* @param device
|
|
78
|
-
*/
|
|
79
|
-
static uuid(device: string): string;
|
|
80
|
-
/**
|
|
81
|
-
*
|
|
82
|
-
* @param date
|
|
83
|
-
*/
|
|
84
|
-
static formatDate(date: Date): string;
|
|
85
|
-
/**
|
|
86
|
-
* return the name of the package: penguins-eggs
|
|
87
|
-
* @returns penguins-eggs
|
|
88
|
-
*/
|
|
89
|
-
static getPackageName(): string;
|
|
90
|
-
/**
|
|
91
|
-
* Count the eggs present in the nest
|
|
92
|
-
* @returns {number} Numero degli snapshot presenti
|
|
93
|
-
*/
|
|
94
|
-
static getSnapshotCount(snapshot_dir?: string): number;
|
|
95
|
-
/**
|
|
96
|
-
* Get the syze of the snapshot
|
|
97
|
-
* @returns {string} grandezza dello snapshot in Byte
|
|
98
|
-
*/
|
|
99
|
-
static getSnapshotSize(snapshot_dir?: string): number;
|
|
100
|
-
/**
|
|
101
|
-
* uefiArch
|
|
102
|
-
* @returns arch
|
|
103
|
-
*/
|
|
104
|
-
static uefiArch(): string;
|
|
105
|
-
/**
|
|
106
|
-
* i386-pc,
|
|
107
|
-
* i386-efi,
|
|
108
|
-
* x86_64-efi,
|
|
109
|
-
* arm64-efi,
|
|
110
|
-
*
|
|
111
|
-
* ATTEMZIONE: install efibootmgr
|
|
112
|
-
*
|
|
113
|
-
* Fedora/RHEL have i386-pc
|
|
114
|
-
*/
|
|
115
|
-
static uefiFormat(): string;
|
|
116
|
-
/**
|
|
117
|
-
*
|
|
118
|
-
* @returns
|
|
119
|
-
*/
|
|
120
|
-
static uefiBN(): string;
|
|
121
|
-
/**
|
|
122
|
-
*
|
|
123
|
-
* @returns
|
|
124
|
-
*/
|
|
125
|
-
static usrLibPath(): string;
|
|
126
|
-
/**
|
|
127
|
-
*
|
|
128
|
-
* @param prefix
|
|
129
|
-
* @param backup
|
|
130
|
-
* @returns
|
|
131
|
-
*/
|
|
132
|
-
static getPrefix(prefix: string, backup?: boolean): string;
|
|
133
|
-
/**
|
|
134
|
-
*
|
|
135
|
-
* @param volid
|
|
136
|
-
*/
|
|
137
|
-
static getVolid(volid?: string): string;
|
|
138
|
-
/**
|
|
139
|
-
* Return postfix
|
|
140
|
-
* @param basename
|
|
141
|
-
* @returns eggName
|
|
142
|
-
*/
|
|
143
|
-
static getPostfix(): string;
|
|
144
|
-
/**
|
|
145
|
-
* Calculate the space used on the disk
|
|
146
|
-
* @return {void}
|
|
147
|
-
*/
|
|
148
|
-
static getUsedSpace(): number;
|
|
149
|
-
/**
|
|
150
|
-
* Extimate the linuxfs dimension
|
|
151
|
-
* probably is better to rename it as
|
|
152
|
-
* getLiveSpaceRootNeed
|
|
153
|
-
* @returns {number} Byte
|
|
154
|
-
*/
|
|
155
|
-
static getLiveRootSpace(type?: string): number;
|
|
156
|
-
/**
|
|
157
|
-
* Return true if i686 architecture
|
|
158
|
-
* @remarks to move in Utils
|
|
159
|
-
* @returns {boolean} true se l'architettura è i686
|
|
160
|
-
*/
|
|
161
|
-
static isi686(): boolean;
|
|
162
|
-
/**
|
|
163
|
-
* Controlla se è un pacchetto deb
|
|
164
|
-
* /usr/lib/penguins-eggs/bin/node
|
|
165
|
-
*/
|
|
166
|
-
static isDebPackage(): boolean;
|
|
167
|
-
/**
|
|
168
|
-
* Controlla se è un pacchetto sorgente
|
|
169
|
-
*/
|
|
170
|
-
static isSources(): boolean;
|
|
171
|
-
/**
|
|
172
|
-
* Controlla se è un pacchetto npm
|
|
173
|
-
*/
|
|
174
|
-
static isNpmPackage(): boolean;
|
|
175
|
-
/**
|
|
176
|
-
*
|
|
177
|
-
*/
|
|
178
|
-
static rootPenguin(): string;
|
|
179
|
-
/**
|
|
180
|
-
* return the short name of the package: eggs
|
|
181
|
-
* @returns eggs
|
|
182
|
-
*/
|
|
183
|
-
static getFriendName(): string;
|
|
184
|
-
/**
|
|
185
|
-
* return the version of the package
|
|
186
|
-
* @returns version example 8.0.0
|
|
187
|
-
*/
|
|
188
|
-
static getPackageVersion(): string;
|
|
189
|
-
/**
|
|
190
|
-
* Get author name
|
|
191
|
-
*/
|
|
192
|
-
static getAuthorName(): string;
|
|
193
|
-
/**
|
|
194
|
-
* Return the Debian version
|
|
195
|
-
* @returns {number} Versione di Debian
|
|
196
|
-
*/
|
|
197
|
-
static getDebianVersion(): number;
|
|
198
|
-
/**
|
|
199
|
-
* Return true if live system
|
|
200
|
-
* @returns {boolean} isLive
|
|
201
|
-
*/
|
|
202
|
-
static isLive(): boolean;
|
|
203
|
-
/**
|
|
204
|
-
* Ritorna vero se path è un mountpoint
|
|
205
|
-
* @param path
|
|
206
|
-
*/
|
|
207
|
-
static isMountpoint(path?: string): boolean;
|
|
208
|
-
/**
|
|
209
|
-
*
|
|
210
|
-
* @param device
|
|
211
|
-
* @returns
|
|
212
|
-
*/
|
|
213
|
-
static isBlockDevice(device?: string): boolean;
|
|
214
|
-
/**
|
|
215
|
-
* return true if eggs run as root
|
|
216
|
-
* @returns isRoot
|
|
217
|
-
*/
|
|
218
|
-
static isRoot(command?: string): boolean;
|
|
219
|
-
/**
|
|
220
|
-
*
|
|
221
|
-
* @param command
|
|
222
|
-
*/
|
|
223
|
-
static useRoot(command?: string): void;
|
|
224
|
-
/**
|
|
225
|
-
* get the kernel version
|
|
226
|
-
*/
|
|
227
|
-
static kernelVersion(): string;
|
|
228
|
-
/**
|
|
229
|
-
* return the name of network device
|
|
230
|
-
*/
|
|
231
|
-
static iface(): Promise<string>;
|
|
232
|
-
/**
|
|
233
|
-
* address
|
|
234
|
-
*/
|
|
235
|
-
static address(): string;
|
|
236
|
-
/**
|
|
237
|
-
* netmask
|
|
238
|
-
*/
|
|
239
|
-
static netmask(): string;
|
|
240
|
-
/**
|
|
241
|
-
* cidr
|
|
242
|
-
*/
|
|
243
|
-
static cidr(): string;
|
|
244
|
-
/**
|
|
245
|
-
*
|
|
246
|
-
* broadcast
|
|
247
|
-
*/
|
|
248
|
-
static broadcast(): string;
|
|
249
|
-
/**
|
|
250
|
-
* dns
|
|
251
|
-
*/
|
|
252
|
-
static getDns(): string[];
|
|
253
|
-
/**
|
|
254
|
-
* getDomain
|
|
255
|
-
*/
|
|
256
|
-
static getDomain(): string;
|
|
257
|
-
/**
|
|
258
|
-
* @returns gateway
|
|
259
|
-
*/
|
|
260
|
-
static gateway(): string;
|
|
261
|
-
/**
|
|
262
|
-
* write a file
|
|
263
|
-
* @param file
|
|
264
|
-
* @param text
|
|
265
|
-
*/
|
|
266
|
-
static write(file: string, text: string): void;
|
|
267
|
-
/**
|
|
268
|
-
*
|
|
269
|
-
* @param file
|
|
270
|
-
* @param cmd
|
|
271
|
-
*/
|
|
272
|
-
static writeX(file: string, cmd: string): void;
|
|
273
|
-
/**
|
|
274
|
-
*
|
|
275
|
-
* @param file
|
|
276
|
-
* @param cmd
|
|
277
|
-
*/
|
|
278
|
-
static writeXs(file: string, cmds: string[]): void;
|
|
279
|
-
/**
|
|
280
|
-
*
|
|
281
|
-
* @param msg
|
|
282
|
-
*/
|
|
283
|
-
static customConfirm(msg?: string): Promise<boolean>;
|
|
284
|
-
/**
|
|
285
|
-
*
|
|
286
|
-
* @param msg
|
|
287
|
-
*/
|
|
288
|
-
static customConfirmCompanion(msg?: string): Promise<any>;
|
|
289
|
-
/**
|
|
290
|
-
*
|
|
291
|
-
* @param msg
|
|
292
|
-
*/
|
|
293
|
-
static customConfirmAbort(msg?: string): Promise<any>;
|
|
294
|
-
/**
|
|
295
|
-
*
|
|
296
|
-
*/
|
|
297
|
-
static pressKeyToExit(warming?: string, procContinue?: boolean): Promise<void>;
|
|
298
|
-
/**
|
|
299
|
-
* titles
|
|
300
|
-
* Penguin's are gettings alive!
|
|
301
|
-
*/
|
|
302
|
-
static titles(command?: string): void;
|
|
303
|
-
/**
|
|
304
|
-
*
|
|
305
|
-
* @returns flag
|
|
306
|
-
*/
|
|
307
|
-
static flag(): string;
|
|
308
|
-
/**
|
|
309
|
-
*
|
|
310
|
-
* @param verbose
|
|
311
|
-
*/
|
|
312
|
-
static setEcho(verbose?: boolean): object;
|
|
313
|
-
/**
|
|
314
|
-
*
|
|
315
|
-
* @param bytes
|
|
316
|
-
* @param decimals
|
|
317
|
-
* @returns
|
|
318
|
-
*/
|
|
319
|
-
static formatBytes(bytes: number, decimals?: number): string;
|
|
320
|
-
/**
|
|
321
|
-
*
|
|
322
|
-
* @returns wardrobe
|
|
323
|
-
*/
|
|
324
|
-
static wardrobe(): Promise<string>;
|
|
325
|
-
static getOsRelease(): IOsRelease;
|
|
326
|
-
}
|