penguins-eggs 10.0.12 → 10.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.oclif.manifest.json +1 -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/conf/yolk.yaml +52 -0
- package/dist/classes/bleach.js +2 -2
- 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 +2 -2
- package/dist/classes/ovary.js +27 -12
- package/dist/classes/pacman.js +11 -9
- package/dist/classes/yolk.js +4 -3
- package/dist/commands/produce.d.ts +0 -1
- package/dist/commands/produce.js +1 -9
- package/manpages/doc/man/eggs.1.gz +0 -0
- package/manpages/doc/man/eggs.html +4 -6
- package/package.json +1 -1
- package/scripts/_eggs +1 -1
- package/scripts/eggs.bash +1 -1
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",
|
|
@@ -1468,5 +1461,5 @@
|
|
|
1468
1461
|
]
|
|
1469
1462
|
}
|
|
1470
1463
|
},
|
|
1471
|
-
"version": "10.0.
|
|
1464
|
+
"version": "10.0.18"
|
|
1472
1465
|
}
|
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,91 @@ 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
|
+
* [Penguins' eggs book](https://penguins-eggs.gitbook.io/book)
|
|
36
|
+
* [FAQ](https://penguins-eggs.net/docs/faq)
|
|
37
|
+
* [Changelog](https://github.com/pieroproietti/penguins-eggs/blob/master/CHANGELOG.md#changelog)
|
|
35
38
|
|
|
36
|
-
#
|
|
39
|
+
# Installation
|
|
37
40
|
|
|
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)
|
|
41
|
+
## penguins-eggs-10.0.x installation
|
|
42
|
+
`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
43
|
|
|
41
|
-
###
|
|
42
|
-
|
|
44
|
+
### using get-eggs
|
|
45
|
+
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:
|
|
46
|
+
```
|
|
47
|
+
git clone https://github.com/pieroproietti/get-eggs
|
|
48
|
+
cd get-eggs
|
|
49
|
+
sudo ./get-eggs.sh
|
|
50
|
+
```
|
|
51
|
+
### manual installation
|
|
52
|
+
|
|
53
|
+
#### Arch, Manjaro, Debian 12 bookworm, Ubuntu 24.04
|
|
54
|
+
Just download and install penguins-eggs-10.0.x.
|
|
43
55
|
|
|
44
|
-
|
|
56
|
+
#### Debian 10 buster, Debian 11 bullseye, Ubuntu 20.04, Ubuntu 22.04
|
|
45
57
|
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
58
|
|
|
47
|
-
|
|
59
|
+
#### Debian 9 stretch, Ubuntu 18.04 bionic
|
|
48
60
|
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
61
|
|
|
62
|
+
# Introduction
|
|
63
|
+
|
|
64
|
+
`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.
|
|
65
|
+
|
|
66
|
+
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.
|
|
67
|
+
|
|
68
|
+
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.
|
|
69
|
+
|
|
70
|
+
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
71
|
|
|
51
|
-
|
|
72
|
+
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
73
|
|
|
53
|
-
|
|
74
|
+
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.
|
|
75
|
+
|
|
76
|
+
Written primarily in TypeScript, Penguins’ Eggs is designed to be compatible with various Linux distributions, despite differences in package managers, file paths, and more.
|
|
77
|
+
|
|
78
|
+
The tool currently supports Debian, Devuan, Ubuntu, Arch, Manjaro, and their derivatives, across multiple architectures including amd64, i386, and arm64.
|
|
79
|
+
|
|
80
|
+
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).
|
|
81
|
+
|
|
82
|
+
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.
|
|
83
|
+
|
|
84
|
+
For more information and updates, visit the [Penguins’ Eggs official website](https://penguins-eggs.net).
|
|
54
85
|
|
|
55
86
|
|
|
56
87
|
> [!TIP]
|
|
57
|
-
>
|
|
88
|
+
> `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
89
|
|
|
59
90
|
> [!TIP]
|
|
60
|
-
> By default,
|
|
91
|
+
> 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
92
|
|
|
62
93
|
> [!TIP]
|
|
63
|
-
> The resulting live system can be easily installed using either the
|
|
94
|
+
> 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
95
|
|
|
65
96
|
> [!TIP]
|
|
66
|
-
> One interesting feature of
|
|
97
|
+
> 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
98
|
|
|
68
99
|
> [!NOTE]
|
|
69
|
-
> For more information and customization options, you can explore
|
|
100
|
+
> 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
101
|
|
|
71
102
|
See [penguins-wardrobe](https://github.com/pieroproietti/penguins-wardrobe), fork it, and adapt it to your needs.
|
|
72
103
|
|
|
73
104
|
# Technology
|
|
74
|
-
|
|
105
|
+
`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
106
|
|
|
76
|
-
Currently,
|
|
107
|
+
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
108
|
|
|
78
109
|
It also caters to different architectures, namely `amd64`, `i386`, and `arm64`.
|
|
79
110
|
|
|
80
|
-
Starting from version 9.6.x,
|
|
111
|
+
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
112
|
|
|
82
113
|
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
114
|
|
|
84
|
-
Additionally, you can find examples of remastered ISO images created with
|
|
115
|
+
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
116
|
|
|
86
117
|
|
|
87
118
|
# Features
|
|
@@ -125,9 +156,9 @@ Supports: i386, amd64 and arm64 architecture, from old PCs, and common PCs to si
|
|
|
125
156
|
|
|
126
157
|
|
|
127
158
|
## Wardrobe, Themes, and Addons
|
|
128
|
-
In April 2022, the
|
|
159
|
+
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
160
|
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
|
|
161
|
+
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
162
|
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
163
|
|
|
133
164
|
> [!NOTE]
|
|
@@ -136,35 +167,35 @@ Furthermore, addons, predominantly themes, have been organized under the vendor'
|
|
|
136
167
|
|
|
137
168
|
## Clone/Cryptedclone
|
|
138
169
|
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
|
|
170
|
+
• 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
171
|
|
|
141
|
-
• The
|
|
172
|
+
• 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
173
|
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
174
|
|
|
144
|
-
• On the other hand, the
|
|
175
|
+
• 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
176
|
|
|
146
177
|
To summarize the available options:
|
|
147
178
|
|
|
148
|
-
•
|
|
179
|
+
• `eggs produce` (default): All private data is removed from the live system.
|
|
149
180
|
|
|
150
|
-
•
|
|
181
|
+
• `eggs produce --clone`: All user data is included unencrypted directly in the live system.
|
|
151
182
|
|
|
152
|
-
•
|
|
183
|
+
• `eggs produce --cryptedclone`: All user data is included encrypted within a LUKS volume inside the ISO.
|
|
153
184
|
> [!TIP]
|
|
154
185
|
> 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
186
|
|
|
156
187
|
|
|
157
188
|
## 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.
|
|
189
|
+
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
190
|
|
|
160
|
-
Krill
|
|
191
|
+
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
192
|
|
|
162
193
|
> [!TIP]
|
|
163
|
-
>
|
|
194
|
+
> 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
195
|
|
|
165
196
|
## cuckoo
|
|
166
|
-
|
|
167
|
-
With the command
|
|
197
|
+
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.
|
|
198
|
+
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
199
|
|
|
169
200
|
> [!TIP]
|
|
170
201
|
> 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 +217,61 @@ By adapting to the packaging systems used by different distributions, Eggs ensur
|
|
|
186
217
|
|
|
187
218
|
|
|
188
219
|
## Debian families
|
|
189
|
-
|
|
220
|
+
Eggs caters to the Debian family of distributions, offering a seamless installation experience through deb packages.
|
|
221
|
+
|
|
222
|
+
These deb packages are available for multiple architectures, including amd64, i386, and arm64.
|
|
223
|
+
|
|
224
|
+
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.
|
|
225
|
+
|
|
190
226
|
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
227
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
228
|
+
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.
|
|
229
|
+
|
|
230
|
+
Ubuntu bionic cannot install nodejs >16, so I packaged a specific version for bionic, still largely used.
|
|
231
|
+
|
|
232
|
+
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.
|
|
233
|
+
|
|
234
|
+
In addition to the scripts, `penguins-eggs` package also include man pages, bash-completion and other.
|
|
235
|
+
|
|
236
|
+
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.
|
|
237
|
+
|
|
195
238
|
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
239
|
|
|
197
240
|
|
|
198
241
|
### Install eggs
|
|
199
|
-
|
|
200
|
-
|
|
242
|
+
There are multiple methods available, lately I prefer `get-eggs` way, working for all the supported distros: Arch, Debian, Devuan, Manjaro, Ubuntu and derivatives.:
|
|
243
|
+
|
|
244
|
+
```
|
|
245
|
+
git clone https://github.com/pieroproietti/get-eggs
|
|
246
|
+
cd get-eggs
|
|
247
|
+
sudo ./get-eggs.sh
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
`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
251
|
|
|
252
|
+
This let to install, update, remove `penguins-eggs` like a native package.
|
|
202
253
|
|
|
203
|
-
####
|
|
254
|
+
#### Debian families
|
|
255
|
+
`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.
|
|
256
|
+
|
|
257
|
+
##### Download and install penguins-eggs from sourceforge
|
|
258
|
+
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.
|
|
259
|
+
|
|
260
|
+
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:
|
|
261
|
+
|
|
262
|
+
```sudo dpkg -i penguins_eggs_10.0.x-1_amd64.deb```
|
|
204
263
|
|
|
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
264
|
For i386 systems, the command would be:
|
|
209
|
-
```sudo dpkg -i penguins_eggs_10.0.
|
|
265
|
+
```sudo dpkg -i penguins_eggs_10.0.x-1_i386.deb```
|
|
266
|
+
|
|
210
267
|
Executing these commands will initiate the installation process and install Eggs on your system.
|
|
211
268
|
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
269
|
```sudo eggs tools ppa --install```
|
|
213
270
|
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
271
|
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
272
|
|
|
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:
|
|
273
|
+
##### Using penguins-eggs-ppa
|
|
274
|
+
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
275
|
|
|
237
276
|
```
|
|
238
277
|
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 +286,8 @@ sudo apt update && sudo apt install penguins_eggs
|
|
|
247
286
|
|
|
248
287
|
Executing these commands will update your package sources and install Eggs on your system.
|
|
249
288
|
|
|
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
289
|
|
|
254
|
-
|
|
290
|
+
#### Upgrade eggs
|
|
255
291
|
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
292
|
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
293
|
```
|
|
@@ -261,15 +297,15 @@ sudo apt upgrade
|
|
|
261
297
|
> This command will check for updates for all installed packages, including Eggs, and upgrade them to their latest versions if available.
|
|
262
298
|
|
|
263
299
|
> [!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:
|
|
300
|
+
> 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
301
|
|
|
266
302
|
1. Install the package using the `gdebi` command (assuming you have `gdebi` installed):
|
|
267
303
|
```
|
|
268
|
-
sudo gdebi penguins_eggs_10.0.
|
|
304
|
+
sudo gdebi penguins_eggs_10.0.x-1_amd64.deb
|
|
269
305
|
```
|
|
270
306
|
or for i386 systems:
|
|
271
307
|
```
|
|
272
|
-
sudo dpkg -i penguins_eggs_10.0.
|
|
308
|
+
sudo dpkg -i penguins_eggs_10.0.x-1_i386.deb
|
|
273
309
|
```
|
|
274
310
|
|
|
275
311
|
2. In case of any missing dependencies, you can resolve them by running the following command:
|
|
@@ -293,7 +329,7 @@ This will automatically install any required dependencies for Eggs.
|
|
|
293
329
|
|
|
294
330
|
|
|
295
331
|
### 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
|
|
332
|
+
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
333
|
|
|
298
334
|
1. Add the Chaotic-AUR repository to your system. You can find the repository at [https://aur.chaotic.cx/](https://aur.chaotic.cx/).
|
|
299
335
|
|
|
@@ -303,25 +339,9 @@ sudo pacman -Sy penguins-eggs
|
|
|
303
339
|
```
|
|
304
340
|
This command will synchronize the package databases and install penguins-eggs on your system.
|
|
305
341
|
|
|
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
|
-
```
|
|
342
|
+
Alternatively, you can use a utility called `get-eggs`. This script will add the AUR repository and install penguins-eggs on your system.
|
|
312
343
|
|
|
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:
|
|
344
|
+
It's possible too to use the popular AUR helper tool called `yay`. Simply run the following command:
|
|
325
345
|
```
|
|
326
346
|
yay penguins-eggs
|
|
327
347
|
```
|
|
@@ -404,6 +424,7 @@ sudo eggs produce --cryptedclone
|
|
|
404
424
|
```
|
|
405
425
|
This command will generate a live system with encrypted user data.
|
|
406
426
|
|
|
427
|
+
## Compression
|
|
407
428
|
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
429
|
|
|
409
430
|
```
|
|
@@ -413,8 +434,7 @@ sudo eggs produce --standard
|
|
|
413
434
|
sudo eggs produce --max
|
|
414
435
|
```
|
|
415
436
|
> [!TIP]
|
|
416
|
-
> This command will apply
|
|
417
|
-
|
|
437
|
+
> 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
438
|
# Commands
|
|
419
439
|
<!-- commands -->
|
|
420
440
|
* [`eggs adapt`](#eggs-adapt)
|
|
@@ -466,7 +486,7 @@ EXAMPLES
|
|
|
466
486
|
$ eggs adapt
|
|
467
487
|
```
|
|
468
488
|
|
|
469
|
-
_See code: [src/commands/adapt.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
489
|
+
_See code: [src/commands/adapt.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.18/src/commands/adapt.ts)_
|
|
470
490
|
|
|
471
491
|
## `eggs analyze`
|
|
472
492
|
|
|
@@ -487,7 +507,7 @@ EXAMPLES
|
|
|
487
507
|
sudo eggs analyze
|
|
488
508
|
```
|
|
489
509
|
|
|
490
|
-
_See code: [src/commands/analyze.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
510
|
+
_See code: [src/commands/analyze.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.18/src/commands/analyze.ts)_
|
|
491
511
|
|
|
492
512
|
## `eggs autocomplete [SHELL]`
|
|
493
513
|
|
|
@@ -551,7 +571,7 @@ EXAMPLES
|
|
|
551
571
|
sudo eggs calamares --remove
|
|
552
572
|
```
|
|
553
573
|
|
|
554
|
-
_See code: [src/commands/calamares.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
574
|
+
_See code: [src/commands/calamares.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.18/src/commands/calamares.ts)_
|
|
555
575
|
|
|
556
576
|
## `eggs config`
|
|
557
577
|
|
|
@@ -578,7 +598,7 @@ EXAMPLES
|
|
|
578
598
|
sudo eggs config --clean --nointeractive
|
|
579
599
|
```
|
|
580
600
|
|
|
581
|
-
_See code: [src/commands/config.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
601
|
+
_See code: [src/commands/config.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.18/src/commands/config.ts)_
|
|
582
602
|
|
|
583
603
|
## `eggs cuckoo`
|
|
584
604
|
|
|
@@ -598,7 +618,7 @@ EXAMPLES
|
|
|
598
618
|
sudo eggs cuckoo
|
|
599
619
|
```
|
|
600
620
|
|
|
601
|
-
_See code: [src/commands/cuckoo.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
621
|
+
_See code: [src/commands/cuckoo.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.18/src/commands/cuckoo.ts)_
|
|
602
622
|
|
|
603
623
|
## `eggs dad`
|
|
604
624
|
|
|
@@ -626,7 +646,7 @@ EXAMPLES
|
|
|
626
646
|
sudo dad --default
|
|
627
647
|
```
|
|
628
648
|
|
|
629
|
-
_See code: [src/commands/dad.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
649
|
+
_See code: [src/commands/dad.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.18/src/commands/dad.ts)_
|
|
630
650
|
|
|
631
651
|
## `eggs export deb`
|
|
632
652
|
|
|
@@ -653,7 +673,7 @@ EXAMPLES
|
|
|
653
673
|
$ eggs export deb --all
|
|
654
674
|
```
|
|
655
675
|
|
|
656
|
-
_See code: [src/commands/export/deb.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
676
|
+
_See code: [src/commands/export/deb.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.18/src/commands/export/deb.ts)_
|
|
657
677
|
|
|
658
678
|
## `eggs export iso`
|
|
659
679
|
|
|
@@ -678,7 +698,7 @@ EXAMPLES
|
|
|
678
698
|
$ eggs export iso --clean
|
|
679
699
|
```
|
|
680
700
|
|
|
681
|
-
_See code: [src/commands/export/iso.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
701
|
+
_See code: [src/commands/export/iso.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.18/src/commands/export/iso.ts)_
|
|
682
702
|
|
|
683
703
|
## `eggs help [COMMAND]`
|
|
684
704
|
|
|
@@ -739,7 +759,7 @@ EXAMPLES
|
|
|
739
759
|
sudo eggs install --chroot
|
|
740
760
|
```
|
|
741
761
|
|
|
742
|
-
_See code: [src/commands/install.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
762
|
+
_See code: [src/commands/install.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.18/src/commands/install.ts)_
|
|
743
763
|
|
|
744
764
|
## `eggs kill`
|
|
745
765
|
|
|
@@ -762,7 +782,7 @@ EXAMPLES
|
|
|
762
782
|
sudo eggs kill
|
|
763
783
|
```
|
|
764
784
|
|
|
765
|
-
_See code: [src/commands/kill.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
785
|
+
_See code: [src/commands/kill.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.18/src/commands/kill.ts)_
|
|
766
786
|
|
|
767
787
|
## `eggs krill`
|
|
768
788
|
|
|
@@ -821,7 +841,7 @@ EXAMPLES
|
|
|
821
841
|
$ eggs mom
|
|
822
842
|
```
|
|
823
843
|
|
|
824
|
-
_See code: [src/commands/mom.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.
|
|
844
|
+
_See code: [src/commands/mom.ts](https://github.com/pieroproietti/penguins-eggs/blob/v10.0.18/src/commands/mom.ts)_
|
|
825
845
|
|
|
826
846
|
## `eggs produce`
|
|
827
847
|
|
|
@@ -830,8 +850,7 @@ produce a live image from your system whithout your data
|
|
|
830
850
|
```
|
|
831
851
|
USAGE
|
|
832
852
|
$ eggs produce [--addons <value>...] [--basename <value>] [-c] [-C] [--excludes <value>...] [-h] [--links
|
|
833
|
-
<value>...] [-m] [-N] [-n] [-p] [-P <value>] [--release] [-s] [
|
|
834
|
-
[-y]
|
|
853
|
+
<value>...] [-m] [-N] [-n] [-p] [-P <value>] [--release] [-s] [-f] [--theme <value>] [-u] [-v] [-y]
|
|
835
854
|
|
|
836
855
|
FLAGS
|
|
837
856
|
-C, --cryptedclone crypted clone
|
|
@@ -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.18/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.18/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.18/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.18/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.18/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.18/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.18/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.18/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.18/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.18/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.18/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.18/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.18/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.18/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/conf/yolk.yaml
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
packages:
|
|
2
|
+
- cryptsetup
|
|
3
|
+
- grub-efi-amd64
|
|
4
|
+
- grub-pc
|
|
5
|
+
- keyutils
|
|
6
|
+
- shim-signed
|
|
7
|
+
############################################
|
|
8
|
+
# optional packages: yoi can add or remove
|
|
9
|
+
############################################
|
|
10
|
+
#- amd64-microcode_3.20230808.1.1~deb12u1_amd64.deb
|
|
11
|
+
#- atmel-firmware_1.3-7_all.deb
|
|
12
|
+
#- b43-fwcutter_019-8_amd64.deb
|
|
13
|
+
#- bluez-firmware_1.2-9_all.deb
|
|
14
|
+
#- cheese_43.0-1_amd64.deb
|
|
15
|
+
#- cheese-common_43.0-1_all.deb
|
|
16
|
+
#- cups_2.4.2-3+deb12u5_amd64.deb
|
|
17
|
+
#- cups-bsd_2.4.2-3+deb12u5_amd64.deb
|
|
18
|
+
#- cups-client_2.4.2-3+deb12u5_amd64.deb
|
|
19
|
+
#- cups-common_2.4.2-3+deb12u5_all.deb
|
|
20
|
+
#- cups-core-drivers_2.4.2-3+deb12u5_amd64.deb
|
|
21
|
+
#- cups-daemon_2.4.2-3+deb12u5_amd64.deb
|
|
22
|
+
#- cups-ipp-utils_2.4.2-3+deb12u5_amd64.deb
|
|
23
|
+
#- cups-ppdc_2.4.2-3+deb12u5_amd64.deb
|
|
24
|
+
#- cups-server-common_2.4.2-3+deb12u5_all.deb
|
|
25
|
+
#- dahdi-firmware-nonfree_2.11.1.0.20170917-2_all.deb
|
|
26
|
+
#- firmware-amd-graphics_20230210-5_all.deb
|
|
27
|
+
#- firmware-ast_20140808-7_all.deb
|
|
28
|
+
#- firmware-b43-installer_019-8_all.deb
|
|
29
|
+
#- firmware-b43legacy-installer_019-8_all.deb
|
|
30
|
+
#- firmware-bnx2_20230210-5_all.deb
|
|
31
|
+
#- firmware-bnx2x_20230210-5_all.deb
|
|
32
|
+
#- firmware-brcm80211_20230210-5_all.deb
|
|
33
|
+
#- firmware-intel-sound_20230210-5_all.deb
|
|
34
|
+
#- firmware-ipw2x00_20230210-5_all.deb
|
|
35
|
+
#- firmware-ivtv_20230210-5_all.deb
|
|
36
|
+
#- firmware-iwlwifi_20230210-5_all.deb
|
|
37
|
+
#- firmware-linux-nonfree_20230210-5_all.deb
|
|
38
|
+
#- firmware-realtek_20230210-5_all.deb
|
|
39
|
+
#- firmware-realtek-rtl8723cs-bt_20181104-2_all.deb
|
|
40
|
+
#- firmware-sof-signed_2.2.4-1_all.deb
|
|
41
|
+
#- firmware-zd1211_1.5-10_all.deb
|
|
42
|
+
#- intel-microcode_3.20231114.1~deb12u1_amd64.deb
|
|
43
|
+
#- libcheese-gtk25_43.0-1_amd64.deb
|
|
44
|
+
#- libcheese8_43.0-1_amd64.deb
|
|
45
|
+
#- libcups2_2.4.2-3+deb12u5_amd64.deb
|
|
46
|
+
#- libcupsimage2_2.4.2-3+deb12u5_amd64.deb
|
|
47
|
+
#- libsane_1.2.1-2_amd64.deb
|
|
48
|
+
#- libsane-common_1.2.1-2_all.deb
|
|
49
|
+
#- libsane1_1.2.1-2_amd64.deb
|
|
50
|
+
#- sane_1.0.14-17_amd64.deb
|
|
51
|
+
#- sane-airscan_0.99.27-1+b1_amd64.deb
|
|
52
|
+
#- sane-utils_1.2.1-2_amd64.deb
|
package/dist/classes/bleach.js
CHANGED
|
@@ -44,8 +44,8 @@ export default class Bleach {
|
|
|
44
44
|
}
|
|
45
45
|
await exec('apt-get clean', echo);
|
|
46
46
|
await exec('apt-get autoclean', echo);
|
|
47
|
-
const
|
|
48
|
-
|
|
47
|
+
const lockFile = '/var/lib/apt/lists/lock';
|
|
48
|
+
await exec(`rm ${lockFile} -rf`, echo);
|
|
49
49
|
}
|
|
50
50
|
/**
|
|
51
51
|
* cleanHistory
|
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, verbose?: boolean): Promise<void>;
|
|
163
163
|
/**
|
|
164
164
|
* syslinux
|
|
165
165
|
*/
|
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
|
|
@@ -93,7 +93,7 @@ export default class Ovary {
|
|
|
93
93
|
*/
|
|
94
94
|
const dirs = fs.readdirSync('/');
|
|
95
95
|
const startLine = '#############################################################';
|
|
96
|
-
const titleLine = '#
|
|
96
|
+
const titleLine = '# ---------------------------------------------------------';
|
|
97
97
|
const endLine = '# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n';
|
|
98
98
|
let lnkDest = '';
|
|
99
99
|
let cmd = '';
|
|
@@ -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, verbose = false) {
|
|
1285
1279
|
this.verbose = verbose;
|
|
1286
1280
|
this.echo = Utils.setEcho(verbose);
|
|
1287
1281
|
if (this.verbose) {
|
|
@@ -1701,6 +1695,27 @@ export default class Ovary {
|
|
|
1701
1695
|
uefi_isohybridGptBasdat = '-isohybrid-gpt-basdat';
|
|
1702
1696
|
uefi_noEmulBoot = '-no-emul-boot';
|
|
1703
1697
|
}
|
|
1698
|
+
if (Pacman.packageIsInstalled('genisoimage')) {
|
|
1699
|
+
this.genisoimage = true;
|
|
1700
|
+
command = `genisoimage \
|
|
1701
|
+
-iso-level 3 \
|
|
1702
|
+
-allow-limited-size \
|
|
1703
|
+
-joliet-long \
|
|
1704
|
+
-r \
|
|
1705
|
+
-V ${this.volid} \
|
|
1706
|
+
-cache-inodes \
|
|
1707
|
+
-J \
|
|
1708
|
+
-l \
|
|
1709
|
+
-b isolinux/isolinux.bin \
|
|
1710
|
+
-c isolinux/boot.cat \
|
|
1711
|
+
-no-emul-boot \
|
|
1712
|
+
-boot-load-size 4 \
|
|
1713
|
+
-boot-info-table \
|
|
1714
|
+
-eltorito-alt-boot \
|
|
1715
|
+
-e boot/grub/efiboot.img \
|
|
1716
|
+
-o ${output} ${this.settings.iso_work}`;
|
|
1717
|
+
return command;
|
|
1718
|
+
}
|
|
1704
1719
|
// xorriso
|
|
1705
1720
|
command = `xorriso -as mkisofs \
|
|
1706
1721
|
-J \
|
package/dist/classes/pacman.js
CHANGED
|
@@ -222,6 +222,7 @@ export default class Pacman {
|
|
|
222
222
|
shx.cp(path.resolve(__dirname, '../../conf/tools.yaml'), config_tools);
|
|
223
223
|
shx.cp(path.resolve(__dirname, '../../conf/krill.yaml'), confRoot);
|
|
224
224
|
shx.cp(path.resolve(__dirname, '../../conf/derivatives.yaml'), confRoot);
|
|
225
|
+
shx.cp(path.resolve(__dirname, '../../conf/yolk.yaml'), confRoot);
|
|
225
226
|
// init
|
|
226
227
|
shx.cp(path.resolve(__dirname, '../../conf/init/unattended.sh'), '/etc/penguins-eggs.d/init');
|
|
227
228
|
shx.chmod('+x', '/etc/penguins-eggs.d/init/unattended.sh');
|
|
@@ -384,11 +385,11 @@ export default class Pacman {
|
|
|
384
385
|
await exec(`cp -r ${buster}/calamares/modules/unpackfs.yml ${dest}/calamares/modules/unpackfs.yml`, echo);
|
|
385
386
|
await exec(`cp -r ${buster}/calamares/modules/displaymanager.yml ${dest}/calamares/modules/displaymanager.yml`, echo);
|
|
386
387
|
/**
|
|
387
|
-
* Ubuntu
|
|
388
|
+
* Ubuntu 22.04 jammy: eredita da focal e buster
|
|
388
389
|
*/
|
|
389
390
|
}
|
|
390
|
-
else if (this.distro().codenameLikeId === '
|
|
391
|
-
const dest = '/etc/penguins-eggs.d/distros/
|
|
391
|
+
else if (this.distro().codenameLikeId === 'jammy') {
|
|
392
|
+
const dest = '/etc/penguins-eggs.d/distros/jammy';
|
|
392
393
|
const focal = `${rootPen}/conf/distros/focal/*`;
|
|
393
394
|
await exec(`cp -r ${focal} ${dest}`, echo);
|
|
394
395
|
await exec(`cp -r ${buster}/calamares/calamares-modules/cleanup ${dest}/calamares/calamares-modules/cleanup`, echo);
|
|
@@ -399,11 +400,12 @@ export default class Pacman {
|
|
|
399
400
|
await exec(`cp -r ${buster}/calamares/modules/unpackfs.yml ${dest}/calamares/modules/unpackfs.yml`, echo);
|
|
400
401
|
await exec(`cp -r ${buster}/calamares/modules/displaymanager.yml ${dest}/calamares/modules/displaymanager.yml`, echo);
|
|
401
402
|
/**
|
|
402
|
-
* Ubuntu
|
|
403
|
+
* Ubuntu noble: eredita da devel e buster
|
|
404
|
+
*
|
|
403
405
|
*/
|
|
404
406
|
}
|
|
405
|
-
else if (this.distro().codenameLikeId === '
|
|
406
|
-
const dest = '/etc/penguins-eggs.d/distros/
|
|
407
|
+
else if (this.distro().codenameLikeId === 'noble') {
|
|
408
|
+
const dest = '/etc/penguins-eggs.d/distros/noble';
|
|
407
409
|
const focal = `${rootPen}/conf/distros/focal/*`;
|
|
408
410
|
await exec(`cp -r ${focal} ${dest}`, echo);
|
|
409
411
|
await exec(`cp -r ${buster}/calamares/calamares-modules/cleanup ${dest}/calamares/calamares-modules/cleanup`, echo);
|
|
@@ -414,14 +416,14 @@ export default class Pacman {
|
|
|
414
416
|
await exec(`cp -r ${buster}/calamares/modules/unpackfs.yml ${dest}/calamares/modules/unpackfs.yml`, echo);
|
|
415
417
|
await exec(`cp -r ${buster}/calamares/modules/displaymanager.yml ${dest}/calamares/modules/displaymanager.yml`, echo);
|
|
416
418
|
/**
|
|
417
|
-
* Ubuntu
|
|
419
|
+
* Ubuntu rhino: eredita da devel e buster
|
|
418
420
|
*
|
|
419
421
|
*/
|
|
420
422
|
}
|
|
421
423
|
else if (this.distro().codenameLikeId === 'devel') {
|
|
422
424
|
const dest = '/etc/penguins-eggs.d/distros/devel';
|
|
423
|
-
const
|
|
424
|
-
await exec(`cp -r ${
|
|
425
|
+
const devel = `${rootPen}/conf/distros/devel/*`;
|
|
426
|
+
await exec(`cp -r ${devel} ${dest}`, echo);
|
|
425
427
|
await exec(`cp -r ${buster}/calamares/calamares-modules/cleanup ${dest}/calamares/calamares-modules/cleanup`, echo);
|
|
426
428
|
await exec(`cp -r ${buster}/calamares/calamares-modules/sources-yolk ${dest}/calamares/calamares-modules/sources-yolk`, echo);
|
|
427
429
|
await exec(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-undo ${dest}/calamares/calamares-modules/sources-yolk-undo`, echo);
|
package/dist/classes/yolk.js
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import fs from 'node:fs';
|
|
9
9
|
import shx from 'shelljs';
|
|
10
|
+
import yaml from 'js-yaml';
|
|
10
11
|
import { exec } from '../lib/utils.js';
|
|
11
12
|
import Bleach from './bleach.js';
|
|
12
13
|
import Pacman from './pacman.js';
|
|
@@ -51,11 +52,11 @@ export default class Yolk {
|
|
|
51
52
|
await exec(`mkdir ${this.yolkDir} -p`, this.echo);
|
|
52
53
|
await exec(`chown _apt:root ${this.yolkDir} -R`, this.echo);
|
|
53
54
|
}
|
|
54
|
-
|
|
55
|
-
const
|
|
55
|
+
const yolk_yaml = '/etc/penguins-eggs.d/yolk.yaml';
|
|
56
|
+
const yolk = yaml.load(fs.readFileSync(yolk_yaml, 'utf8'));
|
|
56
57
|
process.chdir(this.yolkDir);
|
|
57
58
|
Utils.warning(`Downloading packages and its dependencies`);
|
|
58
|
-
for (const pkg of
|
|
59
|
+
for (const pkg of yolk.packages) {
|
|
59
60
|
Utils.warning(`- ${pkg}`);
|
|
60
61
|
cmd = `apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances ${pkg} | grep "^\\w" | sort -u`;
|
|
61
62
|
let depends = pkg + '\n';
|
|
@@ -24,7 +24,6 @@ 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>;
|
package/dist/commands/produce.js
CHANGED
|
@@ -44,7 +44,6 @@ 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' }),
|
|
@@ -143,13 +142,6 @@ export default class Produce extends Command {
|
|
|
143
142
|
const yolkRenew = flags.yolk;
|
|
144
143
|
const { nointeractive } = flags;
|
|
145
144
|
const { noicon } = flags;
|
|
146
|
-
const { sidecar } = flags;
|
|
147
|
-
if (sidecar !== undefined) {
|
|
148
|
-
if (!fs.existsSync(sidecar)) {
|
|
149
|
-
Utils.warning('sidecar: ' + chalk.white(sidecar) + ' not found!');
|
|
150
|
-
process.exit();
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
145
|
// if clone or cryptedclone unsecure = true
|
|
154
146
|
const unsecure = flags.unsecure || clone || cryptedclone;
|
|
155
147
|
/**
|
|
@@ -196,7 +188,7 @@ export default class Produce extends Command {
|
|
|
196
188
|
const ovary = new Ovary();
|
|
197
189
|
Utils.warning('Produce an egg...');
|
|
198
190
|
if (await ovary.fertilization(prefix, basename, theme, compression, !nointeractive)) {
|
|
199
|
-
await ovary.produce(clone, cryptedclone, scriptOnly, yolkRenew, release, myAddons, myLinks, excludes, nointeractive, noicon, unsecure,
|
|
191
|
+
await ovary.produce(clone, cryptedclone, scriptOnly, yolkRenew, release, myAddons, myLinks, excludes, nointeractive, noicon, unsecure, verbose);
|
|
200
192
|
ovary.finished(scriptOnly);
|
|
201
193
|
}
|
|
202
194
|
}
|
|
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.18</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.18-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.18
|
|
34
34
|
$ eggs --help [COMMAND]
|
|
35
35
|
|
|
36
36
|
USAGE
|
|
@@ -382,8 +382,7 @@ 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] [-y]
|
|
387
386
|
|
|
388
387
|
FLAGS
|
|
389
388
|
-C, --cryptedclone crypted clone
|
|
@@ -404,7 +403,6 @@ FLAGS
|
|
|
404
403
|
--excludes=<value>... use: static, homes, home
|
|
405
404
|
--links=<value>... desktop links
|
|
406
405
|
--release release: remove penguins-eggs, calamares and dependencies after installation
|
|
407
|
-
--sidecar=<value> add a sidecar folder on your ISO with arbitrary contents
|
|
408
406
|
--theme=<value> theme for livecd, calamares branding and partitions
|
|
409
407
|
|
|
410
408
|
DESCRIPTION
|
package/package.json
CHANGED
package/scripts/_eggs
CHANGED
|
@@ -319,11 +319,11 @@ _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]" \
|
|
326
325
|
"(-v --verbose)"{-v,--verbose}"[verbose]" \
|
|
326
|
+
"(-U --udf)"{-U,--udf}"[use UDF format on ISO with genisoimage breacking 4.7 G limit]" \
|
|
327
327
|
"(-y --yolk)"{-y,--yolk}"[force yolk renew]" \
|
|
328
328
|
--help"[Show help for command]" \
|
|
329
329
|
"*: :_files" ;;
|
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 --udf --yolk
|
|
27
27
|
status --help --verbose
|
|
28
28
|
syncfrom --delete --file --help --rootdir --verbose
|
|
29
29
|
syncto --excludes --file --help --verbose
|