Nitrogenous Polymorphic Molecule
Have ideas to improve npm?Join in the discussion! »

penguins-eggsTypeScript icon, indicating that this package has built-in type declarations

7.7.21 • Public • Published

penguins-eggs

Penguin's eggs are generated and new birds are ready to fly...

sources blog sources-documentation guide npm version deb iso

Index

Presentation

penguins-eggs is a console utility, in active development, who let you to remaster your system and redistribuite it as iso images or from the lan via PXE remote boot.

The scope of this project is to implement the process of remastering your version of Linux, generate it as ISO image to burn on a CD/DVD or copy to a usb key to boot your system. You can also boot your egg - via remote boot - on your LAN. You can easily install your live system with gui calamares installer or eggs cli installer.

All it is written in pure typescript, so ideally can be used with differents Linux distros. Yes, there are big differences about package manager used, but not so much in the way to work of bash and various programs used to build the iso.

penguins-eggs, at the moment 2020 november 2 is a mature tool and is extremely usefull, You can easily create your organization/school version of Linux and deploy it on your LAN, give it to your friends as usb key or publish yours eggs in the internet!

Try penguins-eggs yes, it is a console utility - no GUI - but don't be scared, penguins-eggs is a console command - really very simple - if you are able to open a terminal, you can use it and yours final users will enjoy of full gui and pratical installer to install your livecd.

Addons

Starting with version 7.6.x, an addons architecture has been added to eggs, that allows third parties to develop extensions. Note that we currently have an extension for the theme that includes both calamares branding and installer link and icon. In addition, also as addon has been developed others addons, to chosen hoosing between GUI or CLI installation, adapd video resolution, etc.

mon and dad

I recently added two lightweight GUIs integrated with eggs: mom and dad. While mom is a bash script made in two versions - one with zenity and the other with whiptail - and guides the user to the various commands and documentation. Dad is a short way to creating the iso, all you have to do is type in sudo eggs dad and follow simple instructions.

yolk

yolk so called - staying on the subject of eggs - is a local repository included in the livecd that contains a minimum of indispensable packages during installation. Thanks to yolk, you can safely install your system without the need for an internet connection.

What distributions can I use?

Eggs is born on Debian strecth/buster, full support Debian bullseys, Devuan beowulf, Ubuntu focal, bionic and derivatives. I usually try it against Debian buster, Devuan beowulf, Linux Mint 19.3 tricia (bionic derivated) and Linux Mint 20 ulyana (focal derivated) before releases. I tried it successfully in LMDE 4 debbie, and deepin. Eggs, generally must work with all the derivates from that distros.

Some iso images remastered with eggs are in the sourceforge page of the project.

Packages

eggs is released as deb package and npm package. If you use nodejs npm version can be indicated, most of users need just deb version.

deb packages

eggs is released deb packages for i386 and amd64 architectures.

Install

This simplest way to installe eggs is download the package eggs from sourceforge page of the project and install it

sudo dpkg -i eggs_7.6.65-1_amd64.deb

or, on a i386 system:

sudo dpkg -i eggs_7.6.65-1_i386.deb

update

The fastest way to use sudo eggs update and choose basket. Eggs let you to select the last 4 versions in the basket and install it.

sudo eggs update

Of course, if your distro include eggs in the repository, you can use apt too.

Note about deb packages You can use the same package for all distributions using deb, naturally choosing the appropriate architecture (i386/amd64).

npm packages

If you have nodejs installed, you can install penguins-eggs with the utility npm (node package manager).

Simply copy and past the following lines:

sudo npm config set unsafe-perm true

sudo npm i penguins-eggs@latest -g

update

sudo eggs update

Usage

$ npm install -g penguins-eggs
$ eggs COMMAND
running command...
$ eggs (-v|--version|version)
penguins-eggs/7.7.21 linux-x64 node-v14.15.4
$ eggs --help [COMMAND]
USAGE
  $ eggs COMMAND
...

Commands

eggs adapt

adapt monitor resolution for VM only

adapt monitor resolution for VM only

USAGE
  $ eggs adapt

OPTIONS
  -h, --help     show CLI help
  -v, --verbose

ALIASES
  $ eggs adjust

See code: src/commands/adapt.ts

eggs autocomplete [SHELL]

display autocomplete installation instructions

display autocomplete installation instructions

USAGE
  $ eggs autocomplete [SHELL]

ARGUMENTS
  SHELL  shell type

OPTIONS
  -r, --refresh-cache  Refresh cache (ignores displaying instructions)

EXAMPLES
  $ eggs autocomplete
  $ eggs autocomplete bash
  $ eggs autocomplete zsh
  $ eggs autocomplete --refresh-cache

See code: @oclif/plugin-autocomplete

eggs calamares

calamares or install or configure it

calamares or install or configure it

USAGE
  $ eggs calamares

OPTIONS
  -f, --final    final: remove eggs prerequisites, calamares and all it's dependencies
  -h, --help     show CLI help
  -i, --install  install calamares and it's dependencies
  -v, --verbose
  --theme=theme  theme/branding for eggs and calamares

EXAMPLES
  ~$ sudo eggs calamares 
  create/renew calamares configuration's files

  ~$ sudo eggs calamares -i 
  install calamares and create it's configuration's files

See code: src/commands/calamares.ts

eggs dad [FILE]

ask help from daddy (gui interface)!

ask help from daddy (gui interface)!

USAGE
  $ eggs dad [FILE]

OPTIONS
  -h, --help     show CLI help
  -v, --verbose

See code: src/commands/dad.ts

eggs export:deb

export package eggs-v7-x-x-1.deb in the destination host

export package eggs-v7-x-x-1.deb in the destination host

USAGE
  $ eggs export:deb

OPTIONS
  -a, --armel  copy armel arch
  -c, --clean  remove old .deb before to copy
  -h, --help   show CLI help

See code: src/commands/export/deb.ts

eggs export:docs

remove and export docType documentation of the sources in the destination host

remove and export docType documentation of the sources in the destination host

USAGE
  $ eggs export:docs

OPTIONS
  -h, --help  show CLI help

See code: src/commands/export/docs.ts

eggs export:iso

export iso in the destination host

export iso in the destination host

USAGE
  $ eggs export:iso

OPTIONS
  -c, --clean  delete old ISOs before to copy
  -h, --help   show CLI help

See code: src/commands/export/iso.ts

eggs help [COMMAND]

display help for eggs

display help for <%= config.bin %>

USAGE
  $ eggs help [COMMAND]

ARGUMENTS
  COMMAND  command to show help for

OPTIONS
  --all  see all commands in CLI

See code: @oclif/plugin-help

eggs info

informations about system and eggs

informations about system and eggs

USAGE
  $ eggs info

EXAMPLE
  $ eggs info
  You will find here informations about penguin's eggs!

See code: src/commands/info.ts

eggs install

eggs installer - (the egg became penguin)

eggs installer - (the egg became penguin)

USAGE
  $ eggs install

OPTIONS
  -c, --cli        try to use antiX installer (cli)
  -g, --gui        use Calamares installer (gui)
  -h, --info       show CLI help
  -l, --lvmremove  remove lvm /dev/pve
  -m, --mx         try to use MX installer (gui)
  -u, --umount     umount devices
  -v, --verbose    verbose

ALIASES
  $ eggs hatch

EXAMPLE
  $ eggs install
  Install the system with eggs cli installer(default)

See code: src/commands/install.ts

eggs kill

kill the eggs/free the nest

kill the eggs/free the nest

USAGE
  $ eggs kill

OPTIONS
  -h, --help     show CLI help
  -v, --verbose  verbose

EXAMPLE
  $ eggs kill
  kill the eggs/free the nest

See code: src/commands/kill.ts

eggs mom

ask for mommy (gui interface)!

ask for mommy (gui interface)!

USAGE
  $ eggs mom

OPTIONS
  -c, --cli   force cli version of mommy
  -h, --help  show CLI help

See code: src/commands/mom.ts

eggs prerequisites

install packages prerequisites to run eggs

install packages prerequisites to run eggs

USAGE
  $ eggs prerequisites

OPTIONS
  -c, --check    check prerequisites
  -h, --help     show CLI help
  -v, --verbose  verbose

EXAMPLES
  ~$ eggs prerequisites
  install prerequisites and create configuration files

  sudo eggs prerequisites -c
    create configuration's file

See code: src/commands/prerequisites.ts

eggs produce

the system produce an egg: livecd creation.

the system produce an egg: livecd creation.

USAGE
  $ eggs produce

OPTIONS
  -b, --basename=basename  basename egg
  -f, --fast               fast compression
  -h, --help               show CLI help
  -m, --max                max compression
  -n, --normal             max compression
  -s, --script             script mode. Generate scripts to manage iso build
  -v, --verbose            verbose
  -y, --yolk               -y force yolk renew
  --adapt                  adapt video resolution in VM
  --final                  final: remove eggs prerequisites, calamares and all it's dependencies
  --ichoice                allows the user to choose the installation type cli/gui
  --pve                    administration of virtual machines (Proxmox-VE)
  --rsupport               remote support via dwagent
  --theme=theme            theme/branding for eggs and calamares

ALIASES
  $ eggs spawn
  $ eggs lay

EXAMPLES
  $ sudo eggs produce 
  produce an ISO called [hostname]-[arch]-YYYY-MM-DD_HHMM.iso, compressed xz (standard compression).
  If hostname=ugo and arch=i386 ugo-x86-2020-08-25_1215.iso

  $ sudo eggs produce -v
  the same as the previuos, but with more explicative output

  $ sudo eggs produce -vf
  the same as the previuos, compression lz4 (fast compression, but about 30%
  less compressed compared xz standard)

  $ sudo eggs produce -vm
  the same as the previuos, compression xz (normal compression)

  $ sudo eggs produce -vm
  the same as the previuos, compression xz -Xbcj x86 (max compression, about 10%
  more compressed compared xz standard)

  $ sudo eggs produce -vf --basename leo --theme debian --adapt 
  produce an ISO called leo-i386-2020-08-25_1215.iso compression lz4,
  using Debian theme and link to adapt

  $ sudo eggs produce -v --basename leo --theme debian --adapt 
  produce an ISO called leo-i386-2020-08-25_1215.iso compression xz,
  using Debian theme and link to adapt

  $ sudo eggs produce -v --basename leo --rsupport 
  produce an ISO called leo-i386-2020-08-25_1215.iso compression xz, using eggs
  theme and link to dwagent

  $ sudo eggs produce -vs --basename leo --rsupport 
  produce scripts to build an ISO as the previus example. Scripts can be found
  in /home/eggs/ovarium and you can customize all you need

See code: src/commands/produce.ts

eggs remove

remove eggs, eggs configurations, prerequisites, calamares, calamares configurations

remove eggs, eggs configurations, prerequisites, calamares, calamares configurations

USAGE
  $ eggs remove

OPTIONS
  -a, --all            remove all
  -h, --help           show CLI help
  -p, --prerequisites  remove eggs packages prerequisites
  -v, --verbose        verbose
  --purge              remove eggs, eggs configuration

ALIASES
  $ eggs sterilize

EXAMPLES
  $ sudo eggs remove 
  remove eggs

  $ sudo eggs remove --purge 
  remove eggs, eggs configurations

  $ sudo eggs remove --prerequisites 
  remove packages prerequisites, calamares, calamares configurations

  $ sudo eggs remove --all
  remove eggs, eggs configurations, prerequisites, calamares, calamares configurations

See code: src/commands/remove.ts

eggs tools:clean

clean system log, apt, etc

clean system log, apt, etc

USAGE
  $ eggs tools:clean

OPTIONS
  -h, --help     show CLI help
  -v, --verbose  verbose

See code: src/commands/tools/clean.ts

eggs tools:initrd

Test initrd

Test initrd

USAGE
  $ eggs tools:initrd

OPTIONS
  -h, --help     show CLI help
  -v, --verbose
  --check=check  check if necessary to clean initrd.img
  --clean=clean  clean the initrd.img

See code: src/commands/tools/initrd.ts

eggs tools:locales

install/clean locales

install/clean locales

USAGE
  $ eggs tools:locales

OPTIONS
  -h, --help       show CLI help
  -r, --reinstall  reinstall locales
  -v, --verbose    verbose

See code: src/commands/tools/locales.ts

eggs tools:man

install man manual eggs

install man manual eggs

USAGE
  $ eggs tools:man

OPTIONS
  -h, --help     show CLI help
  -r, --remove   remove manual
  -v, --verbose  verbose

See code: src/commands/tools/man.ts

eggs tools:pve

enable/start/stop pve-live

enable/start/stop pve-live

USAGE
  $ eggs tools:pve

OPTIONS
  -d, --disable  disable
  -e, --enable   enable
  -h, --help     show CLI help
  -v, --verbose  stop service
  --start        start
  --stop         stop service

See code: src/commands/tools/pve.ts

eggs tools:sanitize

sanitize

sanitize

USAGE
  $ eggs tools:sanitize

OPTIONS
  -h, --help  show CLI help

See code: src/commands/tools/sanitize.ts

eggs tools:skel

update skel from home configuration

update skel from home configuration

USAGE
  $ eggs tools:skel

OPTIONS
  -h, --help       show CLI help
  -u, --user=user  user to be used
  -v, --verbose

EXAMPLE
  $ eggs skel --user mauro
  desktop configuration of user mauro will get used as default

See code: src/commands/tools/skel.ts

eggs tools:yolk

configure eggs to install without internet

configure eggs to install without internet

USAGE
  $ eggs tools:yolk

OPTIONS
  -h, --help     show CLI help
  -v, --verbose

EXAMPLE
  $ eggs yolk -v

See code: src/commands/tools/yolk.ts

eggs update

update the penguin's eggs tool.

update the penguin's eggs tool.
This method always works, both with npm and deb packages.

USAGE
  $ eggs update

OPTIONS
  -a, --apt      if eggs package is .deb, update from distro repositories
  -b, --basket   if eggs package is .deb, update from eggs basket
  -h, --help     show CLI help
  -n, --npm      if eggs package is .npm, update from npmjs.com
  -v, --verbose  verbose

DESCRIPTION
  This method always works, both with npm and deb packages.

EXAMPLE
  $ eggs update
  update/upgrade the penguin's eggs tool

See code: src/commands/update.ts

Terminal samples

terminal samples

That's all Folks!

No need other configurations, penguins-eggs are battery included or better, as in the real, live is inside! :-D

More informations

There is user's manual and same other documentation in documents folder of this repository.

Contact me via gitter, or open an issue on github.

Copyright and licenses

Copyright (c) 2017, 2020 Piero Proietti, dual licensed under the MIT or GPL Version 2 licenses.

Keywords

Install

npm i penguins-eggs

DownloadsWeekly Downloads

1,823

Version

7.7.21

License

MIT

Unpacked Size

23.9 MB

Total Files

309

Last publish

Collaborators

  • avatar