penguins-eggs 10.0.12 → 10.0.15
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 +8 -8
- package/README.md +140 -122
- package/conf/derivatives.yaml +2 -5
- package/conf/distros/noble/README.md +3 -0
- package/conf/exclude.list.d/usr.list +2 -41
- package/conf/exclude.list.d/var.list +4 -5
- package/dist/classes/daddy.js +7 -13
- package/dist/classes/distro.js +6 -0
- package/dist/classes/incubation/incubator.js +5 -0
- package/dist/classes/ovary.d.ts +3 -3
- package/dist/classes/ovary.js +30 -13
- package/dist/classes/pacman.js +10 -9
- package/dist/commands/produce.d.ts +1 -1
- package/dist/commands/produce.js +3 -9
- package/manpages/doc/man/eggs.1.gz +0 -0
- package/manpages/doc/man/eggs.html +5 -6
- package/package.json +1 -1
- package/scripts/_eggs +7 -8
- package/scripts/eggs.bash +3 -3
package/.oclif.manifest.json
CHANGED
|
@@ -634,13 +634,6 @@
|
|
|
634
634
|
"allowNo": false,
|
|
635
635
|
"type": "boolean"
|
|
636
636
|
},
|
|
637
|
-
"sidecar": {
|
|
638
|
-
"description": "add a sidecar folder on your ISO with arbitrary contents",
|
|
639
|
-
"name": "sidecar",
|
|
640
|
-
"hasDynamicHelp": false,
|
|
641
|
-
"multiple": false,
|
|
642
|
-
"type": "option"
|
|
643
|
-
},
|
|
644
637
|
"standard": {
|
|
645
638
|
"char": "f",
|
|
646
639
|
"description": "standard compression: xz -b 1M",
|
|
@@ -669,6 +662,13 @@
|
|
|
669
662
|
"allowNo": false,
|
|
670
663
|
"type": "boolean"
|
|
671
664
|
},
|
|
665
|
+
"udf": {
|
|
666
|
+
"char": "U",
|
|
667
|
+
"description": "udf, create iso UDF format using genisoimage",
|
|
668
|
+
"name": "udf",
|
|
669
|
+
"allowNo": false,
|
|
670
|
+
"type": "boolean"
|
|
671
|
+
},
|
|
672
672
|
"yolk": {
|
|
673
673
|
"char": "y",
|
|
674
674
|
"description": "force yolk renew",
|
|
@@ -1468,5 +1468,5 @@
|
|
|
1468
1468
|
]
|
|
1469
1469
|
}
|
|
1470
1470
|
},
|
|
1471
|
-
"version": "10.0.
|
|
1471
|
+
"version": "10.0.15"
|
|
1472
1472
|
}
|
package/README.md
CHANGED
|
@@ -15,6 +15,7 @@ penguins-eggs
|
|
|
15
15
|
# Index
|
|
16
16
|
<!-- toc -->
|
|
17
17
|
* [Index](#index)
|
|
18
|
+
* [Installation](#installation)
|
|
18
19
|
* [Introduction](#introduction)
|
|
19
20
|
* [Technology](#technology)
|
|
20
21
|
* [Features](#features)
|
|
@@ -27,61 +28,90 @@ penguins-eggs
|
|
|
27
28
|
<!-- tocstop -->
|
|
28
29
|
|
|
29
30
|
## Links
|
|
30
|
-
* [
|
|
31
|
-
* [penguins' eggs user guide](https://penguins-eggs.net/docs/Tutorial/eggs-users-guide)
|
|
31
|
+
* [Blog](https://penguins-eggs.net/blog)
|
|
32
32
|
* [Cook eggs in 5 minutes!](https://penguins-eggs.net/docs/Tutorial/eggs5)
|
|
33
|
+
* [Users guide](https://penguins-eggs.net/docs/Tutorial/eggs-users-guide)
|
|
33
34
|
* [Wardrobe users' guide](https://penguins-eggs.net/docs/Tutorial/wardrobe-users-guide)
|
|
34
|
-
* [
|
|
35
|
+
* [FAQ](https://penguins-eggs.net/docs/faq)
|
|
36
|
+
* [Changelog](https://github.com/pieroproietti/penguins-eggs/blob/master/CHANGELOG.md#changelog)
|
|
35
37
|
|
|
36
|
-
#
|
|
38
|
+
# Installation
|
|
37
39
|
|
|
38
|
-
## penguins-eggs-10.0.x
|
|
39
|
-
`penguins-eggs-10.0.x` depend on `nodejs >18`, not directly available in all the distros. We can rely on [nodesource](https://github.com/nodesource/distributions?tab=readme-ov-file#debian-and-ubuntu-based-distributions)
|
|
40
|
+
## penguins-eggs-10.0.x installation
|
|
41
|
+
`penguins-eggs-10.0.x` depend on `nodejs >18`, not directly available in all the distros. We can rely on [nodesource](https://github.com/nodesource/distributions?tab=readme-ov-file#debian-and-ubuntu-based-distributions) adding them.
|
|
40
42
|
|
|
41
|
-
###
|
|
42
|
-
|
|
43
|
+
### using get-eggs
|
|
44
|
+
It's the most pratical way and is valid for Arch, Debian, Devuan and Ubuntu. get-eggs configure automatically `nodesource` when need. Copy and paste:
|
|
45
|
+
```
|
|
46
|
+
git clone https://github.com/pieroproietti/get-eggs
|
|
47
|
+
cd get-eggs
|
|
48
|
+
sudo ./get-eggs.sh
|
|
49
|
+
```
|
|
50
|
+
### manual installation
|
|
51
|
+
|
|
52
|
+
#### Arch, Manjaro, Debian 12 bookworm, Ubuntu 24.04
|
|
53
|
+
Just download and install penguins-eggs-10.0.x.
|
|
43
54
|
|
|
44
|
-
|
|
55
|
+
#### Debian 10 buster, Debian 11 bullseye, Ubuntu 20.04, Ubuntu 22.04
|
|
45
56
|
Before to install `penguins-eggs-10.x` add the repos from `nodesource`, follow this [indications](https://github.com/pieroproietti/penguins-eggs/issues/368) to get `nodejs>18` available.
|
|
46
57
|
|
|
47
|
-
|
|
58
|
+
#### Debian 9 stretch, Ubuntu 18.04 bionic
|
|
48
59
|
Use the package `penguins-eggs-10.x.x-bionic-x` - compilated against node16 - and follow this [indications](https://github.com/pieroproietti/penguins-eggs/issues/368#issuecomment-2169961955) to get `nodejs>16` available.
|
|
49
60
|
|
|
61
|
+
# Introduction
|
|
62
|
+
|
|
63
|
+
`penguins-eggs` is the package name of `eggs` a console tool, under continuous development, that allows you to remaster your system and redistribute it as live images on USB sticks or via PXE.
|
|
64
|
+
|
|
65
|
+
The concept behind Penguins’ Eggs stems from the idea of “reproduction” and “population selection” applied to operating systems. During the era of popular remastering programs like Remastersys and Systemback, both of which experienced maintenance issues and were eventually abandoned, the need for a new, modern tool became evident.
|
|
66
|
+
|
|
67
|
+
The inspiration for Penguins’ Eggs led to the development of a new tool written in a modern, cross-distribution language, utilizing its own packaging system.
|
|
68
|
+
|
|
69
|
+
Initially built with javascript and then switched to Typescript as the main development language, the design of the tool resembles an egg production process, consisting of operations such as produce to create the eggs and hatch to install them (I changed a bit later: from hatch to install, then to krill as a tribute to calamares tribes).
|
|
50
70
|
|
|
51
|
-
|
|
71
|
+
Other commands follow: like `kill` for removing produced ISOs, `calamares` for configuring the graphical installer, `mom` as interactive help, `dad` to configure eggs, `status`, `tools`, etc.
|
|
52
72
|
|
|
53
|
-
|
|
73
|
+
Considered a work-in-progress, the ultimate goal of Penguins' Eggs is to allow the creation of live ISOs from an installed system and their use for system installations. It can be used both to create images on USB devices - even [Ventoy](https://www.ventoy.net/en/index.html) - and as a PXE server to distribute the image itself over a local network. Inspired by the behavior of the cuckoo bird, which depends on others to hatch its eggs.
|
|
74
|
+
|
|
75
|
+
Written primarily in TypeScript, Penguins’ Eggs is designed to be compatible with various Linux distributions, despite differences in package managers, file paths, and more.
|
|
76
|
+
|
|
77
|
+
The tool currently supports Debian, Devuan, Ubuntu, Arch, Manjaro, and their derivatives, across multiple architectures including amd64, i386, and arm64.
|
|
78
|
+
|
|
79
|
+
From the release of version 9.6.x, Penguins’ Eggs is available as a [Debian package](https://sourceforge.net/projects/penguins-eggs/files/DEBS/), then was extended to Arch Linux creating the relative [PKGBUILD](https://aur.archlinux.org/packages/penguins-eggs).
|
|
80
|
+
|
|
81
|
+
So, catering to a wide range of systems including PCs, older machines, and single-board ARM systems like the Raspberry Pi, across amd64, i386, and arm64 architectures.
|
|
82
|
+
|
|
83
|
+
For more information and updates, visit the [Penguins’ Eggs official website](https://penguins-eggs.net).
|
|
54
84
|
|
|
55
85
|
|
|
56
86
|
> [!TIP]
|
|
57
|
-
>
|
|
87
|
+
> `eggs` is an actively developed console tool designed to help you customize and distribute your system as live images on USB sticks or through PXE. By using this tool, you can remaster your system according to your preferences.
|
|
58
88
|
|
|
59
89
|
> [!TIP]
|
|
60
|
-
> By default,
|
|
90
|
+
> By default, `eggs` completely removes the system's data and users. However, it also offers the option to remaster the system while including the data and accounts of existing users. This can be done using the `--clone` flag. Additionally, you can preserve the users and files by storing them in an encrypted LUKS file within the resulting ISO file, which can be achieved with the `--cryptedclone` flag.
|
|
61
91
|
|
|
62
92
|
> [!TIP]
|
|
63
|
-
> The resulting live system can be easily installed using either the
|
|
93
|
+
> The resulting live system can be easily installed using either the calamares installer or the internal TUI krill installer. Furthermore, using `krill`, you can easily get an unattended installation, utilizing `--unattended` and various [krill](#eggs-krill) flags.
|
|
64
94
|
|
|
65
95
|
> [!TIP]
|
|
66
|
-
> One interesting feature of
|
|
96
|
+
> One interesting feature of `eggs` is its integration with the `penguins-wardrobe` This allows you to create or utilize scripts to switch between different configurations. For example, you can start with a bare version of the system, featuring only a command-line interface (CLI), and then easily transition to a full graphical user interface (GUI) or server configurations.
|
|
67
97
|
|
|
68
98
|
> [!NOTE]
|
|
69
|
-
> For more information and customization options, you can explore
|
|
99
|
+
> For more information and customization options, you can explore `penguins-wardrobe`. a related project. You can fork it and adapt it to meet your specific needs.
|
|
70
100
|
|
|
71
101
|
See [penguins-wardrobe](https://github.com/pieroproietti/penguins-wardrobe), fork it, and adapt it to your needs.
|
|
72
102
|
|
|
73
103
|
# Technology
|
|
74
|
-
|
|
104
|
+
`eggs` is primarily written in TypeScript and is designed to be compatible with various Linux distributions. While there may be differences in package managers, paths, and other aspects, the underlying programs used to build the live system are generally the same.
|
|
75
105
|
|
|
76
|
-
Currently,
|
|
106
|
+
Currently, `eggs` supports several Linux distributions, including [Debian](https://www.debian.org/), [Devuan](https://www.devuan.org/), [Ubuntu](https://ubuntu.com/), [Arch](https://archlinux.org/), [Manjaro](https://manjaro.org/) and [derivatives](./conf/derivatives.yaml).
|
|
77
107
|
|
|
78
108
|
It also caters to different architectures, namely `amd64`, `i386`, and `arm64`.
|
|
79
109
|
|
|
80
|
-
Starting from version 9.6.x,
|
|
110
|
+
Starting from version 9.6.x, `penguins-eggs` is released as a Debian package, available for amd64, i386, and arm64 architectures. This allows it to support a wide range of PCs, including older machines, as well as single-board ARM systems like the Raspberry Pi. You can learn more about this release in the article titled Triple Somersault! [Triple somersault!](https://penguins-eggs.net/blog/triple-somersault).
|
|
81
111
|
|
|
82
112
|
For more information on the supported distributions and architectures, you can visit the blog [blog](https://penguins-eggs.net/blog/distros-that-can-be-remastered-with-eggs).
|
|
83
113
|
|
|
84
|
-
Additionally, you can find examples of remastered ISO images created with
|
|
114
|
+
Additionally, you can find examples of remastered ISO images created with `eggs` on the project's SourceForge page [sourceforge page of the project](https://sourceforge.net/projects/penguins-eggs/files/ISOS/).
|
|
85
115
|
|
|
86
116
|
|
|
87
117
|
# Features
|
|
@@ -125,9 +155,9 @@ Supports: i386, amd64 and arm64 architecture, from old PCs, and common PCs to si
|
|
|
125
155
|
|
|
126
156
|
|
|
127
157
|
## Wardrobe, Themes, and Addons
|
|
128
|
-
In April 2022, the
|
|
158
|
+
In April 2022, the `wardrobe` command was introduced to `eggs`. This addition serves as a comprehensive tool to assist and streamline the process of creating a customized version of Linux, starting from a command-line interface (CLI) system. I have embraced wardrobe for all my editions to enhance convenience, enabling me to better organize, consolidate, and manage my work effectively.
|
|
129
159
|
To add a unique touch to my customizations, I have assigned bird names to each edition. Except for the "naked" edition, there are various options available, including "Colibri," "eagle," "duck," "owl," and "chicks" under the bookworm and plastilinux distributions. [bookworm](https://sourceforge.net/projects/penguins-eggs/files/ISOS/debian/bookworm/) and [plastilinux](https://sourceforge.net/projects/penguins-eggs/files/ISOS/plastilinux/),.Furthermore, under Waydroid on the eggs' SourceForge page, you can find "wagtail" and "warbier."
|
|
130
|
-
I have high hopes that people will take an interest in wardrobe and consider forking the main repository to incorporate their own customizations. By collaborating, we can achieve significant progress that would be challenging for a single developer to accomplish. If you would like to delve deeper into the wardrobe, I recommend reading the
|
|
160
|
+
I have high hopes that people will take an interest in wardrobe and consider forking the main repository to incorporate their own customizations. By collaborating, we can achieve significant progress that would be challenging for a single developer to accomplish. If you would like to delve deeper into the wardrobe, I recommend reading the [Penguins' eggs blog](https://penguins-eggs.net/blog/wardrobe-colibri-duck-eagle-and-owl/). post titled Wardrobe: Colibri, Duck, Eagle, and Owl, which provides further insights into its features and benefits.
|
|
131
161
|
Furthermore, addons, predominantly themes, have been organized under the vendor's folder in the penguin's wardrobe. I encourage utilizing your wardrobe for all your customization needs to maintain consistency and organization throughout your work.
|
|
132
162
|
|
|
133
163
|
> [!NOTE]
|
|
@@ -136,35 +166,35 @@ Furthermore, addons, predominantly themes, have been organized under the vendor'
|
|
|
136
166
|
|
|
137
167
|
## Clone/Cryptedclone
|
|
138
168
|
When creating a live distribution of your system, you have different options to consider: the default mode, clone, and cryptedclone.
|
|
139
|
-
• The default mode, achieved by using the command
|
|
169
|
+
• The default mode, achieved by using the command `eggs produce`, completely removes user data from the live distribution. This ensures that no private data remains in the live system.
|
|
140
170
|
|
|
141
|
-
• The
|
|
171
|
+
• The `eggs produce --clone` command allows you to save both user data and system data directly in the generated ISO. This means that if someone obtains a copy of the ISO, they will be able to see and access the
|
|
142
172
|
user data directly from the live system. It's important to note that this data is not encrypted, so it may not be suitable for sensitive information.
|
|
143
173
|
|
|
144
|
-
• On the other hand, the
|
|
174
|
+
• On the other hand, the ìeggs produce --cryptedclone` command saves the data within the generated ISO using a LUKS (Linux Unified Key Setup) volume. With this option, the user data will not be visible in the live system. However, it can be automatically reinstalled during the system installation process using the "krill" installer. Even if someone has the generated ISO, they won't be able to access the user data without the LUKS passphrase. This ensures that your data remains protected.
|
|
145
175
|
|
|
146
176
|
To summarize the available options:
|
|
147
177
|
|
|
148
|
-
•
|
|
178
|
+
• `eggs produce` (default): All private data is removed from the live system.
|
|
149
179
|
|
|
150
|
-
•
|
|
180
|
+
• `eggs produce --clone`: All user data is included unencrypted directly in the live system.
|
|
151
181
|
|
|
152
|
-
•
|
|
182
|
+
• `eggs produce --cryptedclone`: All user data is included encrypted within a LUKS volume inside the ISO.
|
|
153
183
|
> [!TIP]
|
|
154
184
|
> During the installation process, you can use the "krill" installer to restore your crypted data automatically. By running the command "sudo eggs install" with the "krill" installer, your encrypted data will be securely transferred and made available in the installed system.
|
|
155
185
|
|
|
156
186
|
|
|
157
187
|
## calamares and krill
|
|
158
|
-
Calamares and Krill are powerful tools in the Eggs project [calamares](https://calamares.io), offering versatile installation options for Linux systems. The Eggs project was specifically designed to utilize Calamares as the default system installer, providing users with the flexibility to customize their installations using themes. However, Eggs goes beyond Calamares by introducing its own installer called Krill, which focuses on command-line interface (CLI) installations, particularly for server environments.
|
|
188
|
+
Calamares and Krill are powerful tools in the Eggs project, [calamares](https://calamares.io), offering versatile installation options for Linux systems. The Eggs project was specifically designed to utilize Calamares as the default system installer, providing users with the flexibility to customize their installations using themes. However, Eggs goes beyond Calamares by introducing its own installer called Krill, which focuses on command-line interface (CLI) installations, particularly for server environments.
|
|
159
189
|
|
|
160
|
-
Krill
|
|
190
|
+
Krill adopts a TUI interface that closely resembles Calamares, ensuring a consistent user experience. Leveraging the same configuration files created by Eggs for Calamares, Krill maintains compatibility and allows for seamless transitions between desktop and server installations. By simply adding the flag during installation, Krill enables unattended installations, streamlining the process for system administrators. Fine-tuning installation parameters becomes effortless as the configuration values can be modified in the ```/etc/penguins-eggs.d/krill.yaml``` file, facilitating automated deployments.
|
|
161
191
|
|
|
162
192
|
> [!TIP]
|
|
163
|
-
>
|
|
193
|
+
> Thanks to the Eggs project's integration of Calamares and the introduction of Krill, users can enjoy a comprehensive installation toolkit. Whether one prefers the graphical interface of Calamares or the command-line efficiency of Krill, Eggs caters to diverse installation needs, making Linux setup a breeze.
|
|
164
194
|
|
|
165
195
|
## cuckoo
|
|
166
|
-
|
|
167
|
-
With the command
|
|
196
|
+
Just like the cuckoo bird lays its eggs in the nests of other birds, the Eggs project introduces a similar concept in the form of a self-configuring PXE service. This service allows you to boot and install your ISO on networked computers that are not originally configured for your specific ISO.
|
|
197
|
+
With the command `cuckoo` you can deploy a newly created ISO on an already installed system, or you can live to boot the ISO itself. This means that you can either install your ISO on existing systems or directly run the ISO without the need for a permanent installation.
|
|
168
198
|
|
|
169
199
|
> [!TIP]
|
|
170
200
|
> By leveraging the cuckoo command, the Eggs project provides a convenient method for deploying and testing your ISO on a variety of networked computers, expanding the possibilities for system installations and evaluations.
|
|
@@ -186,53 +216,61 @@ By adapting to the packaging systems used by different distributions, Eggs ensur
|
|
|
186
216
|
|
|
187
217
|
|
|
188
218
|
## Debian families
|
|
189
|
-
|
|
219
|
+
Eggs caters to the Debian family of distributions, offering a seamless installation experience through deb packages.
|
|
220
|
+
|
|
221
|
+
These deb packages are available for multiple architectures, including amd64, i386, and arm64.
|
|
222
|
+
|
|
223
|
+
The availability of `penguins-eggs` as a deb package simplifies the installation process for users of Debian-based distributions. Whether you are running a 64-bit (amd64) or 32-bit (i386) architecture, or even an arm64 architecture, Eggs has you covered. This ensures that users across a wide range of Debian-based systems can easily download, install, and utilize Eggs' features.
|
|
224
|
+
|
|
190
225
|
By providing deb packages for various architectures, Eggs promotes accessibility and inclusivity, allowing users on different hardware platforms to benefit from its functionality. Whether you're using a traditional desktop computer or an ARM-based device, Eggs ensures compatibility and a consistent experience across the Debian family of distributions.
|
|
191
226
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
227
|
+
The packages can be installed on Debian, Devuan, or Ubuntu-based distributions without the need to worry about the specific version. Whether you're using Buster, Bullseye, Bookworm, Trixie, Chimaera, Daedalus, Focal, Jammy or Noble, `eggs` is reported to work across these versions. However, it's important to ensure compatibility with the respective processor architecture.
|
|
228
|
+
|
|
229
|
+
Ubuntu bionic cannot install nodejs >16, so I packaged a specific version for bionic, still largely used.
|
|
230
|
+
|
|
231
|
+
The packages `penguins-eggs` provided include standard scripts for `preinst`, `postinst`, `prerm`, and `postrm`. These scripts play a crucial role in the installation and management of the packages. The preinst script is executed before the package is installed, allowing for any necessary preparations or configurations. The postinst script is executed after the package installation, enabling additional setup or customization. Similarly, the prerm script is executed before the package is removed, while the postrm script is executed after the package removal.
|
|
232
|
+
|
|
233
|
+
In addition to the scripts, `penguins-eggs` package also include man pages, bash-completion and other.
|
|
234
|
+
|
|
235
|
+
man pages serve as documentation for the installed packages, providing detailed information on their usage, configuration options, and other relevant details. The inclusion of man pages ensures that users have access to comprehensive documentation, enabling them to effectively utilize and manage the Eggs packages.
|
|
236
|
+
|
|
195
237
|
Overall, Eggs' packages offer a comprehensive and user-friendly experience, with standard scripts and detailed documentation, making installation and management hassle-free on Debian, Devuan, and Ubuntu-based distributions.
|
|
196
238
|
|
|
197
239
|
|
|
198
240
|
### Install eggs
|
|
199
|
-
|
|
200
|
-
|
|
241
|
+
There are multiple methods available, lately I prefer `get-eggs` way, working for all the supported distros: Arch, Debian, Devuan, Manjaro, Ubuntu and derivatives.:
|
|
242
|
+
|
|
243
|
+
```
|
|
244
|
+
git clone https://github.com/pieroproietti/get-eggs
|
|
245
|
+
cd get-eggs
|
|
246
|
+
sudo ./get-eggs.sh
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
`get-eggs` on Debian families add automatically the `penguins-eggs-ppa` repository and, when need, add `nodesource` repository. On Arch, `chaotic-aur` repo will be added.
|
|
201
250
|
|
|
251
|
+
This let to install, update, remove `penguins-eggs` like a native package.
|
|
202
252
|
|
|
203
|
-
####
|
|
253
|
+
#### Debian families
|
|
254
|
+
`penguins-eggs-10.0.x` depend on `nodejs >18`, not directly available in all the distros. We can rely on [nodesource](https://github.com/nodesource/distributions?tab=readme-ov-file#debian-and-ubuntu-based-distributions) adding them.
|
|
255
|
+
|
|
256
|
+
##### Download and install penguins-eggs from sourceforge
|
|
257
|
+
To install Eggs, the simplest method is to download the package `penguins-eggs` from the project's SourceForge page [package eggs](https://sourceforge.net/projects/penguins-eggs/files/DEBS/) and install it on your system.
|
|
258
|
+
|
|
259
|
+
After downloading the appropriate package, based on your system's architecture, you can proceed with the installation. If you are using an amd64 system, run the following command in the terminal:
|
|
260
|
+
|
|
261
|
+
```sudo dpkg -i penguins_eggs_10.0.x-1_amd64.deb```
|
|
204
262
|
|
|
205
|
-
To install Eggs, the simplest method is to download the package from the project's SourceForge page [package eggs](https://sourceforge.net/projects/penguins-eggs/files/DEBS/) and install it on your system. You can find the Eggs package on the SourceForge page here.
|
|
206
|
-
After downloading the appropriate package based on your system's architecture, you can proceed with the installation. If you are using an amd64 system, run the following command in the terminal:
|
|
207
|
-
```sudo dpkg -i penguins_eggs_10.0.0-1_amd64.deb```
|
|
208
263
|
For i386 systems, the command would be:
|
|
209
|
-
```sudo dpkg -i penguins_eggs_10.0.
|
|
264
|
+
```sudo dpkg -i penguins_eggs_10.0.x-1_i386.deb```
|
|
265
|
+
|
|
210
266
|
Executing these commands will initiate the installation process and install Eggs on your system.
|
|
211
267
|
Once Eggs is successfully installed, you have the option to enhance its functionality by adding the penguins-eggs-ppa repository. This repository provides additional tools and features for Eggs. To add the penguins-eggs-ppa repository, run the following command in the terminal:
|
|
212
268
|
```sudo eggs tools ppa --install```
|
|
213
269
|
This command will add the penguins-eggs-ppa repository to your system, allowing you to access updated versions of Eggs and additional tools provided by the repository.
|
|
214
270
|
By following these steps, you can easily install Eggs, add the penguins-eggs-ppa repository, [penguins-eggs-ppa](https://pieroproietti.github.io/penguins-eggs-ppa), and unlock further capabilities and enhancements for your Eggs installation.
|
|
215
271
|
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
1. Clone the `get-eggs` repository by running the following command:
|
|
219
|
-
```
|
|
220
|
-
git clone https://github.com/pieroproietti/get-eggs
|
|
221
|
-
```
|
|
222
|
-
|
|
223
|
-
2. Navigate into the `get-eggs` directory:
|
|
224
|
-
```
|
|
225
|
-
cd get-eggs
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
3. Execute the utility with root privileges:
|
|
229
|
-
```
|
|
230
|
-
sudo ./get-eggs
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
On Debian, Devuan, and Ubuntu, running `get-eggs` will add the penguins-eggs-ppa repository and install Eggs seamlessly.
|
|
234
|
-
> [!TIP]
|
|
235
|
-
> For derivatives of Debian, Devuan, and Ubuntu, such as Linuxmint, LMDE, etc., `get-eggs` will typically work as well. However, if needed, you can manually add the penguins-eggs-ppa repository by copying and pasting the following two lines into a terminal:
|
|
272
|
+
##### Using penguins-eggs-ppa
|
|
273
|
+
For derivatives of Debian, Devuan, and Ubuntu, such as Linuxmint, LMDE, etc., `get-eggs` will typically work as well. However, if needed, you can manually add the penguins-eggs-ppa repository by copying and pasting the following two lines into a terminal:
|
|
236
274
|
|
|
237
275
|
```
|
|
238
276
|
curl -fsSL https://pieroproietti.github.io/penguins-eggs-ppa/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/penguins-eggs.gpg
|
|
@@ -247,11 +285,8 @@ sudo apt update && sudo apt install penguins_eggs
|
|
|
247
285
|
|
|
248
286
|
Executing these commands will update your package sources and install Eggs on your system.
|
|
249
287
|
|
|
250
|
-
> [!TIP]
|
|
251
|
-
> By using the `get-eggs` utility or manually adding the penguins-eggs-ppa repository, you can easily install Eggs on various Debian, Devuan, and Ubuntu-based distributions, including their derivatives, ensuring a smooth and hassle-free installation process.
|
|
252
|
-
|
|
253
288
|
|
|
254
|
-
|
|
289
|
+
#### Upgrade eggs
|
|
255
290
|
To upgrade Eggs, the process will vary depending on whether you are using the penguins-eggs-ppa repository or not. Here's how you can upgrade Eggs with both approaches:
|
|
256
291
|
If you have already added the penguins-eggs-ppa repository, you can upgrade Eggs alongside other packages on your system by running the following command:
|
|
257
292
|
```
|
|
@@ -261,15 +296,15 @@ sudo apt upgrade
|
|
|
261
296
|
> This command will check for updates for all installed packages, including Eggs, and upgrade them to their latest versions if available.
|
|
262
297
|
|
|
263
298
|
> [!NOTE]
|
|
264
|
-
> On the other hand, if you have not added the penguins-eggs-ppa repository, you can manually upgrade Eggs by downloading the new version from the SourceForge page [here](https://sourceforge.net/projects/penguins-eggs/files/DEBS/). Once you have downloaded the appropriate package for your system architecture, follow these steps:
|
|
299
|
+
> On the other hand, if you have not added the `penguins-eggs-ppa` repository, you can manually upgrade Eggs by downloading the new version from the SourceForge page [here](https://sourceforge.net/projects/penguins-eggs/files/DEBS/). Once you have downloaded the appropriate package for your system architecture, follow these steps:
|
|
265
300
|
|
|
266
301
|
1. Install the package using the `gdebi` command (assuming you have `gdebi` installed):
|
|
267
302
|
```
|
|
268
|
-
sudo gdebi penguins_eggs_10.0.
|
|
303
|
+
sudo gdebi penguins_eggs_10.0.x-1_amd64.deb
|
|
269
304
|
```
|
|
270
305
|
or for i386 systems:
|
|
271
306
|
```
|
|
272
|
-
sudo dpkg -i penguins_eggs_10.0.
|
|
307
|
+
sudo dpkg -i penguins_eggs_10.0.x-1_i386.deb
|
|
273
308
|
```
|
|
274
309
|
|
|
275
310
|
2. In case of any missing dependencies, you can resolve them by running the following command:
|
|
@@ -293,7 +328,7 @@ This will automatically install any required dependencies for Eggs.
|
|
|
293
328
|
|
|
294
329
|
|
|
295
330
|
### Arch
|
|
296
|
-
To install penguins-eggs on Arch Linux, there are multiple methods available. One option is to install it directly from the Arch User Repository (AUR) by adding the
|
|
331
|
+
To install penguins-eggs on Arch Linux, there are multiple methods available. One option is to install it directly from the Arch User Repository (AUR) by adding the `chaotic-AUR` repository. Here's how you can do it:
|
|
297
332
|
|
|
298
333
|
1. Add the Chaotic-AUR repository to your system. You can find the repository at [https://aur.chaotic.cx/](https://aur.chaotic.cx/).
|
|
299
334
|
|
|
@@ -303,25 +338,9 @@ sudo pacman -Sy penguins-eggs
|
|
|
303
338
|
```
|
|
304
339
|
This command will synchronize the package databases and install penguins-eggs on your system.
|
|
305
340
|
|
|
306
|
-
Alternatively, you can use a utility called `get-eggs
|
|
307
|
-
|
|
308
|
-
1. Clone the `get-eggs` repository by running the following command:
|
|
309
|
-
```
|
|
310
|
-
git clone https://github.com/pieroproietti/get-eggs
|
|
311
|
-
```
|
|
341
|
+
Alternatively, you can use a utility called `get-eggs`. This script will add the AUR repository and install penguins-eggs on your system.
|
|
312
342
|
|
|
313
|
-
|
|
314
|
-
```
|
|
315
|
-
cd get-eggs
|
|
316
|
-
```
|
|
317
|
-
|
|
318
|
-
3. Run the `get-eggs` script with sudo privileges:
|
|
319
|
-
```
|
|
320
|
-
sudo ./get-eggs
|
|
321
|
-
```
|
|
322
|
-
This script will add the AUR repository and install penguins-eggs on your system.
|
|
323
|
-
|
|
324
|
-
Additionally, you have the option to use the popular AUR helper tool called `yay`. Simply run the following command:
|
|
343
|
+
It's possible too to use the popular AUR helper tool called `yay`. Simply run the following command:
|
|
325
344
|
```
|
|
326
345
|
yay penguins-eggs
|
|
327
346
|
```
|
|
@@ -404,6 +423,7 @@ sudo eggs produce --cryptedclone
|
|
|
404
423
|
```
|
|
405
424
|
This command will generate a live system with encrypted user data.
|
|
406
425
|
|
|
426
|
+
## Compression
|
|
407
427
|
By default, penguins-eggs uses fasted compression `zstd level 3` for efficiency during the creation process. However, if you want a more compressed ISO file, you can chooce `--pendrive` flag `zstd level 15` optimized for pendrives, `--standard` flag, use `xz`, or `--max` flag using `xz -Xbcj` to get the maximun level of compression. For example:
|
|
408
428
|
|
|
409
429
|
```
|
|
@@ -413,8 +433,7 @@ sudo eggs produce --standard
|
|
|
413
433
|
sudo eggs produce --max
|
|
414
434
|
```
|
|
415
435
|
> [!TIP]
|
|
416
|
-
> This command will apply
|
|
417
|
-
|
|
436
|
+
> This command will apply differents compression to the ISO file, resulting in a smaller file size or in a longer process. Consult [Penguins' eggs official guide](https://penguins-eggs.net/docs/Tutorial/eggs-users-guide) for more detailed informations.
|
|
418
437
|
# Commands
|
|
419
438
|
<!-- commands -->
|
|
420
439
|
* [`eggs adapt`](#eggs-adapt)
|
|
@@ -466,7 +485,7 @@ EXAMPLES
|
|
|
466
485
|
$ eggs adapt
|
|
467
486
|
```
|
|
468
487
|
|
|
469
|
-
_See code: [src/commands/adapt.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
488
|
+
_See code: [src/commands/adapt.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/adapt.ts)_
|
|
470
489
|
|
|
471
490
|
## `eggs analyze`
|
|
472
491
|
|
|
@@ -487,7 +506,7 @@ EXAMPLES
|
|
|
487
506
|
sudo eggs analyze
|
|
488
507
|
```
|
|
489
508
|
|
|
490
|
-
_See code: [src/commands/analyze.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
509
|
+
_See code: [src/commands/analyze.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/analyze.ts)_
|
|
491
510
|
|
|
492
511
|
## `eggs autocomplete [SHELL]`
|
|
493
512
|
|
|
@@ -551,7 +570,7 @@ EXAMPLES
|
|
|
551
570
|
sudo eggs calamares --remove
|
|
552
571
|
```
|
|
553
572
|
|
|
554
|
-
_See code: [src/commands/calamares.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
573
|
+
_See code: [src/commands/calamares.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/calamares.ts)_
|
|
555
574
|
|
|
556
575
|
## `eggs config`
|
|
557
576
|
|
|
@@ -578,7 +597,7 @@ EXAMPLES
|
|
|
578
597
|
sudo eggs config --clean --nointeractive
|
|
579
598
|
```
|
|
580
599
|
|
|
581
|
-
_See code: [src/commands/config.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
600
|
+
_See code: [src/commands/config.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/config.ts)_
|
|
582
601
|
|
|
583
602
|
## `eggs cuckoo`
|
|
584
603
|
|
|
@@ -598,7 +617,7 @@ EXAMPLES
|
|
|
598
617
|
sudo eggs cuckoo
|
|
599
618
|
```
|
|
600
619
|
|
|
601
|
-
_See code: [src/commands/cuckoo.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
620
|
+
_See code: [src/commands/cuckoo.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/cuckoo.ts)_
|
|
602
621
|
|
|
603
622
|
## `eggs dad`
|
|
604
623
|
|
|
@@ -626,7 +645,7 @@ EXAMPLES
|
|
|
626
645
|
sudo dad --default
|
|
627
646
|
```
|
|
628
647
|
|
|
629
|
-
_See code: [src/commands/dad.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
648
|
+
_See code: [src/commands/dad.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/dad.ts)_
|
|
630
649
|
|
|
631
650
|
## `eggs export deb`
|
|
632
651
|
|
|
@@ -653,7 +672,7 @@ EXAMPLES
|
|
|
653
672
|
$ eggs export deb --all
|
|
654
673
|
```
|
|
655
674
|
|
|
656
|
-
_See code: [src/commands/export/deb.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
675
|
+
_See code: [src/commands/export/deb.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/export/deb.ts)_
|
|
657
676
|
|
|
658
677
|
## `eggs export iso`
|
|
659
678
|
|
|
@@ -678,7 +697,7 @@ EXAMPLES
|
|
|
678
697
|
$ eggs export iso --clean
|
|
679
698
|
```
|
|
680
699
|
|
|
681
|
-
_See code: [src/commands/export/iso.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
700
|
+
_See code: [src/commands/export/iso.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/export/iso.ts)_
|
|
682
701
|
|
|
683
702
|
## `eggs help [COMMAND]`
|
|
684
703
|
|
|
@@ -739,7 +758,7 @@ EXAMPLES
|
|
|
739
758
|
sudo eggs install --chroot
|
|
740
759
|
```
|
|
741
760
|
|
|
742
|
-
_See code: [src/commands/install.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
761
|
+
_See code: [src/commands/install.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/install.ts)_
|
|
743
762
|
|
|
744
763
|
## `eggs kill`
|
|
745
764
|
|
|
@@ -762,7 +781,7 @@ EXAMPLES
|
|
|
762
781
|
sudo eggs kill
|
|
763
782
|
```
|
|
764
783
|
|
|
765
|
-
_See code: [src/commands/kill.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
784
|
+
_See code: [src/commands/kill.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/kill.ts)_
|
|
766
785
|
|
|
767
786
|
## `eggs krill`
|
|
768
787
|
|
|
@@ -821,7 +840,7 @@ EXAMPLES
|
|
|
821
840
|
$ eggs mom
|
|
822
841
|
```
|
|
823
842
|
|
|
824
|
-
_See code: [src/commands/mom.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
843
|
+
_See code: [src/commands/mom.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/mom.ts)_
|
|
825
844
|
|
|
826
845
|
## `eggs produce`
|
|
827
846
|
|
|
@@ -830,13 +849,13 @@ produce a live image from your system whithout your data
|
|
|
830
849
|
```
|
|
831
850
|
USAGE
|
|
832
851
|
$ eggs produce [--addons <value>...] [--basename <value>] [-c] [-C] [--excludes <value>...] [-h] [--links
|
|
833
|
-
<value>...] [-m] [-N] [-n] [-p] [-P <value>] [--release] [-s] [
|
|
834
|
-
[-y]
|
|
852
|
+
<value>...] [-m] [-N] [-n] [-p] [-P <value>] [--release] [-s] [-f] [--theme <value>] [-u] [-v] [-U] [-y]
|
|
835
853
|
|
|
836
854
|
FLAGS
|
|
837
855
|
-C, --cryptedclone crypted clone
|
|
838
856
|
-N, --noicon no icon eggs on desktop
|
|
839
857
|
-P, --prefix=<value> prefix
|
|
858
|
+
-U, --udf udf, create iso UDF format using genisoimage
|
|
840
859
|
-c, --clone clone
|
|
841
860
|
-f, --standard standard compression: xz -b 1M
|
|
842
861
|
-h, --help Show CLI help.
|
|
@@ -852,7 +871,6 @@ FLAGS
|
|
|
852
871
|
--excludes=<value>... use: static, homes, home
|
|
853
872
|
--links=<value>... desktop links
|
|
854
873
|
--release release: remove penguins-eggs, calamares and dependencies after installation
|
|
855
|
-
--sidecar=<value> add a sidecar folder on your ISO with arbitrary contents
|
|
856
874
|
--theme=<value> theme for livecd, calamares branding and partitions
|
|
857
875
|
|
|
858
876
|
DESCRIPTION
|
|
@@ -880,7 +898,7 @@ EXAMPLES
|
|
|
880
898
|
sudo eggs produce --excludes home # exclude ~/*
|
|
881
899
|
```
|
|
882
900
|
|
|
883
|
-
_See code: [src/commands/produce.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
901
|
+
_See code: [src/commands/produce.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/produce.ts)_
|
|
884
902
|
|
|
885
903
|
## `eggs status`
|
|
886
904
|
|
|
@@ -901,7 +919,7 @@ EXAMPLES
|
|
|
901
919
|
$ eggs status
|
|
902
920
|
```
|
|
903
921
|
|
|
904
|
-
_See code: [src/commands/status.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
922
|
+
_See code: [src/commands/status.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/status.ts)_
|
|
905
923
|
|
|
906
924
|
## `eggs syncfrom`
|
|
907
925
|
|
|
@@ -927,7 +945,7 @@ EXAMPLES
|
|
|
927
945
|
sudo eggs syncfrom --file /path/to/luks-volume
|
|
928
946
|
```
|
|
929
947
|
|
|
930
|
-
_See code: [src/commands/syncfrom.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
948
|
+
_See code: [src/commands/syncfrom.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/syncfrom.ts)_
|
|
931
949
|
|
|
932
950
|
## `eggs syncto`
|
|
933
951
|
|
|
@@ -954,7 +972,7 @@ EXAMPLES
|
|
|
954
972
|
sudo eggs syncto --excludes
|
|
955
973
|
```
|
|
956
974
|
|
|
957
|
-
_See code: [src/commands/syncto.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
975
|
+
_See code: [src/commands/syncto.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/syncto.ts)_
|
|
958
976
|
|
|
959
977
|
## `eggs tools clean`
|
|
960
978
|
|
|
@@ -976,7 +994,7 @@ EXAMPLES
|
|
|
976
994
|
sudo eggs tools clean
|
|
977
995
|
```
|
|
978
996
|
|
|
979
|
-
_See code: [src/commands/tools/clean.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
997
|
+
_See code: [src/commands/tools/clean.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/tools/clean.ts)_
|
|
980
998
|
|
|
981
999
|
## `eggs tools ppa`
|
|
982
1000
|
|
|
@@ -1002,7 +1020,7 @@ EXAMPLES
|
|
|
1002
1020
|
sudo eggs tools ppa --remove
|
|
1003
1021
|
```
|
|
1004
1022
|
|
|
1005
|
-
_See code: [src/commands/tools/ppa.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
1023
|
+
_See code: [src/commands/tools/ppa.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/tools/ppa.ts)_
|
|
1006
1024
|
|
|
1007
1025
|
## `eggs tools skel`
|
|
1008
1026
|
|
|
@@ -1026,7 +1044,7 @@ EXAMPLES
|
|
|
1026
1044
|
sudo eggs tools skel --user user-to-be-copied
|
|
1027
1045
|
```
|
|
1028
1046
|
|
|
1029
|
-
_See code: [src/commands/tools/skel.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
1047
|
+
_See code: [src/commands/tools/skel.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/tools/skel.ts)_
|
|
1030
1048
|
|
|
1031
1049
|
## `eggs tools stat`
|
|
1032
1050
|
|
|
@@ -1052,7 +1070,7 @@ EXAMPLES
|
|
|
1052
1070
|
$ eggs tools stat --year
|
|
1053
1071
|
```
|
|
1054
1072
|
|
|
1055
|
-
_See code: [src/commands/tools/stat.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
1073
|
+
_See code: [src/commands/tools/stat.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/tools/stat.ts)_
|
|
1056
1074
|
|
|
1057
1075
|
## `eggs tools yolk`
|
|
1058
1076
|
|
|
@@ -1073,7 +1091,7 @@ EXAMPLES
|
|
|
1073
1091
|
sudo eggs tools yolk
|
|
1074
1092
|
```
|
|
1075
1093
|
|
|
1076
|
-
_See code: [src/commands/tools/yolk.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
1094
|
+
_See code: [src/commands/tools/yolk.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/tools/yolk.ts)_
|
|
1077
1095
|
|
|
1078
1096
|
## `eggs update`
|
|
1079
1097
|
|
|
@@ -1094,7 +1112,7 @@ EXAMPLES
|
|
|
1094
1112
|
$ eggs update
|
|
1095
1113
|
```
|
|
1096
1114
|
|
|
1097
|
-
_See code: [src/commands/update.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
1115
|
+
_See code: [src/commands/update.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/update.ts)_
|
|
1098
1116
|
|
|
1099
1117
|
## `eggs version`
|
|
1100
1118
|
|
|
@@ -1140,7 +1158,7 @@ EXAMPLES
|
|
|
1140
1158
|
$ eggs wardrobe get your-wardrobe
|
|
1141
1159
|
```
|
|
1142
1160
|
|
|
1143
|
-
_See code: [src/commands/wardrobe/get.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
1161
|
+
_See code: [src/commands/wardrobe/get.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/wardrobe/get.ts)_
|
|
1144
1162
|
|
|
1145
1163
|
## `eggs wardrobe list [REPO]`
|
|
1146
1164
|
|
|
@@ -1169,7 +1187,7 @@ EXAMPLES
|
|
|
1169
1187
|
$ eggs wardrobe list --distro arch
|
|
1170
1188
|
```
|
|
1171
1189
|
|
|
1172
|
-
_See code: [src/commands/wardrobe/list.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
1190
|
+
_See code: [src/commands/wardrobe/list.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/wardrobe/list.ts)_
|
|
1173
1191
|
|
|
1174
1192
|
## `eggs wardrobe show [REPO]`
|
|
1175
1193
|
|
|
@@ -1199,7 +1217,7 @@ EXAMPLES
|
|
|
1199
1217
|
$ eggs wardrobe show accessories/
|
|
1200
1218
|
```
|
|
1201
1219
|
|
|
1202
|
-
_See code: [src/commands/wardrobe/show.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
1220
|
+
_See code: [src/commands/wardrobe/show.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/wardrobe/show.ts)_
|
|
1203
1221
|
|
|
1204
1222
|
## `eggs wardrobe wear [REPO]`
|
|
1205
1223
|
|
|
@@ -1230,14 +1248,14 @@ EXAMPLES
|
|
|
1230
1248
|
sudo eggs wardrobe wear wagtail/waydroid
|
|
1231
1249
|
```
|
|
1232
1250
|
|
|
1233
|
-
_See code: [src/commands/wardrobe/wear.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
1251
|
+
_See code: [src/commands/wardrobe/wear.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.15/src/commands/wardrobe/wear.ts)_
|
|
1234
1252
|
<!-- commandsstop -->
|
|
1235
1253
|
|
|
1236
1254
|
# penGUI
|
|
1237
1255
|

|
|
1238
1256
|
## penGUI take cure of eggs!
|
|
1239
1257
|
|
|
1240
|
-
The development of a GUI for
|
|
1258
|
+
The development of a GUI for `eggs` with the penGUI project sounds promising. It's exciting to see that work on the GUI has started and is progressing rapidly. GUIs can greatly enhance the user experience and make it more accessible to a wider range of users. I hope the penGUI [penGUI](https://github.com/pieroproietti/pengui) project continues to thrive and brings a user-friendly interface to `penguins-eggs`. If you have any specific questions or need further information about the penGUI project, feel free to ask!
|
|
1241
1259
|
|
|
1242
1260
|
|
|
1243
1261
|
## That's all, Folks!
|
package/conf/derivatives.yaml
CHANGED
|
@@ -100,15 +100,12 @@
|
|
|
100
100
|
- victoria # Linux Mint
|
|
101
101
|
- virginia # LinuxMint
|
|
102
102
|
|
|
103
|
-
- id:
|
|
103
|
+
- id: noble
|
|
104
104
|
distroLike: Ubuntu
|
|
105
105
|
family: debian
|
|
106
106
|
ids:
|
|
107
|
-
- devel # Rhino
|
|
108
|
-
- lunar # Ubuntu lunar 23.04
|
|
109
|
-
- mantic # Ubuntu lunar 23.10
|
|
110
|
-
- noble # Ubuntu noble
|
|
111
107
|
- wilma # Linux Mint 22
|
|
108
|
+
- devel # Rhino
|
|
112
109
|
|
|
113
110
|
#
|
|
114
111
|
# ARCH
|
|
@@ -1,43 +1,4 @@
|
|
|
1
1
|
######################################################################################################
|
|
2
2
|
# usr: use this exclusions, attention this can lead to lost something
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
usr/bin/x86_64-w64-mingw32-gcc-12-win32
|
|
6
|
-
usr/bin/x86_64-w64-mingw32-gcc-ar-win32
|
|
7
|
-
usr/bin/x86_64-w64-mingw32-gcc-nm-win32
|
|
8
|
-
usr/bin/x86_64-w64-mingw32-gcc-ranlib-win32
|
|
9
|
-
usr/bin/x86_64-w64-mingw32-gcc-win32
|
|
10
|
-
usr/bin/x86_64-w64-mingw32-gcov-dump-win32
|
|
11
|
-
usr/bin/x86_64-w64-mingw32-gcov-tool-win32
|
|
12
|
-
usr/bin/x86_64-w64-mingw32-gcov-win32
|
|
13
|
-
usr/bin/x86_64-w64-mingw32-lto-dump-win32
|
|
14
|
-
usr/i686-w64-mingw32/*
|
|
15
|
-
usr/include/gtkmm-3.0/*
|
|
16
|
-
usr/lib/gcc/i686-w64-mingw32/*
|
|
17
|
-
usr/lib/gcc/x86_64-w64-mingw32/*
|
|
18
|
-
usr/lib/i386-linux-gnu/*
|
|
19
|
-
usr/lib/i386-linux-gnu/libLLVM-12.so
|
|
20
|
-
usr/lib/i386-linux-gnu/libLLVM-12.so.1
|
|
21
|
-
usr/lib/llvm-11/*
|
|
22
|
-
usr/lib/llvm-9/*
|
|
23
|
-
usr/lib/mono/*
|
|
24
|
-
usr/lib/x86_64-linux-gnu/libLLVM-10.so
|
|
25
|
-
usr/lib/x86_64-linux-gnu/libLLVM-10.so.1
|
|
26
|
-
usr/lib/x86_64-linux-gnu/libLLVM-11.so
|
|
27
|
-
usr/lib/x86_64-linux-gnu/libLLVM-11.so.1
|
|
28
|
-
usr/lib/x86_64-linux-gnu/libLLVM-12.so
|
|
29
|
-
usr/lib/x86_64-linux-gnu/libLLVM-12.so.1
|
|
30
|
-
usr/lib/x86_64-linux-gnu/libLLVM-14.so
|
|
31
|
-
usr/lib/x86_64-linux-gnu/libLLVM-14.so.1
|
|
32
|
-
usr/lib/x86_64-linux-gnu/libLLVM-9.so
|
|
33
|
-
usr/lib/x86_64-linux-gnu/libLLVM-9.so.1
|
|
34
|
-
usr/lib/x86_64-linux-gnu/openblas-pthread/*
|
|
35
|
-
usr/share/dict/*
|
|
36
|
-
usr/share/doc/*
|
|
37
|
-
usr/share/eclipse/*
|
|
38
|
-
usr/share/gimp/2.0/help/en/images/*
|
|
39
|
-
usr/share/gtk-doc/html/*
|
|
40
|
-
usr/share/krita/*
|
|
41
|
-
usr/share/texmf/*
|
|
42
|
-
usr/share/xemacs21/*
|
|
43
|
-
usr/x86_64-w64-mingw32/*
|
|
3
|
+
|
|
4
|
+
# this list is intentionally blank
|
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
var/backups/*
|
|
4
4
|
var/cache/*
|
|
5
5
|
var/lib/aide/*
|
|
6
|
-
|
|
7
|
-
# look here for apt problem!
|
|
8
6
|
var/lib/apt/*~
|
|
7
|
+
var/lib/apt/cache/*
|
|
9
8
|
var/lib/apt/cdroms.list
|
|
10
9
|
var/lib/apt/daily_lock
|
|
11
10
|
var/lib/apt/extended_states
|
|
@@ -13,8 +12,6 @@ var/lib/apt/listchanges.db
|
|
|
13
12
|
var/lib/apt/lists/
|
|
14
13
|
var/lib/apt/mirrors/
|
|
15
14
|
var/lib/apt/periodic/
|
|
16
|
-
var/lib/apt/cache/*
|
|
17
|
-
##
|
|
18
15
|
var/lib/aptitude/*.old
|
|
19
16
|
var/lib/cache/*
|
|
20
17
|
var/lib/dbus/machine-id
|
|
@@ -22,9 +19,11 @@ var/lib/dhcp/*
|
|
|
22
19
|
var/lib/dkms/wireguard/*
|
|
23
20
|
var/lib/dpkg/*~old
|
|
24
21
|
var/lib/gems/2.7.0/cache/*
|
|
25
|
-
#var/lib/snapd/*
|
|
26
22
|
var/log/*.log
|
|
27
23
|
var/log/*.log.?
|
|
28
24
|
var/log/*/*
|
|
29
25
|
var/spool/*
|
|
30
26
|
var/tmp/*
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
#var/lib/snapd/*
|
package/dist/classes/daddy.js
CHANGED
|
@@ -25,10 +25,8 @@ export default class Daddy {
|
|
|
25
25
|
* @param verbose
|
|
26
26
|
*/
|
|
27
27
|
async helpMe(reset = false, isCustom = false, fileCustom = '', verbose = false) {
|
|
28
|
-
console.log("reset: ", reset);
|
|
29
|
-
console.log("isCustom: ", isCustom);
|
|
30
28
|
if (isCustom) {
|
|
31
|
-
console.log("
|
|
29
|
+
console.log("using custom file: ", fileCustom);
|
|
32
30
|
}
|
|
33
31
|
// Controllo configurazione
|
|
34
32
|
if (!Pacman.configurationCheck()) {
|
|
@@ -47,16 +45,17 @@ export default class Daddy {
|
|
|
47
45
|
if (await this.settings.load()) {
|
|
48
46
|
config = this.settings.config;
|
|
49
47
|
config.compression = 'fast';
|
|
50
|
-
if (reset) {
|
|
51
|
-
// Reset configuration
|
|
48
|
+
if (reset || isCustom) {
|
|
52
49
|
if (config.snapshot_prefix === '') {
|
|
53
50
|
config.snapshot_prefix = Utils.snapshotPrefix(this.settings.distro.distroId, this.settings.distro.codenameId);
|
|
54
51
|
}
|
|
55
52
|
jsonConf = JSON.stringify(config);
|
|
56
|
-
console.log("reset");
|
|
57
53
|
}
|
|
58
|
-
else
|
|
59
|
-
|
|
54
|
+
else {
|
|
55
|
+
jsonConf = await this.editConfig(config);
|
|
56
|
+
}
|
|
57
|
+
// Custom configuration
|
|
58
|
+
if (isCustom) {
|
|
60
59
|
const conf = fs.readFileSync(fileCustom, 'utf8');
|
|
61
60
|
const confCustom = yaml.load(conf);
|
|
62
61
|
config.snapshot_basename = confCustom.snapshot_basename;
|
|
@@ -67,11 +66,6 @@ export default class Daddy {
|
|
|
67
66
|
config.theme = confCustom.theme;
|
|
68
67
|
jsonConf = JSON.stringify(config);
|
|
69
68
|
}
|
|
70
|
-
else {
|
|
71
|
-
// default configuration
|
|
72
|
-
jsonConf = await this.editConfig(config);
|
|
73
|
-
console.log("edit");
|
|
74
|
-
}
|
|
75
69
|
// Save new configuration
|
|
76
70
|
const confNew = JSON.parse(jsonConf);
|
|
77
71
|
config.snapshot_basename = confNew.snapshot_basename;
|
package/dist/classes/distro.js
CHANGED
|
@@ -185,6 +185,12 @@ class Distro {
|
|
|
185
185
|
this.codenameLikeId = 'jammy';
|
|
186
186
|
break;
|
|
187
187
|
}
|
|
188
|
+
case 'noble': {
|
|
189
|
+
// Ubuntu 24.04 noble LTS
|
|
190
|
+
this.distroLike = 'Ubuntu';
|
|
191
|
+
this.codenameLikeId = 'noble';
|
|
192
|
+
break;
|
|
193
|
+
}
|
|
188
194
|
case 'devel': {
|
|
189
195
|
// Ubuntu rhino
|
|
190
196
|
this.distroLike = 'Ubuntu';
|
|
@@ -128,6 +128,11 @@ export default class Incubator {
|
|
|
128
128
|
await jammy.create();
|
|
129
129
|
break;
|
|
130
130
|
}
|
|
131
|
+
case 'noble': {
|
|
132
|
+
const noble = new Focal(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
|
|
133
|
+
await noble.create();
|
|
134
|
+
break;
|
|
135
|
+
}
|
|
131
136
|
case 'devel': {
|
|
132
137
|
const devel = new Focal(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
|
|
133
138
|
await devel.create();
|
package/dist/classes/ovary.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ export default class Ovary {
|
|
|
28
28
|
theme: string;
|
|
29
29
|
volid: string;
|
|
30
30
|
toNull: string;
|
|
31
|
-
|
|
31
|
+
genisoimage: boolean;
|
|
32
32
|
verbose: boolean;
|
|
33
33
|
/**
|
|
34
34
|
* Add or remove exclusion
|
|
@@ -159,7 +159,7 @@ export default class Ovary {
|
|
|
159
159
|
* @param unsecure
|
|
160
160
|
* @param verbose
|
|
161
161
|
*/
|
|
162
|
-
produce(clone: boolean | undefined, cryptedclone: boolean | undefined, scriptOnly: boolean | undefined, yolkRenew: boolean | undefined, release: boolean | undefined, myAddons: IAddons, myLinks: string[], excludes: IExcludes, nointeractive?: boolean, noicons?: boolean, unsecure?: boolean,
|
|
162
|
+
produce(clone: boolean | undefined, cryptedclone: boolean | undefined, scriptOnly: boolean | undefined, yolkRenew: boolean | undefined, release: boolean | undefined, myAddons: IAddons, myLinks: string[], excludes: IExcludes, nointeractive?: boolean, noicons?: boolean, unsecure?: boolean, udf?: boolean, verbose?: boolean): Promise<void>;
|
|
163
163
|
/**
|
|
164
164
|
* syslinux
|
|
165
165
|
*/
|
|
@@ -191,7 +191,7 @@ export default class Ovary {
|
|
|
191
191
|
* @param cryptedclone
|
|
192
192
|
* @returns cmd 4 mkiso
|
|
193
193
|
*/
|
|
194
|
-
xorrisoCommand(clone?: boolean, cryptedclone?: boolean): Promise<string>;
|
|
194
|
+
xorrisoCommand(clone?: boolean, cryptedclone?: boolean, udf?: boolean): Promise<string>;
|
|
195
195
|
/**
|
|
196
196
|
* Creazione link desktop per lxde
|
|
197
197
|
* @param name
|
package/dist/classes/ovary.js
CHANGED
|
@@ -52,7 +52,7 @@ export default class Ovary {
|
|
|
52
52
|
theme = '';
|
|
53
53
|
volid = '';
|
|
54
54
|
toNull = '';
|
|
55
|
-
|
|
55
|
+
genisoimage = false;
|
|
56
56
|
verbose = false;
|
|
57
57
|
/**
|
|
58
58
|
* Add or remove exclusion
|
|
@@ -687,6 +687,9 @@ export default class Ovary {
|
|
|
687
687
|
console.log();
|
|
688
688
|
console.log('Remember, on liveCD user = ' + chalk.cyanBright(this.settings.config.user_opt) + '/' + chalk.cyanBright(this.settings.config.user_opt_passwd));
|
|
689
689
|
console.log(' root = ' + chalk.cyanBright('root') + '/' + chalk.cyanBright(this.settings.config.root_passwd));
|
|
690
|
+
if (this.genisoimage) {
|
|
691
|
+
console.log(`Note: format UDF, generated by ${chalk.cyanBright('genisoimage')}`);
|
|
692
|
+
}
|
|
690
693
|
}
|
|
691
694
|
/**
|
|
692
695
|
* initrdArch()
|
|
@@ -839,14 +842,6 @@ export default class Ovary {
|
|
|
839
842
|
cmd = `cp ${path.resolve(__dirname, '../../conf/README.md')} ${this.settings.config.snapshot_dir}README.md`;
|
|
840
843
|
this.tryCatch(cmd);
|
|
841
844
|
}
|
|
842
|
-
// sidecar
|
|
843
|
-
if (this.sidecar !== '') {
|
|
844
|
-
this.sidecar = path.resolve(this.sidecar);
|
|
845
|
-
cmd = `mkdir -p ${this.settings.iso_work}sidecar`;
|
|
846
|
-
this.tryCatch(cmd);
|
|
847
|
-
cmd = `cp ${this.sidecar}/* ${this.settings.iso_work}sidecar -R`;
|
|
848
|
-
this.tryCatch(cmd);
|
|
849
|
-
}
|
|
850
845
|
// Ovarium
|
|
851
846
|
if (!fs.existsSync(this.settings.work_dir.ovarium)) {
|
|
852
847
|
cmd = `mkdir -p ${this.settings.work_dir.ovarium}`;
|
|
@@ -1280,8 +1275,7 @@ export default class Ovary {
|
|
|
1280
1275
|
* @param unsecure
|
|
1281
1276
|
* @param verbose
|
|
1282
1277
|
*/
|
|
1283
|
-
async produce(clone = false, cryptedclone = false, scriptOnly = false, yolkRenew = false, release = false, myAddons, myLinks, excludes, nointeractive = false, noicons = false, unsecure = false,
|
|
1284
|
-
this.sidecar = sidecar;
|
|
1278
|
+
async produce(clone = false, cryptedclone = false, scriptOnly = false, yolkRenew = false, release = false, myAddons, myLinks, excludes, nointeractive = false, noicons = false, unsecure = false, udf = false, verbose = false) {
|
|
1285
1279
|
this.verbose = verbose;
|
|
1286
1280
|
this.echo = Utils.setEcho(verbose);
|
|
1287
1281
|
if (this.verbose) {
|
|
@@ -1473,7 +1467,7 @@ export default class Ovary {
|
|
|
1473
1467
|
Utils.warning(`moving ${luksFile} in ${this.nest}iso/live`);
|
|
1474
1468
|
await exec(`mv ${luksFile} ${this.nest}iso/live`, this.echo);
|
|
1475
1469
|
}
|
|
1476
|
-
const mkIsofsCmd = (await this.xorrisoCommand(clone, cryptedclone)).replaceAll(/\s\s+/g, ' ');
|
|
1470
|
+
const mkIsofsCmd = (await this.xorrisoCommand(clone, cryptedclone, udf)).replaceAll(/\s\s+/g, ' ');
|
|
1477
1471
|
this.makeDotDisk(this.volid, mksquashfsCmd, mkIsofsCmd);
|
|
1478
1472
|
/**
|
|
1479
1473
|
* AntiX/MX LINUX
|
|
@@ -1654,7 +1648,7 @@ export default class Ovary {
|
|
|
1654
1648
|
* @param cryptedclone
|
|
1655
1649
|
* @returns cmd 4 mkiso
|
|
1656
1650
|
*/
|
|
1657
|
-
async xorrisoCommand(clone = false, cryptedclone = false) {
|
|
1651
|
+
async xorrisoCommand(clone = false, cryptedclone = false, udf = false) {
|
|
1658
1652
|
if (this.verbose) {
|
|
1659
1653
|
console.log('Ovary: xorrisoCommand');
|
|
1660
1654
|
}
|
|
@@ -1701,6 +1695,29 @@ export default class Ovary {
|
|
|
1701
1695
|
uefi_isohybridGptBasdat = '-isohybrid-gpt-basdat';
|
|
1702
1696
|
uefi_noEmulBoot = '-no-emul-boot';
|
|
1703
1697
|
}
|
|
1698
|
+
if (udf) {
|
|
1699
|
+
if (Pacman.packageIsInstalled('genisoimage')) {
|
|
1700
|
+
this.genisoimage = true;
|
|
1701
|
+
command = `genisoimage \
|
|
1702
|
+
-iso-level 3 \
|
|
1703
|
+
-allow-limited-size \
|
|
1704
|
+
-joliet-long \
|
|
1705
|
+
-r \
|
|
1706
|
+
-V "V3.0" \
|
|
1707
|
+
-cache-inodes \
|
|
1708
|
+
-J \
|
|
1709
|
+
-l \
|
|
1710
|
+
-b isolinux/isolinux.bin \
|
|
1711
|
+
-c isolinux/boot.cat \
|
|
1712
|
+
-no-emul-boot \
|
|
1713
|
+
-boot-load-size 4 \
|
|
1714
|
+
-boot-info-table \
|
|
1715
|
+
-eltorito-alt-boot \
|
|
1716
|
+
-e boot/grub/efiboot.img \
|
|
1717
|
+
-o ${output} ${this.settings.iso_work}`;
|
|
1718
|
+
return command;
|
|
1719
|
+
}
|
|
1720
|
+
}
|
|
1704
1721
|
// xorriso
|
|
1705
1722
|
command = `xorriso -as mkisofs \
|
|
1706
1723
|
-J \
|
package/dist/classes/pacman.js
CHANGED
|
@@ -384,11 +384,11 @@ export default class Pacman {
|
|
|
384
384
|
await exec(`cp -r ${buster}/calamares/modules/unpackfs.yml ${dest}/calamares/modules/unpackfs.yml`, echo);
|
|
385
385
|
await exec(`cp -r ${buster}/calamares/modules/displaymanager.yml ${dest}/calamares/modules/displaymanager.yml`, echo);
|
|
386
386
|
/**
|
|
387
|
-
* Ubuntu
|
|
387
|
+
* Ubuntu 22.04 jammy: eredita da focal e buster
|
|
388
388
|
*/
|
|
389
389
|
}
|
|
390
|
-
else if (this.distro().codenameLikeId === '
|
|
391
|
-
const dest = '/etc/penguins-eggs.d/distros/
|
|
390
|
+
else if (this.distro().codenameLikeId === 'jammy') {
|
|
391
|
+
const dest = '/etc/penguins-eggs.d/distros/jammy';
|
|
392
392
|
const focal = `${rootPen}/conf/distros/focal/*`;
|
|
393
393
|
await exec(`cp -r ${focal} ${dest}`, echo);
|
|
394
394
|
await exec(`cp -r ${buster}/calamares/calamares-modules/cleanup ${dest}/calamares/calamares-modules/cleanup`, echo);
|
|
@@ -399,11 +399,12 @@ export default class Pacman {
|
|
|
399
399
|
await exec(`cp -r ${buster}/calamares/modules/unpackfs.yml ${dest}/calamares/modules/unpackfs.yml`, echo);
|
|
400
400
|
await exec(`cp -r ${buster}/calamares/modules/displaymanager.yml ${dest}/calamares/modules/displaymanager.yml`, echo);
|
|
401
401
|
/**
|
|
402
|
-
* Ubuntu
|
|
402
|
+
* Ubuntu noble: eredita da devel e buster
|
|
403
|
+
*
|
|
403
404
|
*/
|
|
404
405
|
}
|
|
405
|
-
else if (this.distro().codenameLikeId === '
|
|
406
|
-
const dest = '/etc/penguins-eggs.d/distros/
|
|
406
|
+
else if (this.distro().codenameLikeId === 'noble') {
|
|
407
|
+
const dest = '/etc/penguins-eggs.d/distros/noble';
|
|
407
408
|
const focal = `${rootPen}/conf/distros/focal/*`;
|
|
408
409
|
await exec(`cp -r ${focal} ${dest}`, echo);
|
|
409
410
|
await exec(`cp -r ${buster}/calamares/calamares-modules/cleanup ${dest}/calamares/calamares-modules/cleanup`, echo);
|
|
@@ -414,14 +415,14 @@ export default class Pacman {
|
|
|
414
415
|
await exec(`cp -r ${buster}/calamares/modules/unpackfs.yml ${dest}/calamares/modules/unpackfs.yml`, echo);
|
|
415
416
|
await exec(`cp -r ${buster}/calamares/modules/displaymanager.yml ${dest}/calamares/modules/displaymanager.yml`, echo);
|
|
416
417
|
/**
|
|
417
|
-
* Ubuntu
|
|
418
|
+
* Ubuntu rhino: eredita da devel e buster
|
|
418
419
|
*
|
|
419
420
|
*/
|
|
420
421
|
}
|
|
421
422
|
else if (this.distro().codenameLikeId === 'devel') {
|
|
422
423
|
const dest = '/etc/penguins-eggs.d/distros/devel';
|
|
423
|
-
const
|
|
424
|
-
await exec(`cp -r ${
|
|
424
|
+
const devel = `${rootPen}/conf/distros/devel/*`;
|
|
425
|
+
await exec(`cp -r ${devel} ${dest}`, echo);
|
|
425
426
|
await exec(`cp -r ${buster}/calamares/calamares-modules/cleanup ${dest}/calamares/calamares-modules/cleanup`, echo);
|
|
426
427
|
await exec(`cp -r ${buster}/calamares/calamares-modules/sources-yolk ${dest}/calamares/calamares-modules/sources-yolk`, echo);
|
|
427
428
|
await exec(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-undo ${dest}/calamares/calamares-modules/sources-yolk-undo`, echo);
|
|
@@ -24,11 +24,11 @@ export default class Produce extends Command {
|
|
|
24
24
|
prefix: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
25
25
|
release: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
26
26
|
script: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
27
|
-
sidecar: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
28
27
|
standard: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
29
28
|
theme: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
30
29
|
unsecure: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
31
30
|
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
31
|
+
udf: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
32
32
|
yolk: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
33
33
|
};
|
|
34
34
|
run(): Promise<void>;
|
package/dist/commands/produce.js
CHANGED
|
@@ -44,11 +44,11 @@ export default class Produce extends Command {
|
|
|
44
44
|
prefix: Flags.string({ char: 'P', description: 'prefix' }),
|
|
45
45
|
release: Flags.boolean({ description: 'release: remove penguins-eggs, calamares and dependencies after installation' }),
|
|
46
46
|
script: Flags.boolean({ char: 's', description: 'script mode. Generate scripts to manage iso build' }),
|
|
47
|
-
sidecar: Flags.string({ description: 'add a sidecar folder on your ISO with arbitrary contents' }),
|
|
48
47
|
standard: Flags.boolean({ char: 'f', description: 'standard compression: xz -b 1M' }),
|
|
49
48
|
theme: Flags.string({ description: 'theme for livecd, calamares branding and partitions' }),
|
|
50
49
|
unsecure: Flags.boolean({ char: 'u', description: '/root contents are included on live' }),
|
|
51
50
|
verbose: Flags.boolean({ char: 'v', description: 'verbose' }),
|
|
51
|
+
udf: Flags.boolean({ char: 'U', description: 'udf, create iso UDF format using genisoimage' }),
|
|
52
52
|
yolk: Flags.boolean({ char: 'y', description: 'force yolk renew' }),
|
|
53
53
|
};
|
|
54
54
|
async run() {
|
|
@@ -143,13 +143,7 @@ export default class Produce extends Command {
|
|
|
143
143
|
const yolkRenew = flags.yolk;
|
|
144
144
|
const { nointeractive } = flags;
|
|
145
145
|
const { noicon } = flags;
|
|
146
|
-
const {
|
|
147
|
-
if (sidecar !== undefined) {
|
|
148
|
-
if (!fs.existsSync(sidecar)) {
|
|
149
|
-
Utils.warning('sidecar: ' + chalk.white(sidecar) + ' not found!');
|
|
150
|
-
process.exit();
|
|
151
|
-
}
|
|
152
|
-
}
|
|
146
|
+
const { udf } = flags;
|
|
153
147
|
// if clone or cryptedclone unsecure = true
|
|
154
148
|
const unsecure = flags.unsecure || clone || cryptedclone;
|
|
155
149
|
/**
|
|
@@ -196,7 +190,7 @@ export default class Produce extends Command {
|
|
|
196
190
|
const ovary = new Ovary();
|
|
197
191
|
Utils.warning('Produce an egg...');
|
|
198
192
|
if (await ovary.fertilization(prefix, basename, theme, compression, !nointeractive)) {
|
|
199
|
-
await ovary.produce(clone, cryptedclone, scriptOnly, yolkRenew, release, myAddons, myLinks, excludes, nointeractive, noicon, unsecure,
|
|
193
|
+
await ovary.produce(clone, cryptedclone, scriptOnly, yolkRenew, release, myAddons, myLinks, excludes, nointeractive, noicon, unsecure, udf, verbose);
|
|
200
194
|
ovary.finished(scriptOnly);
|
|
201
195
|
}
|
|
202
196
|
}
|
|
Binary file
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
7
7
|
</head>
|
|
8
8
|
<body>
|
|
9
|
-
<h1>eggs(1) -- the reproductive system of penguins: eggs v10.0.
|
|
9
|
+
<h1>eggs(1) -- the reproductive system of penguins: eggs v10.0.15</h1>
|
|
10
10
|
<h1>SYNOPSIS</h1>
|
|
11
11
|
<p>Install Debian families (debian/devuan/ubuntu)</p>
|
|
12
|
-
<pre><code>$ sudo dpkg -i penguins-eggs_10.0.
|
|
12
|
+
<pre><code>$ sudo dpkg -i penguins-eggs_10.0.15-bionic-1_amd64.deb
|
|
13
13
|
</code></pre>
|
|
14
14
|
<p>Install Arch families (Arch, manjaro Linux)</p>
|
|
15
15
|
<p>Arch from AUR</p>
|
|
@@ -30,7 +30,7 @@ $ makepkg -si
|
|
|
30
30
|
<h1>USAGE</h1>
|
|
31
31
|
<pre><code>$ eggs (-v|--version|version)
|
|
32
32
|
|
|
33
|
-
penguins-eggs/10.0.
|
|
33
|
+
penguins-eggs/10.0.15
|
|
34
34
|
$ eggs --help [COMMAND]
|
|
35
35
|
|
|
36
36
|
USAGE
|
|
@@ -382,13 +382,13 @@ EXAMPLES
|
|
|
382
382
|
<p>produce a live image from your system whithout your data</p>
|
|
383
383
|
<pre><code>USAGE
|
|
384
384
|
$ eggs produce [--addons <value>...] [--basename <value>] [-c] [-C] [--excludes <value>...] [-h] [--links
|
|
385
|
-
<value>...] [-m] [-N] [-n] [-p] [-P <value>] [--release] [-s] [
|
|
386
|
-
[-y]
|
|
385
|
+
<value>...] [-m] [-N] [-n] [-p] [-P <value>] [--release] [-s] [-f] [--theme <value>] [-u] [-v] [-U] [-y]
|
|
387
386
|
|
|
388
387
|
FLAGS
|
|
389
388
|
-C, --cryptedclone crypted clone
|
|
390
389
|
-N, --noicon no icon eggs on desktop
|
|
391
390
|
-P, --prefix=<value> prefix
|
|
391
|
+
-U, --udf udf, create iso UDF format using genisoimage
|
|
392
392
|
-c, --clone clone
|
|
393
393
|
-f, --standard standard compression: xz -b 1M
|
|
394
394
|
-h, --help Show CLI help.
|
|
@@ -404,7 +404,6 @@ FLAGS
|
|
|
404
404
|
--excludes=<value>... use: static, homes, home
|
|
405
405
|
--links=<value>... desktop links
|
|
406
406
|
--release release: remove penguins-eggs, calamares and dependencies after installation
|
|
407
|
-
--sidecar=<value> add a sidecar folder on your ISO with arbitrary contents
|
|
408
407
|
--theme=<value> theme for livecd, calamares branding and partitions
|
|
409
408
|
|
|
410
409
|
DESCRIPTION
|
package/package.json
CHANGED
package/scripts/_eggs
CHANGED
|
@@ -190,9 +190,9 @@ _eggs() {
|
|
|
190
190
|
"syncfrom[restore users and user data from a LUKS volumes]" \
|
|
191
191
|
"syncto[Save users and users' data ENCRYPTED]" \
|
|
192
192
|
"update[update the Penguins' eggs tool]" \
|
|
193
|
-
"autocomplete[Display autocomplete installation instructions.]" \
|
|
194
|
-
"help[Display help for eggs.]" \
|
|
195
193
|
"version[]" \
|
|
194
|
+
"help[Display help for eggs.]" \
|
|
195
|
+
"autocomplete[Display autocomplete installation instructions.]" \
|
|
196
196
|
|
|
197
197
|
;;
|
|
198
198
|
args)
|
|
@@ -319,7 +319,6 @@ _arguments -S \
|
|
|
319
319
|
"(-P --prefix)"{-P,--prefix}"[prefix]:file:_files" \
|
|
320
320
|
--release"[release: remove penguins-eggs, calamares and dependencies after installation]" \
|
|
321
321
|
"(-s --script)"{-s,--script}"[script mode. Generate scripts to manage iso build]" \
|
|
322
|
-
--sidecar"[add a sidecar folder on your ISO with arbitrary contents]:file:_files" \
|
|
323
322
|
"(-f --standard)"{-f,--standard}"[standard compression: xz -b 1M]" \
|
|
324
323
|
--theme"[theme for livecd, calamares branding and partitions]:file:_files" \
|
|
325
324
|
"(-u --unsecure)"{-u,--unsecure}"[/root contents are included on live]" \
|
|
@@ -356,9 +355,10 @@ _arguments -S \
|
|
|
356
355
|
"(-v --verbose)"{-v,--verbose}"[verbose]" \
|
|
357
356
|
--help"[Show help for command]" \
|
|
358
357
|
"*: :_files" ;;
|
|
359
|
-
|
|
358
|
+
version)
|
|
360
359
|
_arguments -S \
|
|
361
|
-
|
|
360
|
+
--json"[Format output as json.]" \
|
|
361
|
+
--verbose"[Show additional information about the CLI.]" \
|
|
362
362
|
--help"[Show help for command]" \
|
|
363
363
|
"*: :_files" ;;
|
|
364
364
|
help)
|
|
@@ -366,10 +366,9 @@ _arguments -S \
|
|
|
366
366
|
"(-n --nested-commands)"{-n,--nested-commands}"[Include all nested commands in the output.]" \
|
|
367
367
|
--help"[Show help for command]" \
|
|
368
368
|
"*: :_files" ;;
|
|
369
|
-
|
|
369
|
+
autocomplete)
|
|
370
370
|
_arguments -S \
|
|
371
|
-
--
|
|
372
|
-
--verbose"[Show additional information about the CLI.]" \
|
|
371
|
+
"(-r --refresh-cache)"{-r,--refresh-cache}"[Refresh cache (ignores displaying instructions)]" \
|
|
373
372
|
--help"[Show help for command]" \
|
|
374
373
|
"*: :_files" ;;
|
|
375
374
|
esac
|
package/scripts/eggs.bash
CHANGED
|
@@ -23,7 +23,7 @@ install --btrfs --chroot --crypted --domain --halt --help --ip --nointeractive -
|
|
|
23
23
|
krill --btrfs --chroot --crypted --domain --halt --help --ip --nointeractive --none --pve --random --small --suspend --unattended --verbose
|
|
24
24
|
kill --help --isos --nointeractive --verbose
|
|
25
25
|
mom --help
|
|
26
|
-
produce --addons --basename --clone --cryptedclone --excludes --help --links --max --noicon --nointeractive --pendrive --prefix --release --script --
|
|
26
|
+
produce --addons --basename --clone --cryptedclone --excludes --help --links --max --noicon --nointeractive --pendrive --prefix --release --script --standard --theme --unsecure --verbose --yolk
|
|
27
27
|
status --help --verbose
|
|
28
28
|
syncfrom --delete --file --help --rootdir --verbose
|
|
29
29
|
syncto --excludes --file --help --verbose
|
|
@@ -37,9 +37,9 @@ wardrobe:get --help --verbose
|
|
|
37
37
|
wardrobe:list --distro --help --verbose
|
|
38
38
|
wardrobe:show --help --json --verbose --wardrobe
|
|
39
39
|
wardrobe:wear --help --no_accessories --no_firmwares --verbose --wardrobe
|
|
40
|
-
autocomplete --refresh-cache
|
|
41
|
-
help --nested-commands
|
|
42
40
|
version --json --verbose
|
|
41
|
+
help --nested-commands
|
|
42
|
+
autocomplete --refresh-cache
|
|
43
43
|
"
|
|
44
44
|
|
|
45
45
|
function __trim_colon_commands()
|