OpenMediaVault (OMV) sur Raspberry pi B3+

On en a parlé plusieurs fois, alors je (Daniel) me suis décidé (pour occuper un temps de confinement) à l'installer pour un usage NAS interne qui puisse aussi être utilisé par Kodi sur un autre raspeberry. Chez moi Yunohost est avant tout destiné à l'usage externe comme un wiki et la diffusion de photos.

Ceci est un compte rendu qui me sert de notes. Quand tout va bien ça prend un peu plus d'une heure, mais vaut mieux lire un peu de doc en parallèle ou mieux avant (au besoin c'est là https://openmediavault.readthedocs.io/en/5.x/). J'ai gardé la version anglaise car la doc est en anglais, mais ensuite on peut changer la langue à la connexion ou dans le logiciel.

Mise à jour le 3-10-2021

Installation du serveur rpi

C'est du classique mais je me suis basé sur https://blog.crankshafttech.com/2020/01/setup-openmediavault-with-syncthing.html

Depuis le PC (pour moi sous linux)

* copier debian buster lite sur la carte SD avec rpi imager (j'ai mis la version 32 bits de base avec bureau) bien que j'ai un rpi4, le gain est USB3 et le réseau plus que le 64 bits
* démarrer le rpi (j'ai utilisé un écran et un clavier pour voir ce qui se passait)
* faire les configs et mises à jour habituelles (penser à ssh), j'ai mis voute comme nom d'hôte, mon IP réservée est 192.162.0.136
* redémarrer
* installer openmediavault

wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash

* patience * c'est la phase la plus longue mais il suffit d'attendre, on redémarre avec sudo reboot après avoir branché le disque externe qui contient 2 partitions et on vérifie avec lsblk que les 2 partitions sont bien là sda1 et sda2 on les voit pour le moment sur le bureau

On va maintenant continuer avec l'admin web en se connectant sur 192.162.0.136, avec admin et mot de passe openmediavault

* changer le mot de \passe * mettre le nom de l'hôte voute (celui mis dans le rpi) * Disques : on doit voir /dev/\sda * systèmes de fichier j'ai dû démonter puis remonter /dev/sda1 et /dev/sda2 (ils disparaissent du bureau et apparaissent dans /etc/fstab) * utilisateur \dp * créations des dossiers partagés et donner privilèges et \ACL * configurer SMB avec \partages * tout vé\rifier * faire copie de la carte SD comme bup

Ancien

Les disques et le partage

# montage fixe des disques sur KODI et NAS

UUID=5e9170a4-5436-4dde-a480-8b1b4ef2d7a7 /NAS ext4 defaults, noatime 0 1

UUID=5a97bece-92a7-4a76-8b89-965f4ac66c51 /KODI ext4 defaults, noatime 0 1= Les 2 disques utilisés dans cette note sont identiques (j'envisage RAID pour + tard), l'un s'appelle KODI et l'autre NAS, chacun contient un dossier à partager du même nom. Pour commencer j'ai regroupé dans ces dossiers KODI et NAS tout ce qui doit être partagé

Pour m'y retrouver dans un premier temps je vais \donc * avoir dans chaque disque un “file system” dont je garde le nom KODI ou NAS. Chaque partition est vue dans OMV comme un \filesystem * dans chacun de ces filesystem je vais déclarer un shared folder (qui est un dossier dans la partition) du même nom, ainsi ce dossier sera pour moi l'image de la \partition * ensuite il faudra pour smb établir l'usage de ces shared folderspour les différents udagers

Il est bon de penser à l'avance aux partages que l'on veut faire, en effet on peut déclarer comme shared folder n'inporte quel dossier d'un file system. Si l'on a plusieurs partitions sur le disque on aura plusieurs filesystems. Puis dans chaque filesystem on peut déclarer un ou plusieurs shared folder. Un filesystem (partition) contient de manière récursive des sharedforders (dossiers).

Ainsi par exemple je peux faire un shared folder KODI dans le filesystem KODI et dedans faire shared folders KODI pour tout et un autre metopera qui est contenu dedans. Ainsi on peut y définir des droits différents pour des utilisateurs différents. Et bien sûr on peut utiliser n'importe quel nom pour les shared file et shared folder(dans la mesure oû on s'y retrouve !)

Configuration d'openmediavault

On se connecte par le fureteur du PC (pour moi firefox) sur l'adresse IP du réseau interne que l'on vient de relever, à partir de maintenant tout va se faire dans l'interface graphique via le fureteur en suivant calmement pas à pas https://pimylifeup.com/raspberry-pi-openmediavault/.

Si on suit la logique (sans sauter d’étape et avec une confirmation à chaque fois) tout se passe \bien * s'assurer que le file system est bien monté (j'ai eu des problèmes et ai du parfois le démonter et remonter) * créer le shared \folder * Créer les utilisateurs et leurs \droits * activer \smb * partager le partage de fichier

attention attendre la confirmation de chaque commande en jaune pour l'appliquer, ça vaut pour quasiment toutes les fonctions et ça peut prendre 10 sec ou plus, sinon on se perd car des commits ne se font pas et on tombe sur des erreurs que j'avais du mal à comprendre….

Dans mon cas pour omission de confirmation ça c'est terminé par une réinstallation complète…

General settings * changer mot de passe (j'ai mis le même que pour le rpi au besoin je changerai + tard, histoire de ne pas me perdre dans les mots de passe) * ajuster l'heure (date and time) * hostname : j'ai eu plusieurs refus de changement et de manières différentes, par exemple j'avais appelé le rpi “communs” avec raspi-config lors de la création de la carte, OMV me propose alors raspberrycommuns et ensuite je butte sur la longueur du nom (trop long) puis sur un très long message que je ne suis pas capable d'utiliser. Conseil pour les néophytes pour qui le hostname est un peu obscur ne pas y toucher car j'ai dû recommencer ayant fini par perdre le contact avec mon raspberry. J'ai donc gardé la proposition par défaut sans avoir changé le hostname par défaut à l'installation du rpi ni dans OMV.

Storage * parfait il voit mes disques comme sda et sdb (le troisième c'est la carte SD du rpi) * file system : il voit mes partitions sda1 et sdb1 en ext4, je les démonte et les monte (penser à attendre la confirmation du montage), pour le moment il n'est pas référencé car il n'y a pas encore de shared folder. Un file system correspond à une partition existante sur le disque, je pense qu'il faut qu'elles existent au préalable, les créer consiste à les trouver on peut alors les monter et les démonter. * Shared folders : j'en crée un pour chaque partition dans les file system. Vérification maintenant le filesystem est alors référencé

* Enabling SAMBA/CIFS avec guest allowed

Services * On active le service \smb

*

Disque montage permanent

Sur le rpi j'ai créé les points de montage KODI et NAS (j'ai utilisé le même nom pour m'y retrouver après avoir perdu du temps avec les mauvais choix de noms et les conflits : conseil y aller proprement en planifiant un peu)

\
pi@raspberrypi:~ $ cd /\
pi@raspberrypi:/ $ sudo mkdir KODI\
pi@raspberrypi:/ $ sudo mkdir NAS\
pi@raspberrypi:/ $ ls\
bin dev home lib media NAS proc run srv tmp var\
boot etc KODI lost+found mnt opt root sbin sys usr

Recherche du nom et du UUID

\
pi@raspberrypi:/ $ lsblk\
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT\
sda 8:0 0 3.7T 0 disk\
└─sda1 8:1 0 3.7T 0 part\
sdb 8:16 0 3.7T 0 disk\
└─sdb1 8:17 0 3.7T 0 part\
mmcblk0 179:0 0 29.8G 0 disk\
├─mmcblk0p1 179:1 0 256M 0 part /boot\
└─mmcblk0p2 179:2 0 29.6G 0 part /

On voit les 2 disques avec chacun une partition avec les labels KODI et NAS, mais ils ne sont pas encore montés. On recherche les UUID

\
pi@raspberrypi:/ $ sudo blkid | grep "/dev/sda"\
/dev/sda1: LABEL="NAS" UUID="5e9170a4-5436-4dde-a480-8b1b4ef2d7a7" TYPE="ext4" PARTLABEL="stock" PARTUUID="d65b51fc-d655-4fad-948e-203491c79e6b"\
pi@raspberrypi:/ $ sudo blkid | grep "/dev/sdb"\
/dev/sdb1: LABEL="KODI" UUID="5a97bece-92a7-4a76-8b89-965f4ac66c51" TYPE="ext4" PARTLABEL="Loisirs" PARTUUID="319498ba-1793-1544-aaba-980e5bfdc38e"

Modification de /etc/fstab avec nano

proc /proc proc defaults 0 0\
PARTUUID=6e01cafe-01 /boot vfat defaults 0 2\
PARTUUID=6e01cafe-02 / ext4 defaults,noatime 0 1\
# a swapfile is not a swap partition, no line here\
# use dphys-swapfile swap[on|off] for that
# montage fixe des disques sur KODI et NAS
UUID=5e9170a4-5436-4dde-a480-8b1b4ef2d7a7 /NAS ext4 defaults, noatime 0 1
UUID=5a97bece-92a7-4a76-8b89-965f4ac66c51 /KODI ext4 defaults, noatime 0 1

On reboote pour voir si le disques se montent bien

pi@raspberrypi:~ $ \lsblk NAME MAJ:MIN RM SIZE RO TYPE \MOUNTPOINT sda 8:0 0 3.7T 0 \disk └─sda1 8:1 0 3.7T 0 part /\NAS sdb 8:16 0 3.7T 0 \disk └─sdb1 8:17 0 3.7T 0 part /\KODI mmcblk0 179:0 0 29.8G 0 \disk ├─mmcblk0p1 179:1 0 256M 0 part /\boot └─mmcblk0p2 179:2 0 29.5G 0 part /

pi@raspberrypi:/ $ sudo \blkid /dev/mmcblk0p1: LABEL_FATBOOT=“boot” LABEL=“boot” UUID=“C839-E506” BLOCK_SIZE=“512” TYPE=“vfat” PARTUUID=“fc9518f5-01” /dev/mmcblk0p2: LABEL=“rootfs” UUID=“568caafd-bab1-46cb-921b-cd257b61f505” BLOCK_SIZE=“4096” TYPE=“ext4” PARTUUID=“fc9518f5-02” /dev/sda1: LABEL=“ESTO” UUID=“b1ee8be0-9cb3-415d-807a-d2e101fdb34d” BLOCK_SIZE=“4096” TYPE=“ext4” PARTLABEL=“PSTO” PARTUUID=“e08beeb1-b39c-5d41-807a-d2e101fdb34d” /dev/sda2: LABEL=“EOMV” UUID=“9e2398d1-68aa-4b50-bcae-931a4846a344” BLOCK_SIZE=“4096” TYPE=“ext4” PARTLABEL=“POMV” PARTUUID=“4e607e15-d3d5-4a25-b39b-476cf42eab40”

NAS - samba 24-07-2022

installation OS sur carte 32 go

OPERA-NAS

DC-A6-32-EF-6C-F5

192.168.0.242

mot de passe opera

compte pour samba : opera avec mot de passe opera

https://raspberry-pi.fr/raspberry-pi-nas-samba/

Le disque externe usb3 a été préparé sur mon PC

opera@opera-nas:/home/shares/public $ ls -l\
total 8\
drwxrwxr-x 16 root users 4096 Jul 23 22:41 V1\
drwxrwxr-x 10 root users 4096 Jan 31 01:13 V2

opera@opera-nas:/etc/samba $ \lsblk
NAME MAJ:MIN RM SIZE RO TYPE \MOUNTPOINT
sda 8:0 0 5.5T 0 \disk
├─sda1 8:1 0 3.5T 0 part /home/shares/public/\V1
└─sda2 8:2 0 1.9T 0 part /home/shares/public/\V2
mmcblk0 179:0 0 29.7G 0 \disk
├─mmcblk0p1 179:1 0 256M 0 part /\boot
└─mmcblk0p2 179:2 0 29.5G 0 part /

GNU nano 5.4 /etc/\fstab
proc /proc proc defaults 0 \0
PARTUUID=877979f3-01 /boot vfat defaults,flush 0 \2
PARTUUID=877979f3-02 / ext4 defaults,noatime 0 \1
# a swapfile is not a swap partition, no line \here
# use dphys-swapfile swap[on|off] for that
/dev/sda1 /home/shares/public/V1 auto noatime,nofail 0 \0
/dev/sda2 /home/shares/public/V2 auto noatime,nofail 0 0
[ Read 9 lines ]
^G Help ^O Write Out ^W Where Is ^K Cut ^T Execute ^C Location M-U \Undo
^X Exit ^R Read File ^ Replace ^U Paste ^J Justify ^_ Go To Line M-E Redo

#
# Sample configuration file for the Samba suite for Debian GNU/Linux.
#
#
# This is the main Samba configuration file. You should read \the
# smb.conf(5) manual page in order to understand the options \listed
# here. Samba has a huge number of configurable options most of \which
# are not shown in this \example
#
# Some options that are often worth tuning have been included \as
# commented-out examples in this file.
# - When such options are commented with ";", the proposed \setting
# differs from the default Samba \behaviour
# - When commented with "#", the proposed setting is the \default
# behaviour of Samba but the option is considered \important
# enough to be mentioned \here
#
# NOTE: Whenever you modify this file you should run the \command
# "testparm" to check that you have not made any basic \syntactic
# errors.
#======================= Global Settings =======================
[global]
## Browsing/Identification ###
# Change this to the workgroup/NT-domain name your Samba server will part \of
workgroup = WORKGROUP
#### Networking ####
# The specific set of interfaces / networks to bind \to
# This can be either the interface name or an IP address/netmask;
# interface names are normally \preferred
; interfaces = 127.0.0.0/8 eth0
# Only bind to the named interfaces and/or networks; you must use \the
# 'interfaces' option above to use this.
# It is recommended that you enable this feature if your Samba machine \is
# not protected by a firewall or is a firewall itself. However, \this
# option cannot handle dynamic or non-broadcast interfaces correctly.
; bind interfaces only = yes
#### Debugging/Accounting ####
# This tells Samba to use a separate log file for each \machine
# that \connects
log file = /var/log/samba/log.%m
# Cap the size of the individual log files (in KiB).
max log size = 1000
# We want Samba to only log to /var/log/samba/log.{smbd,nmbd}.
# Append syslog@1 if you want important messages to be sent to syslog too.
logging = file
# Do something sensible when Samba crashes: mail the admin a \backtrace
panic action = /usr/share/samba/panic-action %d
####### Authentication #######
security = \user
# Server role. Defines in which mode Samba will operate. \Possible
# values are "standalone server", "member server", "classic \primary
# domain controller", "classic backup domain controller", "\active
# directory domain controller".
#
# Most people will want "standalone server" or "member server".
# Running as "active directory domain controller" will require \first
# running "samba-tool domain provision" to wipe databases and create \a
# new domain.
server role = standalone server
obey pam restrictions = yes
# This boolean parameter controls whether Samba attempts to sync the \Unix
# password with the SMB password when the encrypted SMB password in \the
# passdb is changed.
unix password sync = yes
# For Unix password sync to work on a Debian GNU/Linux system, the \following
# parameters must be set (thanks to Ian Kahan <<kahan@informatik.tu-muenchen.de> \for
# sending the correct chat script for the passwd program in Debian Sarge).
passwd program = /usr/bin/passwd %\u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
# This boolean controls whether PAM will be used for password \changes
# when requested by an SMB client instead of the program listed \in
# 'passwd program'. The default is 'no'.
pam password change = yes
# This option controls how unsuccessful authentication attempts are \mapped
# to anonymous \connections
map to guest = bad user
########## Domains ###########
#
# The following settings only takes effect if 'server role = \classic
# primary domain controller', 'server role = classic backup domain controller'
# or 'domain logons' is \set
#
# It specifies the location of the user'\s
# profile directory from the client point of view) The \following
# required a [profiles] share to be setup on the samba server (\see
# below)
; logon path = %N\\profiles%\U
# Another common choice is storing the profile in the user's home \directory
# (this is Samba's default)
# logon path = %\N%U\profile
# The following setting only takes effect if 'domain logons' is \set
# It specifies the location of a user's home directory (from the \client
# point of view)
; logon drive = H:
# logon home = %\N%U
# The following setting only takes effect if 'domain logons' is \set
# It specifies the script to run during logon. The script must be \stored
# in the [netlogon] \share
# NOTE: Must be store in 'DOS' file format \convention
; logon script = logon.cmd
# This allows Unix users to be created on the domain controller via the \SAMR
# RPC pipe. The example command creates a user account with a disabled \Unix
# password; please adapt to your \needs
; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
# This allows machine accounts to be created on the domain controller via \the
# SAMR RPC pipe.
# The following assumes a "machines" group exists on the \system
; add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u
# This allows Unix groups to be created on the domain controller via the \SAMR
# RPC pipe.
; add group script = /usr/sbin/addgroup --force-badname %g
############ Misc ############
# Using the following line enables you to customise your \configuration
# on a per machine basis. The %m gets replaced with the netbios \name
# of the machine that is \connecting
; include = /home/samba/etc/smb.conf.%m
# Some defaults for winbind (make sure you're not using the \ranges
# for something else.)
; idmap config * : backend = \tdb
; idmap config * : range = 3000-\7999
; idmap config YOURDOMAINHERE : backend = \tdb
; idmap config YOURDOMAINHERE : range = 100000-\999999
; template shell = /bin/bash
# Setup usershare options to enable non-root users to share \folders
# with the net usershare command.
# Maximum number of usershare. 0 means that usershare is disabled.
# usershare max shares = 100
# Allow users who've been granted usershare privileges to \create
# public shares, not just authenticated \ones
usershare allow guests = yes
#======================= Share Definitions =======================
[homes]
comment = Home \Directories
browseable = no
# By default, the home directories are exported read-only. Change \the
# next parameter to 'no' if you want to be able to write to them.
read only = no
# File creation mask is set to 0700 for security reasons. If you want \to
# create files with group=rw permissions, set next parameter to 0775.
create mask = 0700
# Directory creation mask is set to 0700 for security reasons. If you want \to
# create dirs. with group=rw permissions, set next parameter to 0775.
directory mask = 0700
# By default, \\server\username shares can be connected to by \anyone
# with access to the samba server.
# The following parameter makes sure that only "username" can \connect
# to \\server\\username
# This might need tweaking when using external authentication \schemes
valid users = %S
# Un-comment the following and create the netlogon directory for Domain \Logons
# (you need to configure Samba to act as a domain controller too.)
;[netlogon]
; comment = Network Logon \Service
; path = /home/samba/\netlogon
; guest ok = \yes
; read only = no
# Un-comment the following and create the profiles directory to \store
# users profiles (see the "logon path" option above)
# (you need to configure Samba to act as a domain controller too.)
# The path below should be writable by all users so that \their
# profile directory may be created the first time they log \on
;[profiles]
; comment = Users \profiles
; path = /home/samba/\profiles
; guest ok = \no
; browseable = \no
; create mask = \0600
; directory mask = 0700
[printers]
comment = All \Printers
browseable = \no
path = /var/spool/\samba
printable = \yes
guest ok = \no
read only = \yes
create mask = 0700
# Windows clients look for this share name as a source of \downloadable
# printer \drivers
[print$]
comment = Printer \Drivers
path = /var/lib/samba/\printers
browseable = \yes
read only = \yes
guest ok = \no
# Uncomment to allow remote administration of Windows print drivers.
# You may need to replace 'lpadmin' with the name of the group \your
# admin users are members of.
# Please note that you also need to set appropriate Unix \permissions
# to the drivers directory for these users to have write rights in \it
; write list = root, @lpadmin
[public]
comment= Public \Storage
path = /home/shares/\public
# path = /home/shares/public/\V1
# path = /home/shares/public/\V2
valid users = @\users
force group = \users
create mask = \0660
directory mask = \0771
read only = no

Taille d'un réprtoire

1. Connaître la taille du répertoire /home/ré\pertoire
# du /home/répertoire
2. Connaître la taille d’un répertoire avec l’option “-h”
# du -h /home/répertoire
3. Connaître la taille totale d’un ré\pertoire
# du -sh /home/répertoire
4. Lister les fichiers et répertoires et connaître leur \taille
# du -a /home/répertoire
5. Lister les fichiers et répertoires et connaître leur taille avec l’option “-h”
# du -ah /home/répertoire
6. Connaître la taille d’un répertoire et sous-répertoires en kilo-\octets
# du -k /home/répertoire
7. Connaître la taille d’un répertoire et sous-répertoires en mé\gaoctets
# du -mh /home/répertoire
8. Taille totale du disque
# du -ch /home/répertoire

https://waytolearnx.com/2019/05/10-commandes-pour-trouver-lutilisation-de-lespace-disque-sous-linux.html

Archive sur montage d'un disque externe

* La doc est ici https://yunohost.org/#/external_storage_fr

Réalisation

* Le disque est vu en tant que \sda

admin@y:~ $ \lsblk
NAME MAJ:MIN RM SIZE RO TYPE \MOUNTPOINT
sda 8:0 0 3.7T 0 \disk
|-sda1 8:1 0 128M 0 part\
`-sda2 8:2 0 3.7T 0 part /dd4to\
mmcblk0 179:0 0 59.6G 0 disk\
|-mmcblk0p1 179:1 0 43.8M 0 part /boot\
`-mmcblk0p2 179:2 0 59.6G 0 part /

Le point de montage est celui qui existait avant (dans une autre installation) sur la partition sda2

j'ai créé le point de montage et suivi la doc (mettre le lien)

* je me connecte en \root

root@y:cd /
root@y:/# mkdir \nas
root@y:/# mount /dev/sda2 /\nas
root@y:/# cd /\nas
root@y:/nas# \ls
Archives_Photos lectures Photos \Transferts
Bibliothèque_calibre logiciels Photos-19-12-2018 Video-\Daniel
carte64 lost+found photos-brutes \Volumes
DANIEL Mots de passe.kdbx récup wetransfer-\bb7676
doli opéras rpi \xp
Kopies photos test yuno

* On voit le nouveau point de montage mount /dev/sda2 /nas qui a été choisi directement à la racine

root@y:/nas# \lsblk
NAME MAJ:MIN RM SIZE RO TYPE \MOUNTPOINT
sda 8:0 0 3.7T 0 \disk
├─sda1 8:1 0 128M 0 \part
└─sda2 8:2 0 3.7T 0 part /\nas
mmcblk0 179:0 0 119.1G 0 \disk
├─mmcblk0p1 179:1 0 43.8M 0 part /\boot
└─mmcblk0p2 179:2 0 119G 0 part /

* Recherche du UUID pour installation fixe (explication à venir)

root@y:/# blkid | grep "/dev/sda"
/dev/sda2: LABEL="NAS" UUID="215105e9-dfb3-4d68-97d7-a7ad65740775" TYPE="ext4" PARTLABEL="NAS" PARTUUID="90df8beb-dde7-41a3-85d0-68d7e31fd041"
/dev/sda1: PARTLABEL="Microsoft reserved partition" PARTUUID="203858d8-d1fd-45d6-b434-772e1884d002"

* configuration de fsatb avec nano (prévoir un petit tutoriel sur nano)

GNU nano 2.7.4 File: /etc/fstab
proc /proc proc defaults 0 \0
PARTUUID=853fbe81-01 /boot vfat defaults 0 \2
PARTUUID=853fbe81-02 / ext4 defaults,noatime 0 \1
# a swapfile is not a swap partition, no line \here
# use dphys-swapfile swap[on|off] for \that
UUID=215105e9-dfb3-4d68-97d7-a7ad65740775 /nas ext4 defaults,noatime 0 0

et au redémarrage je vois le \disque

admin@y:~ $ \lsblk
NAME MAJ:MIN RM SIZE RO TYPE \MOUNTPOINT
sda 8:0 0 3.7T 0 disk Le disque est vu en tant que \sda
|-sda1 8:1 0 128M 0 part\
`-sda2 8:2 0 3.7T 0 part /media/stockage\
mmcblk0 179:0 0 59.6G 0 disk\
|-mmcblk0p1 179:1 0 43.8M 0 part /boot\
`-mmcblk0p2 179:2 0 59.6G 0 part /

et son contenu pré-existant par exemple avec filezilla bien pratique pour déplacer des fichiers

Installation

sidebar test

Installation faite en suivant la doc https://yunohost.org/#/admindoc_fr

Config des ports dans le routeur

Réservation de l'adresse dans le routeur

Connexion par ssh

Création premier utilisateur (ici vu dans l'interface d'administration)

Installation de mc par apt install

Domaines et Cloudflare

Ici on voit le domaine principal pascot.ca à mon adresse maison 69.9.76.108

pi et pl sont des sous-domaines

Des certificats let'sencrypt ont ensuite été générés pour chaque domaine référencé dans cloudflare

VIEUX

Montage d'un disque externe

La doc est ici https://yunohost.org/#/external_storage_fr

Réalisation

Le disque est vu en tant que sda

admin@y:~ $ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 3.7T 0 disk
|-sda1 8:1 0 128M 0 part
`-sda2 8:2 0 3.7T 0 part /dd4to
mmcblk0 179:0 0 59.6G 0 disk
|-mmcblk0p1 179:1 0 43.8M 0 part /boot
`-mmcblk0p2 179:2 0 59.6G 0 part /

Le point de montage est celui qui existait avant (dans une autre installation) sur la partition sda2

j'ai créé le point de montage et suivi la doc (mettre le lien)

je me connecte en root

root@y:cd /
root@y:/# mkdir nas
root@y:/# mount /dev/sda2 /nas
root@y:/# cd /nas
root@y:/nas# ls
Archives_Photos lectures Photos Transferts
Bibliothèque_calibre logiciels Photos-19-12-2018 Video-Daniel
carte64 lost+found photos-brutes Volumes
DANIEL Mots de passe.kdbx récup wetransfer-bb7676
doli opéras rpi xp
Kopies photos test yuno

On voit le nouveau point de montage mount /dev/sda2 /nas qui a été choisi directement à la racine

root@y:/nas# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 3.7T 0 disk
├─sda1 8:1 0 128M 0 part
└─sda2 8:2 0 3.7T 0 part /nas
mmcblk0 179:0 0 119.1G 0 disk
├─mmcblk0p1 179:1 0 43.8M 0 part /boot
└─mmcblk0p2 179:2 0 119G 0 part /

Recherche du UUID pour installation fixe (explication à venir)

root@y:/# blkid | grep "/dev/sda"
/dev/sda2: LABEL="NAS" UUID="215105e9-dfb3-4d68-97d7-a7ad65740775" TYPE="ext4" PARTLABEL="NAS" PARTUUID="90df8beb-dde7-41a3-85d0-68d7e31fd041"
/dev/sda1: PARTLABEL="Microsoft reserved partition" PARTUUID="203858d8-d1fd-45d6-b434-772e1884d002"

configuration de fsatb avec nano (prévoir un petit tutoriel sur nano)

GNU nano 2.7.4 File: /etc/fstab
proc /proc proc defaults 0 0
PARTUUID=853fbe81-01 /boot vfat defaults 0 2
PARTUUID=853fbe81-02 / ext4 defaults,noatime 0 1
# a swapfile is not a swap partition, no line here
# use dphys-swapfile swap[on|off] for that
UUID=215105e9-dfb3-4d68-97d7-a7ad65740775 /nas ext4 defaults,noatime 0 0

et au redémarrage je vois le disque

admin@y:~ $ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 3.7T 0 disk Le disque est vu en tant que sda
|-sda1 8:1 0 128M 0 part
`-sda2 8:2 0 3.7T 0 part /media/stockage
mmcblk0 179:0 0 59.6G 0 disk
|-mmcblk0p1 179:1 0 43.8M 0 part /boot
`-mmcblk0p2 179:2 0 59.6G 0 part /

et son contenu pré-existant par exemple avec filezilla bien pratique pour déplacer des fichiers

Installation 17 mars 2022 pour png et jpg dans scanimage

https://forums.linuxmint.com/viewtopic.php?t=348190
https://forum.ubuntu-fr.org/viewtopic.php?id=2047352

au secours

Notes pour la gestion du serveur yunohost sur rpi

installation avec sous domaine

https://yavin4.ovh/index.php/2014/12/31/raspberry-pi-recuperer-la-temperature-cpu-dans-un-fichier/

perdu admin dans dokuwiki

ajouter ceci à la fin du URL : ?do=login =

Borg

dans /root/.bashrc

export BORG_PASSPHRASE='4ojmwA79Y#Gp%$%r'\
export BORG_REMOTE_PATH='borg1'\
export BORG_RSH='ssh -i /root/.ssh/id_borg_ed25519'\
export b='19526@ch-s012.rsync.net:backup'

Après restauration il me semblait que Borg faisait partie du backup des applis

history de la première installation sur rpi

yunohost app remove borg
yunohost app list | grep borg
yunohost app install borg
cat /root/.ssh/id_borg_ed25519.pub
scp
scp /root/.ssh/id_borg_ed25519.pub 19526@ch-s012.rsync.net:.ssh/authorized_keys
ssh 19526@ch-s012.rsync.net ls
ssh -i /root/.ssh/id_borg_ed25519 19526@ch-s012.rsync.net ls
nano /root/.bashrc
source /root/.bashrc
borg list
borg list $b

surveiller borg

admin@pascot:~$ sudo su
root@pascot:/home/admin# borg list $b
auto_conf_16_02_20_00:00 Sat, 2020-02-15 19:00:39 [56a4e2b0417a7d0c7a64204fc3e73e367559f4e717ca19d51979767a86734942]
auto_data_16_02_20_00:00 Sat, 2020-02-15 19:01:16 [308e913cc5a7a5e4f13556db66edb33bd18fc3a07a49bc0c3f709a6a8c5892f3]
auto_archivist_16_02_20_00:01 Sat, 2020-02-15 19:01:52 [86885573d4ab40272151ea5b1d8add3db2d3d36400eb9ce6516da054f1575579]
auto_borg_16_02_20_00:02 Sat, 2020-02-15 19:02:24 [6dcaeac5dd04d8d1bb5c206e1e79790ab7b61c912cf4401d2a1c35030e705aba]
....
root@pascot:/home/admin# borg info $b
Repository ID: 57a3903c89d9eef59b6b94167c2e92f963a6331f067b0e7e102a29ecf5887363
Location: ssh://19526@ch-s012.rsync.net/./backup
Encrypted: Yes (repokey)
Cache: /root/.cache/borg/57a3903c89d9eef59b6b94167c2e92f963a6331f067b0e7e102a29ecf5887363
Security dir: /root/.config/borg/security/57a3903c89d9eef59b6b94167c2e92f963a6331f067b0e7e102a29ecf5887363
------------------------------------------------------------------------------
Original size Compressed size Deduplicated size
All archives: 242.14 GB 234.94 GB 20.82 GB
Unique chunks Total chunks
Chunk index: 86653 1155912

récupérer une archive

root@pascot:/home/admin# mkdir test2
root@pascot:/home/admin# ls
media test test2
root@pascot:/home/admin# cd test2
root@pascot:/home/admin/test2# ls
root@pascot:/home/admin/test2# borg extract $b::auto_dokuwiki__5_16_04_20_00:21
root@pascot:/home/admin/test2# ls
apps backup.csv info.json

Clé dans m0n carnet de notes dmX3jTN5tLPQ2 probablement le mot de passe page-notes-borg.jpg

Gabriel

2 avril Tu as bien fait de vérifier, il y avait effectivement une autre erreur! Borg avertissait que l'emplacement du backup chez Rsync avait changé. Bizarre car on n'a rien modifié.

J'ai ajouté cette commande au début du script de backup (/etc/yunohost/hooks.d/backup_method/05-borg_app)

export BORG_RELOCATED_REPO_ACCESS_IS_OK=yes

Et j'ai reparti le backup et ça semble fonctionner :)

Je vais créer une proposition au développeur de l'ajouter à son script source car si on mets à jour l'application Borg dans Yunohost, il faudra refaire la modif. ====

30 mars

Tu as bien fait de vérifier, il y avait effectivement une autre erreur! Borg avertissait que l'emplacement du backup chez Rsync avait changé. Bizarre car on n'a rien modifié.

J'ai ajouté cette commande au début du script de backup (/etc/yunohost/hooks.d/backup_method/05-borg_app)

export BORG_RELOCATED_REPO_ACCESS_IS_OK=yes

Et j'ai reparti le backup et ça semble fonctionner :)

Je vais créer une proposition au développeur de l'ajouter à son script source car si on mets à jour l'application Borg dans Yunohost, il faudra refaire la modif.

relancer borg

J'ai résolu le problème pour les backups. Ils devraient bien se faire ce soir. C'est comme si le backup avait “coupé” une fois et que ça empêchait les prochains essais. Il y avait une erreur “failed to acquire lock” donc j'ai fait cette commande :

borg break-lock $b

Il faut seulement faire cette commande si on a le problème à nouveau (ce qui normalement ne devrait pas arriver) et seulement si aucun backup n'a lieu en ce moment.

autre bobo

Bonsoir Daniel, La cache de Borg semblait corrompue. On peut apparemment la supprimer sans problème. Je l’ai fait avec :

rm -r /root/.cache/borg

Bizarre quand même, je n’ai jamais eu à faire cela.

Le backup devrait se faire à minuit :)

RE :oui mais j'avais eu une panne de courant peut-être au mauvais moment

Bug réglé

Bonjour Daniel,

Je crois avoir réglé le problème de borg. Je me suis gardé une note pour vérifier que la prochaine sauvegarde de minuit aura bien fonctionnée.

Le problème était que l'exécutable de borg ne s'était pas bien installé. J'ai regardé le code source et je l'ai réinstallé avec les commandes suivantes

virtualenv --python=python3 /opt/borg-env
/opt/borg-env/bin/python /opt/borg-env/bin/pip install borgbackup==1.1.10

Dokuwiki de privé à public et réciproquement

https://forum.yunohost.org/t/dokuwiki-de-prive-a-public/7113

Aleks Dev group 1 Feb '19

Salut,

Y’a pas de manière user-friendly actuellement, mais en attendant tu peux je pense faire :

yunohost app setting dokuwiki is_public -v 1 # Cette action est surtout “symbolique”, la vraie action est la deuxieme … yunohost app setting dokuwiki unprotected_uris -v '/' yunohost app ssowatconf

(pas 100% sur de la syntaxe exacte :sweat_smile:) Solution Wiilly Feb '19

yunohost app setting set dokuwiki is_public -v 1 # Cette action est surtout “symbolique”, la vraie action est la deuxieme …

ok, j’essaie, merci :slight_smile:

si toutefois, je souhaites revenir en “privé”, c’est possible de revenir en arrière (dans le doute, je préfère savoir avant :p) Aleks Dev group Feb '19

Oui, a mon avis il suffira de faire :

yunohost app setting dokuwiki is_public -v 0 # Cette action est surtout “symbolique”, la vraie action est la deuxieme … yunohost app setting dokuwiki unprotected_uris -d yunohost app ssowatconf

Wiilly Feb '19

cool !

je ne pige pas la commande : p c’est quoi en fait ?

unprotected_uris -d

Aleks Dev group Feb '19

La commande yunohost app setting dokuwiki unprotected_uris -v '/' change / défini la valeur du parametre “unprotected_uris” pour l’app dokuwiki à /, ce qui veut dire “pour l’app dokuwiki, considère que “ton.domaine.tld/dokuwiki/” n’est pas à protéger derrière le SSO …

(le / étant celui a la fin, mais on pourrait imaginer vouloir deproteger dokuwiki/admin…)

Dans l’autre commande, le -d corresponds à –delete …

Puis yunohost app ssowatconf regenere la conf ssowat …

Installer yunohost sur un disque externe sur le port USB

On trouve ici (et ailleurs) des directives

https://raspberry-pi.fr/boot-raspberry-pi-usb/

https://nicolasforcet.com/2019/07/10/raspberry-pi-mettre-tout-le-systeme-sur-disque-dur-usb-ou-ssd-et-ne-plus-utiliser-de-carte-sd/

https://www.imnotgeek.com/fr_fr/15-11-2016/raspberry-pi-3-booter-sur-un-disque-cle-usb-28534

https://blog4iot.wordpress.com/2017/12/28/raspberry-pi-deplacer-los-raspbian-vers-un-disque-usb-externe/

http://science-facile.fr/2019/03/installer-raspbian-sur-un-disque-dur-ou-ssd.html

Objectf : remplacer la carte SD par le disque externe

Je fais l'installation sur un vieux disque 500go avec alim externe. J'ai essayé sur un dique 4To pour finir après bien des déconvenues par m'appercevoir que l'on ne peut pas avoir des partitions de plus de 2 To avec une table de partition msdos et que le rpi ne démarre pas sur une table gpt nécessaire pour ce plus gros disuqe. Ça m'a valu des messages partition ne peut pas être en dehors du disque dont j'ai eu du mal à me débarasser, j'ai fini par reformater avec fdisk car gparted n'y arrivait pas, même problème et solution avec mes essais erreurs sur le dique externe

Ce qui a finalement marché

modification de la carte SD (https://nicolasforcet.com/2019/07/10/raspberry-pi-mettre-tout-le-systeme-sur-disque-dur-usb-ou-ssd-et-ne-plus-utiliser-de-carte-sd/)

copie de la carte SD sur le disque dur avec mon ordi

sudo dd bs=1M if=/dev/sde of=/dev/sdc status=progress conv=fsync

le copié collé avec gârted n'on pas fonctionné

extension de la partition ext4 avec gparted

connexion du disque externe sur le rpi

démarrage sans la carte sd : bingo ça marche, juste un peu plus lent au démarrage

Scanner sur nuc''Code « machine à écrire »''

j'ai modifié le fichier "40-basic-permissions.rules" qui se trouve dans /etc/udev/rules.d/ comme suit :

j'ai mis :
# USB devices (usbfs replacement)
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0777"
SUBSYSTEM=="usb_device", MODE="0777"

Voilà je pense que ça change les permissions pour tous mes périphériques usb.

Connection Iphone

https://www.maketecheasier.com/easily-mount-your-iphone-as-an-external-drive-in-ubuntu/

sudo mkdir /media/iphone
ifuse /media/iphone

Using an iPhone as an external Ubuntu drive used to be tricky. Linux support for iOS devices like the iPhone, iPad, and iPod used to be pretty poor, but that situation has changed.

Here’s how you can mount your iPhone storage on Ubuntu and other Linux distributions using the libimobiledevice library. Installing libimobiledevice

For iPhone and other iOS devices to be recognized on Ubuntu, you’ll need to install the libimobiledevice library first. This allows Ubuntu and other Linux operating systems to interact with these Apple devices.

This is important, especially due to Apple’s security measures. Libimobiledevice lets you access system information for your device as well as access the internal storage. The libimobiledevice website has a list of currently-included features as well as features planned for the future.

If you want to use your iPhone as an external drive, you’ll need to install libimobildevice first.

Install Libimobiledevice

You don’t need to add any additional package repositories to install libimobiledevice, so open a terminal window and type:

sudo apt install libimobiledevice6 libimobiledevice-utils

Once libimobiledevice has installed, try to connect your iPhone. If your iPhone file system doesn’t mount automatically when connected, you may need to pair your iPhone. Open a terminal and type:

idevicepair pair

A success message should appear after running this. Then, run the following:

usbmuxd -f -v

This allows for multiple connections between your iPhone and your Ubuntu installation.

After running all of these commands, if you still can’t connect to your iPhone, you’ll need to install and use a second package called iFuse to mount your iPhone manually. Installing iFuse

The iFuse package allows you to mount and access the file system on iOS devices. It’s likely that iFuse will install itself along with libimobiledevice, but if it hasn’t, you’ll need to install it manually.

Like libimobiledevice, you should find iFuse in the usual Ubuntu package repositories.

Install Ifuse

To install it, open your terminal and type:

sudo apt install ifuse

This will install iFuse and any additional packages it might need on your Ubuntu installation. Accessing Your iPhone Storage

If you have Ubuntu with the GNOME desktop environment, then your iPhone file system should mount automatically once you plug it in. Reboot your PC if, in the first instance, your device doesn’t mount automatically. You should also unlock your iPhone device screen. If you don’t, you won’t be able to access the internal storage.

If that doesn’t work, you may need to mount your iPhone manually. You may also need to do this if you don’t use the standard Ubuntu installation with GNOME.

First, pair your iPhone by opening a Linux terminal and typing:

idevicepair pair

You should see a success message appear after running this command, or idevicepair will inform you it can’t find your iOS device.

Idevicepair Command

If that’s the case, restart and try it again. Once your device is paired, type the following to mount your iPhone:

sudo mkdir /media/iphone ifuse /media/iphone

Replace the “/media/iphone” directory with another directory of your choice. This is where your iPhone files and folders will be seen on your device.

Once mounted, you should then be able to see your iPhone file system in your chosen file manager. You can then remove or add files to the device to treat it as your own external drive.

If you mounted your device manually and want to safely unmount it, open your terminal again and type:

ifuse -u /media/iphone

This will safely unmount your iPhone storage. Once done, you can then unplug it from your Ubuntu PC or laptop.

Disque montage permanent

pi@raspberrypi:~ $ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 3.7T 0 disk
└─sda1 8:1 0 3.7T 0 part /media/pi/KODI
sdb 8:16 0 465.8G 0 disk
└─sdb1 8:17 0 465.8G 0 part /media/pi/loisir
mmcblk0 179:0 0 29.7G 0 disk
├─mmcblk0p1 179:1 0 256M 0 part /boot
└─mmcblk0p2 179:2 0 29.5G 0 part /
pi@raspberrypi:~ $ blkid | grep "/dev/sda"
/dev/sda1: LABEL="KODI" UUID="5a97bece-92a7-4a76-8b89-965f4ac66c51" TYPE="ext4" PARTLABEL="KODI" PARTUUID="319498ba-1793-1544-aaba-980e5bfdc38e"
pi@raspberrypi:~ $ blkid | grep "/dev/sdb"
/dev/sdb1: LABEL="loisir" UUID="6909CF5F411CE8B2" TYPE="ntfs" PTTYPE="dos" PARTUUID="47ce7394-01"

suivi de modif dans fsta

GNU nano 3.2 /etc/fstab Modified
proc /proc proc defaults 0 0
PARTUUID=f2d5e123-01 /boot vfat defaults 0 2
PARTUUID=f2d5e123-02 / ext4 noatime,nodiratime,defaults 0 1
# a swapfile is not a swap partition, no line here
# use dphys-swapfile swap[on|off] for that
UUID=5a97bece-92a7-4a76-8b89-965f4ac66c51 /Loisirs et4 defaults, noatime 0 1

Anchor

Dans la page pour envoyer le lien (en fait on complète le lien vers la page de l'ancrage par le nom de l'ancre)

[[theories:references#penrose|]]

Pour établir le lien

{{anchor:penrose}}**Roger Penrose** : Le génial mathématicien et physicien Roger Penrose est désormais un prix Nobel de Physique. Or, depuis quelques années, il pense avoir trouvé des preuves en faveur de son modèle de « cosmologie cyclique conforme »
https://www.futura-sciences.com/sciences/actualites/cosmologie-prix-nobel-physique-roger-penrose-pense-avoir-preuves-univers-avant-big-bang-26213/

Dotclear2

Opérations

\
chgrp -R www-data /var/www/dotclear2/public

Dans nextcloud

* Dossier partagé Livres-en-partage :
* https://partages.pascot.ca/s/j4Jak2SAaaymFWc
* mot de passe : 7-En-Famille

https://forum.yunohost.org/t/dotclear2-probleme-de-propriete/17535

Installation

* dans le compte dp avec mot de passe du site (C=bangastidebinemeuf)

Patch

drwxr-x— 6 dotclear2 dotclear2 4096 Dec 24 14:30 Avebury\
drwxr-x— 7 dotclear2 www-data 4096 Nov 19 12:51 berlin\
drwxr-x— 3 dotclear2 www-data 4096 Nov 19 12:51 blueSilence\
drwxr-x— 3 dotclear2 www-data 4096 Nov 19 12:51 customCSS\
drwxr-x— 4 dotclear2 www-data 4096 Nov 19 12:51 default\
drwxr-x— 5 dotclear2 www-data 4096 Nov 19 12:51 ductile\
root@pascot:/var/www/dotclear2/themes# chgrp -r www-data Avebury/\
chgrp: invalid option – 'r'\
Try 'chgrp –help' for more information.\
root@pascot:/var/www/dotclear2/themes# chgrp -R www-data Avebury/\
root@pascot:/var/www/dotclear2/themes# chgrp -R www-data Avebury/\
root@pascot:/var/www/dotclear2/themes# ls -l\
total 24\
drwxr-x— 6 dotclear2 www-data 4096 Dec 24 14:30 Avebury\
drwxr-x— 7 dotclear2 www-data 4096 Nov 19 12:51 berlin\
drwxr-x— 3 dotclear2 www-data 4096 Nov 19 12:51 blueSilence\
drwxr-x— 3 dotclear2 www-data 4096 Nov 19 12:51 customCSS\
drwxr-x— 4 dotclear2 www-data 4096 Nov 19 12:51 default\
drwxr-x— 5 dotclear2 www-data 4096 Nov 19 12:51 ductile\
root@pascot:/var/www/dotclear2/themes#