|
17 hours ago | |
---|---|---|
.vscode | 11 months ago | |
addons | 2 weeks ago | |
assets | 4 months ago | |
bin | 8 months ago | |
conf | 2 days ago | |
documents | 1 week ago | |
g4 | 6 months ago | |
man | 3 days ago | |
scripts | 3 days ago | |
sourceforge | 1 week ago | |
src | 17 hours ago | |
test | 3 days ago | |
.editorconfig | 11 months ago | |
.eslintignore | 7 months ago | |
.eslintrc | 7 months ago | |
.gitignore | 10 months ago | |
.gitpod.yml | 11 months ago | |
.npmignore | 3 years ago | |
.prettierrc | 4 months ago | |
LICENSE | 11 months ago | |
README.md | 17 hours ago | |
addr.csv | 2 weeks ago | |
changelog.md | 17 hours ago | |
eggs | 8 months ago | |
makeman.sh | 3 days ago | |
oclif-tarball-config.js | 1 month ago | |
package-lock.json | 17 hours ago | |
package.json | 17 hours ago | |
test.ts | 7 months ago | |
tsconfig.json | 11 months ago |
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.
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.
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 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.
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.
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.
eggs is released deb packages for i386 and amd64 architectures.
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
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).
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
sudo eggs update
$ 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
...
eggs adapt
eggs autocomplete [SHELL]
eggs calamares
eggs dad [FILE]
eggs export:deb
eggs export:docs
eggs export:iso
eggs help [COMMAND]
eggs info
eggs install
eggs kill
eggs mom
eggs prerequisites
eggs produce
eggs remove
eggs tools:clean
eggs tools:initrd
eggs tools:locales
eggs tools:man
eggs tools:pve
eggs tools:sanitize
eggs tools:skel
eggs tools:yolk
eggs update
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
No need other configurations, penguins-eggs are battery included or better, as in the real, live is inside! :-D
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 (c) 2017, 2020 Piero Proietti, dual licensed under the MIT or GPL Version 2 licenses.