eggs update -i

A few days ago, I was thinking about a way to solve the problem of updating eggs in case it is installed as a deb package, the mode that seems to be the most used.

For this purpose I created a small microservice on the site https://penguins-eggs.net/versions

which returns the outgoing versions of eggs, and the changelog of the given version.

Although with some difficulties, these days I haven’t had much time to dedicate to eggs, I am pleased to announce that since version 7.6.59 the automatic update of eggs is available.

Just give the command:

sudo eggs update -i

Probably there will still be some changes, I would like to create two channels one stable and one experimental.

Note: To use this function, You must have wget installed.

Update

Stay tuned
contact me

Ubuntu groovy gorilla

I updated the manual today - only in italian and english, brasilian automatic and revised translation - and tried for the first time eggs with Ubuntu groovy gorilla. It seems to be going apart from a little problem with the calamares displaymanager module that at the moment I simply removed. (It only serves to manage the possible autologin).

I tested the day realease on a UEFI machine, both iso production and install the system.

groovy-gorilla-install

Is there anybody out there?
contact me

A new idea

I have a new idea for eggs.

Eggs of course is not a package that is part of a distribution, moreover it is still relatively young. Waiting for it to end up in a repository would be long - not so much in truth - is present in the repository of ufficiozero.org, why not think about an autoupdate through this site?

It would be enough to provide the package with the list of versions, the text of the changelog to allow the user to decide and the download url.

It shouldn’t be too difficult, nodejs is used for this purpose.

The idea, therefore, is to create a microservice that queries, provides:

  • version
  • changelog
  • url

Does anyone want to cooperate? Any suggestions?
contact me

That will be the future

Lately, before releasing version 7.6.47-1, I had a strong but constructive discussion with one of my users. I noticed that they tend not to trust software in general and eggs in particular, due to the numerous versions and the lack of knowledge of its mysteries.

The main reason is the lack of understanding of what happens behind the scenes. I decided, therefore, to rewrite more clearly what happens during the installation and removal of prerequisites. It is, in fact, nothing magical, but only a series of apt install or apt remove, the various software that serve as eggs for its operation.

I still have some problems, but you will see in detail the operations performed.

sterilize

updates

Not always I have time to update this site, but the last versions, expecially 7.48.1 are well tested and working, so I think it’s better to present them.

EGGS-7.47.1_.DEB

added a beutifull new theme for ufficiozero thanx to Julian Del Vecchio.

EGGS-7.46.1_.DEB

changed flags in produce and calamares. just added flag –final to make the final version of your project: all the packages relative to the “reproduction” will be removed during the installation with the gui installer;
module packages in calamares now work in accord with the flag –final, if present will build the remove section in packages.conf (you can check this file in /etc/calamares/modules) if not, only section try-install will be build. This section is ideal for international packages, languages, etc.

EGGS-7.44.1_.DEB

buxfix: there was a little problem with links in the previus version.

EGGS-7.43.1_.DEB

improvement: patch per bionic in calamares module grubcf, added check plymouth from successive version of calamares (in bionic calamares is quite old and not mantained);
improvment: actually is possible to use directly produce after the installation, eggs will propose the necessary operations to install prerequisites, calamares and so on;
bugfix: the previous version I put distro.versionId as productName in calamares, but due the fact who was used ad EFI name too, Debian refuse to boot. So I changed in branding.ts the line bootloaderEntryName=productName to bootloaderEntryName = distro.distroId.

An important release...

Same days ago I released eggs-7.6.39_1.deb

I resolved a lot of bugs, from the previos release 7.6.34.

This is an important version, in which a lot of work is completed, the reasons are the following:

Just finished the rewriting work. Well now we have officially Debian buster, Devual beowulf, Ubuntu focal and Ubuntu bionic fully supported, both for standard BIOS installation and UEFI installation, both on i386 and amd64 architecture.

Of course it follows that other derived distros can also be easily remastered: Linux Mint 20.20, Linux Mint 19.3, etc.

I also tried Deepin 20, which works perfectly, but only on standard BIOS machines

Deepin

UfficioZero adopt eggs

ZERO OFFICE

UfficioZero is in the process of adopting Penguin’s eggs as a tool for creating its own Debian and Devuan-based systems.

We are very proud with UfficioZero’s staff of the new collaboration that will allow us both to grow, and is also the first time that eggs will be included in an official repository.

This is a short presentation of UfficioZero Linux, but I recommend you to follow their site.

UfficioZero Linux is an open source operating system designed by SIITE SRLS, which has acquired the historical domain and provides various virtual servers to host web services, mail services, repositories and sharing servers for the development team.

The project is aimed at freelancers, professionals, private and state agencies who want to use a free, useful and easy to understand tool.

Currently Office Zero Linux comes in three versions:

  • Ufficio Zero Linux codename Roma 2.0.1 for pc with 32bit processor, based on Devuan 3 Beowulf and with desktop manager Xfce
  • Office Zero Linux codename Mantova 2.0.1 for pc with 64bit processors, based on PCLinuxOS and with desktop manager Mate
  • Office Zero Linux codename Vieste 2.0.1 for pc with 64bit processor, based on Linux Mint 19.3 and with desktop manager Mate

Penguin's eggs guide in different languages

install-deb

Yes, are five days I don’t realease new versions of the tool!

But there is a reason or, better, three:

install-deb

#documentation

Well, the big moment has come!

Eggs compatible with Debian 10, Ubuntu 20.20, Ubuntu 18.04, Linux Mint 20 and Linux Mint 19.3

At the beginning of June, after a Brazilian magazine sempreUpdate reviewed eggs, I had pleasure but also a bit of fear. The article suggested to use eggs both to make your own Linux version on modern comuters and to run old pc (i386). So in order to try to satisfy the intentions and the users, I set to work to make eggs usable again on i386. So now eggs allows you to remaster your system to 32 or 64 bits and, not only that, you can use the graphical installer calamares both for Debian Buster and on all the following distributions and derivatives:

  • Debian 10 Buster (i386/amd64 both uefi and bios)
  • Linuxmint 20 ulyana (amd64 bios only)
  • Ubuntu 20.04 Focal (amd64 bios only)
  • Linuxmint 19.3 tricia (i386/amd64 bios only)
  • Ubuntu 18.4 bionic (i386/amd64 bios only)

Read more on our forum: English, Italiano, Português, Español.

incubator

installare un forum

nodebb

Ho scelto di installare nodebb come motore per il forum del sito. La ragione della scelta è stata soprattutto l’eventuale possibilità di integrazione con il blog che è sempre basato su nodejs.

I prequisiti sono ovviamente nodejs, mongo come database ed un proxy nginx o apache2.

mongodb

Per prima cosa ho dovuto installare mongodb, il database che sta dietro la maggioranza dei siti realizzati con nodejs, un po’ come mysql è dietro lampp. Magari sarebbe il caso di creare qualche altro acronimo!

1
2
3
4
5
6
apt-get install gnupg -y
sudo su
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | apt-key add -
echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
apt-get update -y
apt-get install mongodb-org -y

Andiamo ad avviare mongod

1
2
systemctl start mongod
systemctl enable mongod

Ok, controlliamo la versione

1
mongod --version

Siamo pronti per configurare il nostro database:

1
2
3
4
5
6
$ mongo
> use admin
> db.createUser( { user: "admin", pwd: "password", roles: [ { role: "root", db: "admin" } ] } )
> use nodebb
> db.createUser( { user: "nodebb", pwd: "password", roles: [ { role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" } ] } )
> exit

A questo punto abilitiamo la sicurezza, andando a modificare il file di configurazione /etc/mongod.conf, al quale aggiungiamo le seguenti righe:

1
2
security:
authorization: enabled

Riavviamo il database

1
sudo systemctl restart mongod

Adesso, ci possiamo connettere a mongo con la nostra password:

1
mongo -u admin -p password --authenticationDatabase=admin

A questo punfo abbiamo mongo funzionante possiamo, quindi, passare all’installazione del forum.

nodebb

Per prima cosa scarichiamo da git la repository:

1
git clone -b v1.13.x https://github.com/NodeBB/NodeBB.git nodebb

Quindi, andiamo a configurare nodebb

1
2
cd nodebb
./nodebb setup

ci verranno chieste una serie di informazioni, io ho scelto come url:

1
http:/127.0.0.1:4567/forum/

così da poter redirigere il traffico su:

1
https://penguins-eggs.net/forum/

apache2

Come proxy per i due prodotti nodejs ho utilizzato apache2, con questa configurazione:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<VirtualHost *:80>
ServerName penguins-eggs.net
ServerAlias penguins-eggs.net
ServerAdmin piero.proietti@gmail.com

# Rewrite any http traffic to the main url https site
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^[^\/]*\/(.*) https://penguins-eggs.net/$1 [R=301,L]
</IfModule>
</VirtualHost>


<VirtualHost *:443>
Protocols h2 http/1.1
ServerName penguins-eggs.net

SSLEngine on
# This directory contains your keys and certificates.

# `privkey.pem` : the private key for your certificate.
# `fullchain.pem`: the certificate file used in most server software.
# `chain.pem` : used for OCSP stapling in Nginx >=1.3.7.
#`cert.pem` : will break many server configurations, and should not be used
# without reading further documentation (see link below).


SSLCertificateFile /etc/letsencrypt/live/penguins-eggs.net/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/penguins-eggs.net/privkey.pem

# certificati fatti a mano
#SSLCertificateFile /etc/ssl/certs/penguins-eggs-certificate.crt
#SSLCertificateKeyFile /etc/ssl/private/penguins-eggs.key

# Basic security headers
Header always set X-Content-Type-Options "nosniff"
Header always set X-Xss-Protection "1; mode=block"

# NodeBB header
RequestHeader set X-Forwarded-Proto "https"

# Static file cache
<FilesMatch "\.(ico|jpg|jpeg|png|gif|js|css)$">
<IfModule mod_expires.c>
ExpiresActive on
ExpiresDefault "access plus 14 days"
Header set Cache-Control "public"
</IfModule>
</FilesMatch>

ProxyRequests off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>

# Custom Error Document when NodeBB is offline
ProxyPass /error-documents !
ErrorDocument 503 /error-documents/503.html
Alias /error-documents /path/to/nodebb/public

# Websocket passthrough
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/socket.io [NC]
RewriteCond %{QUERY_STRING} transport=websocket [NC]
RewriteRule /(.*) ws://localhost:4567/$1 [P,L]

# forum
ProxyPass /forum/ http://127.0.0.1:4567/forum/
ProxyPassReverse /forum/ http://127.0.0.1:4567/forum/

# blog
ProxyPass / http://127.0.0.1:4000/
ProxyPassReverse / http://127.0.0.1:4000/

# Log stuff
ErrorLog ${APACHE_LOG_DIR}/blog_error.log
CustomLog ${APACHE_LOG_DIR}/blog_access.log combined

</VirtualHost>

Il risultato si può vedere in https://penguins-eggs.net/forum/ .

Se volete potete registrarvi qui, vediamo insieme che si può fare!