Mise à jour vers la dernière version mineure (ici 5.22.0 vers 5.22.4)
Script upgrade-perl
$ perlbrew upgrade-perl
Upgrading perl-5.22.0 to 5.22.4
Fetching perl 5.22.4 as /home/starman/perl5/perlbrew/dists/perl-5.22.4.tar.bz2
Download http://www.cpan.org/src/5.0/perl-5.22.4.tar.bz2 to /home/starman/perl5/perlbrew/dists/perl-5.22.4.tar.bz2
Installing /home/starman/perl5/perlbrew/build/perl-5.22.4 into ~/perl5/perlbrew/perls/perl-5.22.0
This could take a while. You can run the following command on another shell to track the status:
tail -f ~/perl5/perlbrew/build.perl-5.22.4.log
Vérification de la mise à jour
$ perlbrew list
* perl-5.22.0 (5.22.4)
Utilisation d'une version particulière
De manière permanente
$ perlbrew switch perl-5.16.3
Uniquement dans le shell courant
$ perlbrew use perl-5.16.3
Tester un script sur toutes les versions de perl disponibles
$ perlbrew exec perl monscript.pl
Accéder à l'aide
$ perlbrew help
Utilisation dans un script bash
Pour utiliser perlbrew dans un script, il faut definir PERLBREW_ROOT et PERLBREW_HOME avant de charger l'environnement bashrc.
#!/bin/bash
## Variables d'environnement requises
export PERLBREW_ROOT=/opt/perlbrew
export PERLBREW_HOME=/tmp/.perlbrew
source ${PERLBREW_ROOT}/etc/bashrc
## Utilisation de la version 5.14.1
perlbrew use 5.14.1
perl /app/mon-application
## Utilisation de la version 5.12.3
perlbrew use 5.12.3
perl /app/mon-application
Gestion des modules CPAN
Installation d'un client CPAN
Pour installer des modules CPAN additionnels, on utilisera cpanm, une alternative à cpan offrant une meilleure compatibilité avec perlbrew.
La méthode habituelle d'installation (cpan -i App::cpanminus) installe bien cpanm, mais uniquement dans l'environnement perlbrew utilisé. Dans ce cas, si on en change, plus de cpanm ('cpanm is not found'...).
Afin d'éviter ce désagrément, Perlbrew fournit un script pour installer cpanm sous ~/perl5/perlbrew/bin, il sera ainsi disponible quelque soit la version de Perl utilisée.
$ perlbrew install-cpanm
Installation du module List::Util
$ cpanm List::Util
Lister les modules installés
$ perlbrew list-modules
Mettre à jour les modules installés
$ perlbrew list-modules | perlbrew exec cpanm
Migrer les modules installés dans la version courante vers une autre (ici 5.16.3).
Dans cet exemple, on va créer une simple application web avec Dancer2.
Pour le déploiement, on se basera sur starman pour la gestion de l'application avec Nginx en frontal.
Installation de Dancer2
Préparation de l'environnement
Afin de sécuriser l'application, on fait tourner Starman (notre serveur d'application) sous une identité propre que nous appelerons starman.
La seule manière d'y accéder sera via l'utilisateur root.
# adduser --gecos "" --disabled-password starman
Brewing Perl
Afin de séparer la distribution Perl installée sur le système (system perl) de celle que l'on souhaite utiliser pour lancer notre application, nous utiliserons PerlBrew, un outil de gestion des versions de Perl.
Liste des versions Perl disponibles à l'installation :
# su - starman
$ perlbrew available
perl-5.23.3
perl-5.22.0
perl-5.20.3
perl-5.18.4
perl-5.16.3
perl-5.14.4
perl-5.12.5
perl-5.10.1
perl-5.8.9
perl-5.6.2
perl5.005_04
perl5.004_05
perl5.003_07
Installation de la dernière version stable (nombre pair) :
$ perlbrew install perl-5.22.0
Vérification de la version installée (deux méthodes) :
Lister les versions installées :
$ perlbrew list
perl-5.22.0
Lister les versions disponibles (remarquez le "i" devant la version installée) :
$ perlbrew available
perl-5.23.3
i perl-5.22.0
perl-5.20.3
perl-5.18.4
perl-5.16.3
perl-5.14.4
perl-5.12.5
perl-5.10.1
perl-5.8.9
perl-5.6.2
perl5.005_04
perl5.004_05
perl5.003_07
Installation des modules CPAN
Avant tout, on installe un client cpan. Pour cela, on utilise la commande PerlBrew permettant d'installer cpanminus.
$ perlbrew install-cpanm
Puis on installe les modules :
$ cpanm Dancer2 Starman Daemon::Control
Création de l'application
La méthode la plus rapide pour créer son application est d'utiliser la commande dancer2 qui met en place l'arborescence des répertoires et fichiers à partir d'un squelette standard :
$ dancer2 -a Xzz::Blog
Cette commande crée le répertoire Xzz-Blog ainsi qu'un ensemble de sous-répertoires et fichiers.
Notez le double : dans le nom qui demande à dancer2 de créer le module "Blog" dans la sous-arborescence "Xzz", ce qui permet de cloisonner différentes parties de l'application en ajoutant simplement d'autres modules (ex: Xzz::Admin, Xzz::Galerie, etc.)
Pour lancer l'application, exécuter la commande suivante :
$ plackup -R lib bin/app.psgi
Watching lib bin/lib bin/app.psgi for file updates.
HTTP::Server::PSGI: Accepting connections at http://0:5000/
L'application (vide) est dorénavant disponible à l'adresse http://AdresseServeur:5000. (Ctrl+C pour stopper)
Mise en place du service systemd Starman
Pour lancer automatiquement notre application, on crée le fichier /etc/systemd/system/starman.service avec le contenu ci-dessous :
:: Installer Sailfish X sur Sony Xperia X Compact (F5321) ::
Sony Xperia X Compact
Infos générales
Modèle F5321
Android 7.1.1
Numéro de build 34.3.A.0.252
Combinaisons utiles
Flash
Volume down
Fastboot
Volume up
Recovery mode
Volume down + Power key
Introduction
Afin de pouvoir flasher une rom alternative, il est nécessaire de déverrouiller le chargeur d'amorçage du périphérique.
Le processus est supporté par Sony dans le cadre de son programme Open Devices.
Dans le cas où votre téléphone ne serait pas "rootable" ou que vous ayez le moindre doute, les instructions pour vérifier votre modèle se trouvent sur le site Sony Developer World.
Android 7 Nougat
L'installation de Sailfish est supportée sur une image d'Android 6 ou 7, à partir du moment où le numéro de build est supérieur ou égal à 34.3.A.0.228.
Par contre, à la date d'écriture de ces lignes, elle n'est pas encore supportée sur Android 8, on va donc mettre à jour le système en dernière version d'Android Nougat 7 disponible.
Mise à jour du système Android existant
Le plus simple est d'utiliser le procédé OTA (On The Air) du système Android fourni par Sony.
Attention à ne pas mettre à jour le système en Android 8, restez sur la dernière version 7 disponible en noyau 3.10 (7.1.1).
Important : Vérifier que le numéro de build est au moins égal à 34.3.A.0.228 (dans Settings | About phone | Build number) avant de déverrouiller le chargeur d'amorçage
Important : Vérifier que le langage du système est bien configuré sur "English" avant de continuer
Eteindre le téléphone
Connecter le téléphone à votre ordinateur avec le câble USB
Démarrer le téléphone en mode fastboot (Volume Up), la led doit s'afficher en bleu et l'écran rester inactif
Ouvrir une ligne de commande et aller dans le sous-répertoire platform-tools du répertoire SDK Android
Vérifier que le périphérique fastboot est bien détecté :
# fastboot devices
XXXXXXXXXX fastboot
Déverrouiller le chargeur d'amorçage :
# fastboot -i 0x0fce oem unlock 0x<code de déverrouillage>
...
OKAY [ 0.678s]
finished. total time: 0.678s
Flasher AOSP
Si vous avez déjà votre système Android en version 8 ou tournant sur une rom alternative basée sur de l'Android < 6 ou sur un noyau > 3.10, ou tout simplement si vous voulez partir d'un "fresh install", il est nécessaire de reflasher le périphérique.
Redémarrer le téléphone en mode fastboot (Volume Up)
Ouvrir une ligne de commande en root dans le répertoire et lancer la commande ./flash.sh
# ./flash.sh
Detected Linux
Searching device to flash..
Found device with vendor id '0fce': [...] Sony Ericsson Mobile Communications AB Xperia Mini Pro Bootloader
Fastboot command: fastboot -i 0x0fce
Flashing boot partition..
target reported max download size of 536870912 bytes
sending 'boot' (10812 KB)...
[...]
finished. total time: 0.742s
target reported max download size of 536870912 bytes
erasing 'system'...
[...]
finished. total time: 63.648s
target reported max download size of 536870912 bytes
erasing 'userdata'...
[...]
finished. total time: 126.309s
Flashing oem partition..
target reported max download size of 536870912 bytes
sending 'oem' (221669 KB)...
[...]
finished. total time: 15.600s
Flashing completed.
Redémarrer le téléphone et configurer votre Sailfish :-)
Configurer Sailfish
Activer le mode Développeur et la connexion distante
Aller dans Réglages > Outils de développeur
Activer le Mode Développeur et la Connexion Distante
Définir un mot de passe et noter l'adresse ip
Se connecter en ssh à partir d'un ordinateur distant avec l'utilisateur 'nemo' et le mot de passe défini précédemment
Installation des mce-tools
$ devel-su ---> Entrer le mot de passe défini précédemment
# pkcon refresh
# pkcon install mce-tools
# exit
| First Header | Second Header | Third Header |
| :------------ | :-----------: | -------------------: |
| : Left align | : centered : | Right align : |
| First row | **Bold** | Very long data entry |
| Second row | Cell that spans across two columns ||
[Table caption, also works as a reference][section-mmd-tables-table1]
Critic
What
Syntax
{--a delete. --} a delete.
{-- remove --}
{++an add. ++}
{++ add++}
swap {~~from~>to~~}
{\~\~\from\~>to\~\~}
{==a highlight==}
{\=\=highlight\=\=}
Comment, which you can't see{>>What is it a test of?<<}.