Le MBR de votre serveur a lâché (ça vient de m'arriver à cause d'une coupure de courant), Voici quelques pistes pour le restaurer.
Un guide simple de sécurisation de la commande sudo
.
@Animal j'ai un rôle Ansible à te commander :P
Oui et de tar.gz autoporteurs aussi !
Cela faisait quelques jours que je discutais avec @Kysofer de l'idée de monter un bureau virtuel dans un casque VR et voir pour coder dedans puisque l'on peut matérialiser un écran super-large du type 3 x 4,5 m et que je n'ai pas de dual-screen quand je suis en télétravail.
Il s'est amusé à bidouiller un truc dans son coin et hier soir nous avons installé la libopenhmd sur mon PC via
sudo apt install libopenhmd0
Et cela suffit à faire marcher le casque sur ma Mint !
Par contre, il y a encore deux ou trois choses à régler pour que que je puisse atteindre mon objectif :
1) Il faut que la caméra extérieure soit reconnue et affichée dans un coin car c'est compliqué de retrouver son clavier et sa souris sans ça.
2) Il faudrait pouvoir régler la distance / taille de l'écran virtuel.
3) Il faudrait pouvoir créer un ou plusieurs écrans virtuels afin de simuler un dual--screen.
Si quelqu'un a une idée sur comment faire (2) et (3) avec xrandr je prends, pour le (1) j'ai déjà une idée :)
Comment créer un environnement sécurisé avec chroot
. Plus le temps passe et plus je me dis que docker n'est pas si nécessaire.
Ajouter un poste Linux (ici une Red Hat) dans un Active Directory de Microsoft.
Via cette commande :
sudo fuser -v /dev/snd/*
J'ai retrouvé le script que j'avais écrit il y a quelques années, le voici pour ceux que ça intéresse :
#/usr/bin/env bash
RECOVERY_KEY="111111-222222-333333-444444-555555-666666-777777-888888"
MOUNT_POINT="/dev/sda2"
create_dir() {
if [ ! -d "$1" ]; then
mkdir -p $1
fi
}
create_encrypted_mount_point() {
dislocker -v -V ${MOUNT_POINT} --recovery-password="${RECOVERY_KEY}" -- /media/encrypted/
}
decrypt_encrypted_mount_point() {
mount -t ntfs-3g -o uid=0,gid=0,noatime,umask=000,locale=en_US.utf8 /media/encrypted/dislocker-file /media/decrypted
#mount -t ntfs-3g -o loop,ro -ouser,umask=0007 /media/encrypted/dislocker-file /media/decrypted
#mount -t ntfs-3g -o uid=0,gid=0,noatime,umask=000,locale=en_US.utf /media/encrypted/dislocker-file /media/decrypted
}
create_dir "/media/encrypted/"
create_dir "/media/decrypted/"
create_encrypted_mount_point
decrypt_encrypted_mount_point
En substance, il fabrique deux points de montage, le premier est un accès aux données chiffrées et le second un accès aux données déchiffrées.
Il faut l'outil Dislocker en prérequis :
sudo apt install dislocker
Mon retour d'expérience sur Podman : ça marche très bien sous Red Hat. Il faudra encore quelques temps pour que tout soit correctement backporté sous Debian & Co AMHA.
Le fait que ça soit moins compatible avec Windows => #MenFiche
Quand on est un minimum professionnel, on code pas et on ne gère pas une production avec du Windows dans un conteneur ou derrière un conteneur. Du reste, Linux est un OS beaucoup plus productif pour les Dev et DevOps (certains prétendent le contraire certes, mais je pense qu'ils n'ont pas suffisamment pexé sous Linux pour le réaliser. Aprèsje sais que je suis partiale sur la question).
@Guigui : super je me le note. Merci !
En deux temps :
1) Installez le paquet webp :
sudo apt install webp
2) Ajoutez ce script à votre PATH (il parcourt récursivement une arborescence à la recherche de fichier .webp
pour les convertir en .png
en supprimant le .webp
d'origine) :
#!/usr/bin/env bash
webp_to_png() {
local files fileName
files=$(find . -name "*.webp")
for file in ${files}
do
if [[ "${file}" == *.webp ]]; then
fileName="${file/webp/png}"
dwebp "${file}" -o "${fileName}"
rm "${file}"
fi
done
}
webp_to_png
Via deux lignes de commande.
Juste le pourcentage de charge :
cat /sys/class/power_supply/BAT0/capacity
Les informations complètes :
upower -i /org/freedesktop/UPower/devices/battery_BAT0
Au vu de mes déboires d'hier soir, certains l'auront compris : je suis en train de formater une Surface Go 2 de Microsoft pour remplacer l'installation intégrée de Windows 10 S par une Linux Mint. Je suis parvenue à booter sur une clef USB en :
- Désactivant Fast Boot
- Désactivant TPM
- Désactivant la vérification du certificat Microsoft par l'UEFI
- En demandant au Windows Boot Manager de lancer Linpus (un Linux intégré par Microsoft) ce qu'il fait de base depuis le port USB-C (sinon votre clef USB ne sera jamais utilisée même en demandant explicitement à l'UEFI de démarrer sur un "USB Device").
Bref, la manipulation est hasardeuse mais elle fonctionne lorsque l'on sait où chercher. Par contre mon problème est qu'il faut Windows pour accéder à l'interface UEFI puisqu'il faut passer par les paramètres du système, or comment faire sous Linux qui ne dispose pas du bouton magique : Redémarrer sous l'interface avancée (UEFI) ?
Eh bien les distributions récentes fournissent une ligne de commande pour ça :
systemctl reboot --firmware-setup
Cette commande est vraiment importante car si plus d'accès à l'UEFI, alors plus moyen de reformater le PC... Je n'ai pas encore essayé mais je vais le faire dans la journée pour voir.
Je mets la commande ci-dessous :
## Exemple avec l'OpenJDK
# TAR.BZ2
tar -cf - openjdk-jdk-1.8.0u265-x64/ | bzip2 -z -9 > openjdk-jdk-1.8.0u265-x64.tar.bz2
# TAR.GZ
tar -cf - openjdk-jdk-1.8.0u265-x64/ | gzip -9 > openjdk-jdk-1.8.0u265-x64.tar.gz
# TAR.XZ
tar -cf - openjdk-jdk-1.8.0u265-x64/ | xz -9 > openjdk-jdk-1.8.0u265-x64.tar.xz
Un tuto pour installer le Windows Subsystem Linux sous Windows 10.
Télécharger les tar.gz de Chromium pour Linux x64
Tout est dans le titre.
Je suis tombée par hasard sur Starcraft Remastered. Je n'étais pas très douée pour Starcraft & Broodwar mais le fait de découvrir un jeu de mon enfance en HD m'a donné tout de suite envie de l'acheter (surtout la version cartoonned pour jouer avec mes petits).
Note à moi-même : ne plus jamais acheter de jeux Blizzard à l'avenir. Ces abrutis nous forcent à installer un installeur qui téléchargera et exécutera l'installeur des jeux... Installeur qui n'existe pas sous Linux forcément.
Sous Linux c'est une catastrophe. #Déception
Problème :
- Vous devez télécharger un très gros fichier.
- Des erreurs réseaux surviennent régulièrement.
- Vous souhaitez reprendre le téléchargement là où il s'est arrêté dès qu'une erreur se produit.
- Vous souhaitez recommencer autant de fois que nécessaire (parce qu'il y aura plusieurs centaines de fois une erreur #RéseauDeQualitayyyy ).
Solution :
Il vous suffit d'utiliser la commande suivante :
OUTPUT_FILE="./mon_fichier"
URL="https://monhost/my-download.file"
wget --continue --tries=inf -O "${OUTPUT_FILE}" "${URL}"
Explication :
--continue
indique à wget de reprendre là où il s'est arrêté.--tries=inf
indique à wget de réessayer autant de fois qu'il le faudra (la limite étant à 20 essais par défaut).-O
indique à wget où écrire le fichier à télécharger.
Je résume... La forêt Amazonienne brûle en début d'année.
Nous échappons à la troisième guerre mondiale USA / Chine.
Un virus mortel contraint l'humanité à rester chez elle.
La nasa confirme le fait qu'elle avait détecté la présence d'un ovni au début des années 2000.
...et... Microsoft sort son navigateur pour Linux.
What a time !!! #2020BestScenarEver
@Animal : l'emplacement du fichier de conf ide.general.xml d'IntelliJ IDEA a changé depuis la dernière version de l'outil (ie. la 2020.1). Pour rappel, ce fichier contient un paramétrage permettant de ne plus ouvrir automatiquement au démarrage le dernier projet sur lequel quelqu'un a travaillé.
Ce fichier se trouve à présent à cet emplacement : ~/.config/JetBrains/IdeaIC2020.1/options/ide.general.xml
. Tu noteras que le répertoire de configuration de l'IDE se trouve à présent dans ~/.config
ce qui utilise enfin la norme des bureaux Linux à base de GTK (Gnome / Mate / Cinnamon).
Évidemment, il faut toujours lui ajouter la ligne <option name="reopenLastProject" value="false" />
, me concernant ça donne ceci :
<application>
<component name="GeneralSettings">
<option name="confirmExit" value="false" />
<option name="reopenLastProject" value="false" />
<option name="showTipsOnStartup" value="false" />
</component>
</application>
Voilà