Archives de catégorie : Linux

Mettre automatiquement à jour un ordinateur mint

Mint utilise un procédé particulier de mises à jour. Ils ont développé l’outil mintupdate pour gérer les priorités des mises à jour. Un outil cli est aussi disponible: mintupdate-tool. Il peut être utilisé pour mettre à jour automatiquement le système. Il faut créer les trois fichiers suivants:

#!/bin/bash

logPath=/var/log/autoupdt.log
#add the date to the logfile
d="-------------------------------------------------------------------------------\n $(date +%Y-%m-%d) $(date +%H:%M:%S)\n-------------------------------------------------------------------------------"
echo -e $d >> $logPath

#to check if the pc is online
echo -e "GET http://google.com HTTP/1.0\n\n" | nc google.com 80 > /dev/null 2>&1
if [ $? -eq 0 ]; then
#the actual update
mintupdate-tool -nk -s -r -y -l 12 upgrade &>> $logPath
else
echo "Offline" >> $logPath
fi
# file /etc/systemd/system/autoupdt.timer

[Unit]
Description=automatic update

[Timer]
OnBootSec=10min
# to start the timer 10 minutes after booting
OnUnitActiveSec=24h
# to restart the timer 24 hours after the last run

[Install]
WantedBy=multi-user.target
# file /etc/systemd/system/autoupdt.service
[Unit]
Description=automatic update

[Service]
ExecStart=/bin/sh /home/torsten/kiste/bin/autoupdt.sh

Ensuite, exécuter la commande suivante pour mettre en marche le service:

systemctl enable --now autoupdt.timer

Modifier des fichiers du skel

Les fichiers dans /etc/skel sont copiés dans le nouveau profil des usagers. S’il faut y apporter des modifications quand l’usager est créé, il suffit de créer le fichier exécutable /usr/local/sbin/adduser.local et d’y mettre le code requis. Les arguments passés sont:

  • $1 : username
  • $2 : uid
  • $3 : gid
  • $4 : home path

Donc, si on doit modifier un fichier, on peut le faire avec sed:

sed -i -e "s/username/$1/g" $4/.fichier_a_modifier

En y ayant mis a préalable le texte username aux endroits où le nom d’utilisateur est sensé apparaître.

Créer ses propres .deb packages

This tutorial shows the most basic way of packaging a simple already-compiled program.

  1. Decide on the name of your package. Standard debian notation is all lowercase in the following format:
    <project>_<major version>.<minor version>-<package revision>

    For example, you could name your first package…

    helloworld_1.0-1
  2. Create a directory to make your package in. The name should be the same as the package name.
    mkdir helloworld_1.0-1
  3. Pretend that the packaging directory is actually the root of the file system. Put the files of your program where they would be installed to on a system.
    mkdir helloworld_1.0-1/usr
    mkdir helloworld_1.0-1/usr/local
    mkdir helloworld_1.0-1/usr/local/bin
    cp "~/Projects/Hello World/helloworld" helloworld_1.0-1/usr/local/bin
  4. Now create a special metadata file with which the package manager will install your program…
    mkdir helloworld_1.0-1/DEBIAN
    gedit helloworld_1.0-1/DEBIAN/control

    Put something like this in that file…

    Code:
    Package: helloworld
    Version: 1.0-1
    Section: base
    Priority: optional
    Architecture: i386
    Depends: libsomethingorrather (>= 1.2.13), anotherDependency (>= 1.2.6)
    Maintainer: Your Name <you@email.com>
    Description: Hello World
     When you need some sunshine, just run this
     small program!
    

    (the space before each line in the description is important)

  5. Now you just need to make the package:
    fakeroot dpkg-deb --build helloworld_1.0-1

    Référence: https://ubuntuforums.org/showthread.php?t=910717