Welcome to MkDocs

Clean the session of the log in - Linux

history -c \
rm -rf ~/.bash_history \
echo >/var/log/wtmp \
exit

SSH

Problem with autodisconnect when session is idle in ssh

To solve that problem you can the below line into ~/.ssh/config

ServerAliveInterval 120

After 120 sec it will sent the null packet into the connected server.

SELinux

Status of SELinux

sestatus

Disable temporarily SELinux

sudo setenforce 0

Disable permenitly SELinux

Please open the file /etc/selinux/config and change the SELINUX to disabled

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - No SELinux policy is loaded.
SELINUX=disabled

Better compression

Directory Compression

tar cf - paths-to-archive | pigz -9 -f > archive.tar.gz

Directory Uncompression

pigz -dc archive.tar.gz | tar xf -

LZMA decompress

xz --format=lzma FILE.lzma

LVM

Dodawanie nowego dysku do istniejącego volume group

# Wyświetlamy jakie aktualnie mamy volume groupy: (aktualnie mamy jedną)
[root@localhost ~]# vgdisplay | grep "VG Name"
--- Volume group ---
VG Name               centos_localhost

# Dodajemy wybrany dysk w naszym przypadku /dev/sdb do wyżej wymienionej
# volume group
[root@localhost ~]# vgextend centos_localhost /dev/sdb

# Dodajemy logiczny volume (o pojemnosci 10G)  do wybranej group
[root@localhost ~]# lvcreate -L +10G --name data centos_localhost

# Rozszerzamy o całe pozostałe miejsce z volume group
[root@localhost ~]# lvm lvextend -l +100%FREE /dev/mapper/localhost-data

# W niektórych przypadkach można użyć też komendy do resize aby dobrze się wyświetał
[root@localhost ~]# xfs_growfs /dev/mapper/localhost-data

# Formatujemy logiczny volumin
[root@localhost ~]# mkfs -t ext4 /dev/mapper/localhost-data

# Tworzymy miejsce do zamountowania logicznego voluminu:
[root@localhost ~]# mkdir /data

# Dodajemy go aby mountował przy starcie
# Edytujemy plik oraz dodajemy do niego:
[root@localhost ~]# vim /etc/fstab
# <NAZWA-LOGIC-MAPPERA> <MIEJSCE MOUNTOWANIA> FORMAT <POZOSTAŁE RZECZY>
/dev/mapper/localhost-data /data                   ext4     defaults 0 0

# Sprawdzamy komenda czy dysk sie mountuje sam:
[root@localhost ~]# mount -a

# Jezeli komenda wykonala sie bez bledu to po wywolaniu komendy
[root@localhost ~]# lsblk
NAME                         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb                            8:16   0  130G  0 disk
└─localhost-data   253:2    0  130G  0 lvm  /data

# Widzimy /data zamountowane ;)

Rozszerzenie

# LLVM
vgdisplay # Sprawdzenie czy jest free vg?
sudo lvm lvextend -l +100%FREE /dev/mapper/localhost-root # Dodanie wszytskiego
# co ma vg do localhost-root
xfs_growfs /dev/mapper/localhost-root # Dobrze wyświetlał df -h

Git

Git - Przykładowy rebase - git rebase

# Chcemy skompresować trzy ostatnie commity (bo tyle stworzyliśmy)
git rebase -i HEAD~3

# Następnie pierwszy commit zostawiamy bez zmian a ostatnie dwa (2,3)
# zmieniamy jako pick
# Przed zmianami:
pick eaaf1bb Added purple-discord
pick a44c5d7 Updated the Copyright
pick fef6588 x11-plugins/purple-discord: add purple-discord-9999

# Po zmianach:
pick eaaf1bb Added purple-discord
s a44c5d7 Updated the Copyright
s fef6588 x11-plugins/purple-discord: add purple-discord-9999

# Normalnie commit usuwając reszte commit messages
git commit

Network

Set the static IP in CentOS using the file ifcfg-eth0

  • Create a file named /etc/sysconfig/network-scripts/ifcfg-eth0 as follows:
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
PREFIX=24
IPADDR=192.168.2.203
  • Restart network service: systemctl restart network

Add static ip for eth0 in the livecd

ip address add 192.168.180.99/24 dev eth0
route add default gw 192.168.180.1 eth0
echo "nameserver 8.8.8.8" > /etc/resolv.conf
echo "nameserver 8.8.8.8" > /mnt/sysimage/etc/resolv.conf

Add routing - 192.168.0.220 through 192.168.0.254 and wlan0 dev

sudo ip route add 192.168.0.220 via 192.168.0.254 dev wlan0

Adding the RAID in Linux

mdadm --create --verbose /dev/md1 --level=mirror --raid-devices=2 /dev/sdb1 /dev/sdc1

Wipe filesystem

wipefs -a /dev/sdb

Chroot w linux iso

mount /dev/sda2 /mnt
mount --rbind /dev /mnt/dev
mount --make-rslave /mnt/dev
mount -t proc /proc /mnt/proc
mount --rbind /sys /mnt/sys
mount --make-rslave /mnt/sys
mount --rbind /tmp /mnt/tmp
chroot /mnt /bin/bash
. /etc/profile

Limit for network speed

Set the limit (upload)

doas tc qdisc add dev eth0 root tbf rate 5024kbit latency 50ms burst 1540

Remove the limit (upload)

doas tc qdisc del dev eth0 root

Change date using the timedatectl

timedatectl set-timezone "Europe/Warsaw"

Base64 - encrypt and decrypt

Encrypt

echo "text:text" | tr -d \\n | base64
dGV4dDp0ZXh0

Decrypt

echo "dGV4dDp0ZXh0" | base64 -d
text:text%

Change the time modyfication of file

touch -t "1901081430.30" /var/log/yum.log
touch -d "3 days ago" /var/log/yum.log

GPG

Import GPG keys

My key is ~y0rune-private-gpg.key~ and ~y0rune-ownertrust-gpg.txt~

gpg --import y0rune-private-gpg.key
gpg --import-ownertrust y0rune-ownertrust-gpg.txt

Resolving problem with GPG

killall gpg-agent && gpg-agent \
--daemon \
--use-standard-socket \
--pinentry-program \
/usr/bin/pinentry

Resolve the problem

Problem with CLANG in CentOS

sudo localectl set-locale LANG=en_US.UTF-8
sudo dnf install langpacks-en glibc-all-langpacks -y

Problem with s2ram

If in your system got a message Machine is unknown. you should use the -f force method to do it. The command is below.

sudo s2ram -f

Resolving problem with GPG when do not import the keys

killall gpg-agent && gpg-agent \
--daemon \
--use-standard-socket \
--pinentry-program \
/usr/bin/pinentry