Passa al contenuto principale

· 4 minuti di lettura
Piero Proietti
Deutsch English Español  Français Italiano Polska  Portuguese  Български  Русский  Українська  やまと  中国  فارسی 

xubuntu 22.04 è una LTS e ben si presta, per la sua leggerezza, ad essere rimasterizzata ed utilizzata per installazioni multiple, come ad esempio una scuola.

Vediamo i passi.

Poco da dire, ci si scarica la versione xubuntu-22.04 e la si installa con la normale procedura.

Una volta riavviata, si procede ad un aggiornamento totale, tramite:

apt update
apt full-upgrade

A questo punto si riavvia. Se si vuole una iso "più snella" si possono cancellare i kernel precedenti con sudo apt purge linux-image-5.0.15-x-generic dove al posto della x va messa la versione del kernel da rimuovere, rilevabile con un semplice ls /boot.

Fate attenzione naturalmente a non rimuovere il kernel in uso, ma sarete comumque avvisati dal sistema.

Potete dare, sempre per maggiore "pulizia" anche un sudo apt autoremove.

installazione di eggs

La nostra macchine è stata aggiornata e riavviata. Procediamo con l'installazione di eggs che potete scaricate sulla pagina penguins-eggs di sourceforge.

Una volta scaricato eggs, procediamo all'installazione:

sudo dpkg -i eggs_9.3.23_amd64.deb

Vi usciranno degli errori per dipendenze non soddisfatte, basterà dare in comando:

sudo apt install -f

OK, a questo punto eggs è installato

configurazione di eggs

eggs ha due helper: mom e dad.

eggs mom ci mostra tutti i comandi disponibili ed il link per sito, manuale e repository, mentre dad cura la configurazione.

eggs-mom

Si rimanda quindi al manuale, qua - in soldoni - date il comando:

sudo eggs dad -d

che vi configura eggs in modalità default.

produzione della iso

Per creare la iso, utilizziamo eggs produce senza alcun flag, riservandoci di creare la iso con l'opzione --max solo quando saremo sicuri del risultato finale. Questo ci darà un grosso guadagno di tempo.

sudo eggs produce --addons adapt

Ho utilizzato qui anche --addons adapt, questo addon crea semplicemente un link sul desktop per ridimensionare il monitor. E' utile e consigliato solo per iso che dovranno essere utilizzate su macchine virtuali.

eggs, poichè stiamo lavorando su una macchine con interfaccia grafica ci chiederà di installare calamares. Dato che vogliamo una iso installabile unattended possiamo anche evitare di installare calamares.

installazione

Ottenuta la iso ed installata su una chiavetta usb, magari utilizzando Ventoy, possiamo passare all'installazione.

Avviamo, quindi da chiavetta e selezioniamo la seconda riga del boot per interfaccia CLI.

boot cli

Come si può vedere ci siamo loggati automaticamente ed il sistema ci da le principali indicazioni: utente/password, password di root, indicazioni per l'installazione.

Passiamo senz'alto all'installazione, come detto la vogliamo unattended e, presumibilmente in italiano.

sudo eggs install --config it -n

Notate che se avessimo utilizzato:

sudo eggs install --unattended -n

la configurazione andrebbe su inglese/americano e, d'altra parte bisogna accontentare tutti!

Qualche minuto - forse uno o due - e l'installazione è finita. La macchina esegue autonomamente il reboot e si può accedere con l'user e la password indicati.

Normalmente user: artisan password: evolution, root password evolution.

L'host verrà denominato con lo stesso nome per tutte le installazioni e naturalmente questo è un problema in una rete. Per ovviare abbiamo la possibiltà di usare le opzioni --ip o --random che renderanno univoche le nostre installazioni.

installazione dei restanti computer con PXE

Avviamo la iso sulla macchina che fungerà da server PXE e diamo il comando:

sudo eggs cuckoo

A questo punto avviamo gli altri computer via PXE

boot cli

Il gioco è fatto!

Abbreviamo la corsa...

Questa mattina, allo scopo di scrivere questo articolo ho aggiornato sia la versione di ubuntu che quella di xubuntu, aggiungendo a quest'ultima i pacchetti per la lingua italiana.

Potete trovare entrambe le iso sulla pagina penguins-eggs.

· 2 minuti di lettura
Piero Proietti
Deutsch English Español  Français Italiano Polska  Portuguese  Български  Русский  Українська  やまと  中国  فارسی 

This is the second version of this experiment, the first - a year ago - was just named waydroid. It's a temptative to create a slim ISO to be used for develpment.

There is a motivation on the lacks of sddm in this system, unfortunately sddm bring dependencies from X11 almost in this version I'm using from Debian/bookworm.

That you get

  • waydroid
  • lineage-18.1-20230121-VANILLA-waydroid_x86_64 system.img (766 MB)
  • lineage-18.1-20230121-MAINLINE-waydroid_x86_64 vendor.img (165 MB)
  • vscode, node, git and necessary to develop
  • firmwares wifi cards (you can ask for more additions)

how to install

WARNING: the installer will completely erase your hard drive

The live is autologin, just look the instructions in console.

sudo eggs install --unattended

update

Actually I build the same image addind sddm and some others packages, so it's possible to use calamares for installation.

how to use

startplasma-wayland to get the GUI, click on waydroid to run it.

how to remaster

This system can be easily remastered with eggs:

sudo eggs produce --fast

You will get an iso of your system, without you user data.

sudo eggs produce --fast --clone

You will get an iso of your system, with you user data.

enjoy!

piero.proietti@gmail.com

download

eggs-of-debian-bookworm-warbler

dressing a warbler

This is how warbler is made, and how you can change it's definition on YAML.

dressing a colibri

I'm using eggs with wardrobe to take tracks of my way and consolidate it. This is my workstation: colibri, we can do that also for warbler.

warbler Photo by Biillyboy

· 2 minuti di lettura
Piero Proietti
Deutsch English Español  Français Italiano Polska  Portuguese  Български  Русский  Українська  やまと  中国  فارسی 

Download the last "naked" version of bookworm from sf

Start it, you will autologin in CLI.

sudo eggs install --unattended

Attention: will use all your hard disk /dev/sda

After a while, your system is installed: artisan/evolution root/evolution

sudo apt install openssh-server
ip a

Open the following pages:

from terminal

Connect to the VM, to have cut and copy:

ssh artisan@192.168.1.x

clone the repo

git clone https://github.com/adlocode/xfwm4
cd xfwm4
git checkout wayland

install development tools

sudo install cmake meson pkg-config

Install prerequisites

# NO sudo apt install libwlroots10

sudo apt install weston

sudo apt install libcairo*
sudo apt install libwnck-3*
sudo apt install libbsd*

sudo apt install \
libgtk-3-dev \
libwlroots-dev \
libwnck-3-0 \
libxfce4ui-2-0 \
libxfce4ui-2-dev \
libxfce4util-dev
libxfce4util-1.0 \
gir1.2-libxfce4util-1.0

apt install xwayland

compile and install

$ meson setup build
$ ninja -C build
$ sudo ninja -C build install

start

I tryed

weston

open a terminal and:

xfwm-wayland

with not so much success!!!

xfwm-wayland

Download image (about 800K)

I did an iso image of that experiment: egg-of-debian-bookworm-xfwm4

You can download it from sf

Note

You can now install this iso, the bug was correct.

· 3 minuti di lettura
Piero Proietti
Deutsch English Español  Français Italiano Polska  Portuguese  Български  Русский  Українська  やまと  中国  فارسی 

Sto valutando la possibilità di inserire una installazione OEM all'interno di krill per semplificare il processo di distribuzione di versioni verticali di Linux.

krill, semplice installer CLI si presta bene allo scopo ed ho già provveduto nella ultima versione e rimuovere e ripulire il codice per espitare la nuova caratteristica.

Al momento, una rimasterizzazione fatta con eggs, avviata da ISO presenta la seguente schermata di boot.

boot

Se andiamo a scegliere il menu CLI (Commond Line Interface), ci troviamo dentro al sistema come utente live ed abbiamo un breve motd che ci illustra le opzioni possibili:

motd

Quello che ho già fatto è permettere una configurazione custom configurabile attraverso un semplice file YAML.

La configurazione va - per adesso - posta nel repository penguins-wardrobe sotto la directory config. Questo in futuro potrà cambiare, ma al momento è necessario:

  • eseguire il fork della repositori penguins-wardrobe per il proprio utente, ad esempio: charlie;
  • clonare la repository: git clone https://github.com/charlie/penguins-wardrobe;
  • creare la propria configurazione in /config semplicemente copiando e modificando una configurazione esistente. Ad esempio: charlie.yaml;
  • creare una PR ed avvisarmi perchè sia accettata.

A questo punto, dando il comando:

sudo eggs install --custom charlie

La configurazione di charlie verrà automaticamente impostata su ogni macchina in installazione.

Per procedere ad una installazione OEM il passo dovrebbe essere relativamente breve, occorre però creare un programma che configuri la macchine al primo avvio e predisporre krill per l'installazione di quest'ultimo.

Abbiamo due scelte possibili: utilizzare calamares - ovviamente con una configurazione differente - oppure realizzare un software ad hoc.

Al momento propendo per la seconda ipotesi, anche se a prima vista potrebbe apparire ridondante, infatti sono spaventato dal dover gestire due set di configurazioni di calamares ognuna per ogni versione.

L'idea è quella di aggiungere un ulteriore animale marino alle specie presenti, quindi diciamo che andando verso seppia che verrebbe realizzato in base alla mia esperienza come una applicazione electron e - quindi - sempre nodejs, typescript e varie, con l'aggiunta però di una interfaccia grafica.

Scrivere seppia in questo modo dovrebbe permettere anche una semplice customizzazione a chi volesse realizzare delle versioni proprie.

Collaborazioni

Naturalmente chi può e vuole può offrire la propria collaborazione: serviranno grafici - io non sono per nulla esperto - ma anche persone che abbiano già esperienza con electron, incoraggiamenti, consigli e magari donazioni - la mia stazione di lavoro è ormai vecchiotta - naturalmente tutto sarà ben accetto.

Bene, adesso a caccia di seppie!

seppia

· 3 minuti di lettura
Piero Proietti
Deutsch English Español  Français Italiano Polska  Portuguese  Български  Русский  Українська  やまと  中国  فارسی 

eggs-and-cuckoos

Nella foto di David Viani, vediamo un codirosso (a destra) che nutre un “piccolo” cuculo (a sinistra), decisamente più grande del genitore adottivo.

Uno dei motivi per crearsi una propria versione di Linux può essere quello di utilizzarlo su numerose postazioni, all'interno di un Ente, di una azienda o di una scuola.

Sicuramente il metodo migliore per effettuare un gran numero di installazioni è quello di utilizzare un server PXE che avvii le macchine della rete e consenta una installazione più veloce del DVD o della chiavetta.

D'altra parte, La configurazione di un server PXE richiede tempo ed esperienza e non è sempre disponibile, l'immagine iso del sistema da installare si.

Ecco, in eggs abbiamo aggiunto un server PXE autoconfigurante che vi permette tranquillamente di installare contemporaneamente più macchine semplicemebte avviandole dalla rete.

Avvio del server PXE

Tutto quello che c'è da fare è avviare una live della distribuzione rimasterizzata con eggs, aprire una finestra di terminale ed avviare il comando: sudo eggs cuckoo. A questo punto la macchina si comporterà da server di boot per la nostra rete locale e noi potremo avviare altri computer utilizzando la rete locale stessa.

eggs-and-cuckoos

Avvio delle macchine da installare

Bisognerà entrare necessariamente nella configurazione BIOS del sistema ed abilitare il boot dalla scheda di rete, nomarlmente dovrete abilitare PXE sulla scheda di rete e controllare le priorità di avvio.

A questo punto, avviate la vostra macchina selezionando il boot da rete:

eggs-and-cuckoos

Selezionando la prima opzione, verrà caricato il sistema operativo contenuto nella immagine, nel nostro caso una versione di MX Linux21.x rimasterizzata con eggs.

eggs-and-cuckoos

Non resta altro che effettuare l'installazione potremo scegliere sia calamares

eggs-and-cuckoos

che l'installazione con krill: sudo eggs install --unattended

eggs-and-cuckoos

Per l'installazione unattended sono disponibili alcuni flag:

ommand-line system installer - the egg became a penguin!

USAGE
$ eggs install [-u] [-i] [-r] [-d <value>] [-S] [-s] [-n] [-k] [-p]
[-h] [-v]

FLAGS
-S, --suspend Swap suspend: RAM x 2
-d, --domain=<value> Domain name, defult: .local
-h, --help Show CLI help.
-i, --ip hostname as ip, eg: ip-192-168-1-33
-k, --crypted Crypted CLI installation
-n, --none Swap none: 256M
-p, --pve Proxmox VE install
-r, --random Add random to hostname, eg: colibri-ay412dt
-s, --small Swap small: RAM
-u, --unattended Unattended installation
-v, --verbose Verbose

DESCRIPTION
command-line system installer - the egg became a penguin!

EXAMPLES
$ eggs install
Install the system using krill installer

che consentono facilmente installazioni multiple.

Commenti: Facebook group. Telegram, Github issue

· Lettura di 1 minuto
Piero Proietti
Deutsch English Español  Français Italiano Polska  Portuguese  Български  Русский  Українська  やまと  中国  فارسی 

The move to eggs 9.3.x was mainly characterized by the introduction and improvement of the cuckoo command to get a PXE server directly from our live. While previously I used dnsmasq to get services proxy-dhcpd and dhcpd, actually thanks to FOGProject/node-dhcproxy we use just node and only a proxy-dhcpd service.

Having found that due to a grub problem, the field next from the dhcp offer of the proxy-dhcpd server was not read, we switched to using the more versatile ipxe as a network bootloader.

So it is no longer necessary to have an option for a real dhcpd service in the cuckoo command and we do not risk overlapping the network dhcpd.

Another novelty is the introduction of the command: eggs tools ppa which adds or removes the penguins-eggs-ppa repository to our apt sources list. Example:

sudo eggs tools ppa --add

Original edition of the eggs manual is released in Italian, of course other languages can be accessed using machine translation.

eggs-linuxfs-installed-via-pxe

· Lettura di 1 minuto
Piero Proietti
Deutsch English Español  Français Italiano Polska  Portuguese  Български  Русский  Українська  やまと  中国  فارسی 

community-choice

Hi Piero Proietti,

Congratulations! Penguins' eggs has just been recognized with a Community Choice award by SourceForge. This honor is awarded only to select projects that have reached significant milestones in terms of downloads and user engagement from the SourceForge community.

This is a big achievement, as your project has qualified for this award out of over 500,000 open source projects on SourceForge. SourceForge sees nearly 30 million users per month looking for, and developing, open source software. This award badge will now appear on your project page, and the award assets can be found in your project admin section.

To recognize Penguins' eggs achievement, we’ve awarded you with the Community Choice award, which you can see below:

<!-- Begin SF Tag -->
<div class="sf-root" data-id="2912322" data-badge="oss-community-choice-white" data-metadata="achievement=oss-community-choice" style="width:125px">
<a href="https://sourceforge.net/projects/penguins-eggs/" target="_blank">Penguin's eggs</a>
</div>
<script>(function () {var sc=document.createElement('script');sc.async=true;sc.src='https://b.sf-syn.com/badge_js?sf_id=2912322';var p=document.getElementsByTagName('script')[0];p.parentNode.insertBefore(sc, p);})();
</script>
<!-- End SF Tag -->

· 4 minuti di lettura
Piero Proietti
Deutsch English Español  Français Italiano Polska  Portuguese  Български  Русский  Українська  やまと  中国  فارسی 

Continuando la nostra metafora abbiamo ormai quattro specie presenti:

  • duck
  • colibri
  • owl
  • eagle

Tutte le specie sono ottenibili da differenti distribuzioni Linux: Debian, Devuan ed Ubuntu. Inoltre, ad esempio per Debian è possibile ottenere un colibri sia da una versione bullseye che dalla versione bookworm, in Ubuntu sia da focal che da jammy e così via.

Si fa presto, quindi ad avere una grande quantità di specie.

Avere le nostre specie sia in formato iso live installabili con calamares che in formato script ci permette di poterle diversificare ulteriormene o prenderne spunto per aggiungere altre configurazioni.

Ad esempio, con queste specie ho esplorato abbastanza il mondo cinnamon ed xfce4, trascurando però gli altri: KDE, gnome3, mate, LXQT, etc.

D'altra parte, mentre tutto sommato mi è stato possibile scrivere un software per la rimasterizzazione comune a più versioni o, almeno ho acquisito le necessarie esperienze, lo stesso non può dirsi per tutte le differenti customizzazioni possibili: kde, gnome, cinnamon, xfce, per il desktop manager, X11 e wayland per il compositore, grafica, office, giochi, lato serve e quant'altro.

Diciamo quindi che ho esplorato le possibilità nei rami che conosco e sono abbastanza sicuro che colibri - che ha lo scopo di sviluppare eggs - sia perfettamente funzionale, mentre per duck ed owl rispettivamente per un uso generico e per la grafica, pur avendo adottanto delle selezioni di software ragionevoli, beh dovrei essere un utilizzatore generico o un grafico per poter rispondere in maniera affermativa.

D'altra parte, poter accedere e modificare deile customizzazioni esistenti in luogo di dover completamente reinventare la ruota ha comunque i suoi vantaggi: in primo luogo abbamo già qualcosa funzionante e degli esempi che possiamo seguire e/o modificare, inoltre abbiamo un percorso che ci permette di "cucire" costumi diversi utilizzando quelli che più si adattano alle nostre necessità, che possono essere le più svariate.

Sarebbe carino realizzare una specie "giocosa", altri gradirebbero una interfaccia KDE magari configurata con un aspetto simile a mac e via dicendo.

Quello che posso ed ho potuto fare è fornire uno strumento per facilitare questo, una sorta di "remastering on rail", per il resto mi manca sia il tempo che la pazienza che creare ulteriori specie.

Questo può essere quindi il vostro compito, oltre che riportare le eventiali difficoltà d'uso, i bug e via dicendo.

Eggs è rimasto uno strumento a riga di comando per uno scopo preciso, permettere la creazione o la 'ri-creazione' di sistemi CLI ovvero senza interfaccia grafica.

Sinora ho trascurato molto la sezione server, anche perchè non essendo più al lavoro non ne ho una vera necessità. Vero poi che attuamelmente esistono tante customizzazioni installabili semplicemente con docker, ma d'altra parte anche configurarsi in toto il proprio server, non necessariamente virtuale potrebbe avere i suoi vantaggi.

Anche qua però vale lo stesso discorso: è possibile fare di tutto dalla macchina per sviluppare sulla blockchain, al semplice server samba, ad una installazione XAMPP, etc ma - il motore di questo - è la necessità.

Quindi e vorrei concludere, eggs rende possibile la rimasterizzazione di ben tre diverse tipologie di distribuzione Linux e comprende uno scripting per creare, conservare e consolidare le proprie customizzazioni.

Come dimostrato per manjaro eggs può essere esteso anche su altre distribuzioni non necessariamente di derivazione Debian e difatti, tempo fa con la collaborazione di Stefano Capitali, lo abbiamo portato eggs su manjaro.

In aggiunta, resta tutta da esplorare la possibilità di utilizzare eggs su architettura ARM: sia armel che arm64, mentre - mio malgrado - non possiamo sperare in future versioni per i386 visto che node dalla versione 10 in poi non supporta più tale architettura.

Che dire?

Esplorate nelle aree di vostra pertinenza, quelle che conoscete meglio ad esempio molti customizzatori amano Mate, altri sono appassionati di ingegneria, che di grafica, di fotografia, etc.

Teniamoci in contatto.

Mi farebbe molto piacere assistere alla nascita di ulteriori costumizzazioni, sia lato server che lato desktop e d'altra parte avere una ragionevole comunità di utenti sarebbe sia un grosso stimolo che un importante canale di suggerimenti e feedback, non trascurando naturalmente l'amicizia.

Buon viaggio dal parco degli uccelli!