INT 21h

Hi, I am Vladimir Smagin, SysAdmin and Kaptain. Telegram Email / GIT / RSS / GPG

Заглушка для Kubernetis “сервис недоступен”

№ 11256 В разделе "Sysadmin" от March 28th, 2021,
В подшивках: , , ,

Назвал ее monkey502. Внутри закодировано 4 картинки, которые меняются в зависимости от количества обновлений страницы. Также страница обновляется самостоятельно 1 раз в минуту чтобы пользователь продолжил работать с урла на котором все остановилось. Образ базируется на минимальном образе nginx unit всего с 1 статической страницей.

Установить helm chart и настроить nginx ingress controller можно по инструкции здесь По ссылке приведена глобальная конфигурация, для отдельных ингресов используйте аннотации.

Нет комментариев »

Another raid6 recovery story

№ 11223 В разделе "Sysadmin" от February 14th, 2021,
В подшивках: ,

Ahh… Again… You thinking affected server is a backup of backup server but somehow this old as dinosaur shit server contains part of production without any copy in git or somewhere else.

60000 power-on hours of each hard drive. Yeeeaah.

Load rescue OS and check mdstat. Two disks already dead and failing third, FS already corrupted. Everything as we love.

>$ cat /proc/mdstat 
md2 : active raid6 sda3[6] sdb3[5] sdd3[4] sdf3[3] sdg3[0]
      1073085440 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/5] [U__UUUU]
      bitmap: 2/2 pages [8KB], 65536KB chunk

You can try replace dead disks, reassemble raid in-place and fix FS, but who knows, result may be much worse than current state. So I decided to create partitions images and work with them.

Copy images over network to new server, if dd won’t work use ddrescue.

dd if=/dev/sda3 bs=1M | gzip | ssh root@new_server 'gzip -d | dd of=/sda3 bs=1M'
dd if=/dev/sdb3 bs=1M | gzip | ssh root@new_server 'gzip -d | dd of=/sdb3 bs=1M'
dd if=/dev/sdd3 bs=1M | gzip | ssh root@new_server 'gzip -d | dd of=/sdd3 bs=1M'
dd if=/dev/sdf3 bs=1M | gzip | ssh root@new_server 'gzip -d | dd of=/sdf3 bs=1M'
dd if=/dev/sdg3 bs=1M | gzip | ssh root@new_server 'gzip -d | dd of=/sdg3 bs=1M'

Now you have all images to reassemble partition, so use losetup to imaginate that image file is a block device, because mdadm not working with images directly.

losetup -P /dev/loop0 /sda3
losetup -P /dev/loop1 /sdb3
losetup -P /dev/loop2 /sdd3
losetup -P /dev/loop3 /sdf3
losetup -P /dev/loop4 /sdg3

Now run cat /proc/mdstat

md127 : active raid6 loop4[6] loop3[5] loop2[4] loop1[3] loop0[0]
      1073085440 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/5] [U__UUUU]
      bitmap: 2/2 pages [8KB], 65536KB chunk

unused devices: 

If raid not assembled automaticaly run mdadm -A md127 /dev/loop0 /dev/loop1 /dev/loop2 /dev/loop3 /dev/loop4.

Yes, you assembled raid partition from images! Lets try to fix filesystem.

fsck -y /dev/md127

But this is not the right time to give up

Try to use another supeblock fsck -b 32768 -y /dev/md127

AAaaaand fsck can’t write changes to first superblock, lol. BUT! You can use alive superblock to mount FS!

mount -o sb=131072 /dev/md127 /mnt

Нет комментариев »

Virtualbox: mount physical disk

№ 11191 В разделе "Sysadmin" от January 4th, 2021,
В подшивках: ,

Add your user to disk group and relogin\reboot.

Next create volume file:

VBoxManage internalcommands createrawvmdk -filename 16Gflash.vmdk -rawdisk /dev/sdf

Add disk and mount to virtual machine

Нет комментариев »


№ 11163 В разделах: Electronics Sysadmin от December 31st, 2020,
В подшивках: , ,

Замутил себе GNUK в качестве хранилища ключей для дешифровки писем, бэкапов и прочего хлама, а также ssh авторизации на серверах. Стоит оно всего 140 руб, что гораздо дешевле аналогов за 50 баксов 🙂 На отлично работает под линуксами с GnuPG.

Заказал тут Для прошивки нужен второй такой или любой другой прошивальщик STM32.

Нет комментариев »

Downgrade Thunderbird 78 back to 68 in Ubuntu and Manjaro

№ 11138 В разделе "Sysadmin" от December 5th, 2020,
В подшивках: ,


At first, return back old software source to your repositories:

echo "deb focal-security main"| sudo tee /etc/apt/sources.list.d/thunderbird.list
sudo apt update

Now check available versions:

$ apt-cache policy thunderbird
  Installed: 1:68.10.0+build1-0ubuntu0.20.04.1
  Candidate: 1:78.5.0+build3-0ubuntu0.20.10.1
  Version table:
     1:78.5.0+build3-0ubuntu0.20.10.1 500
        500 groovy-updates/main amd64 Packages
        500 groovy-security/main amd64 Packages
     1:78.3.2+build1-0ubuntu1 500
        500 groovy/main amd64 Packages
 *** 1:68.10.0+build1-0ubuntu0.20.04.1 500
        500 focal-security/main amd64 Packages
        100 /var/lib/dpkg/status

You see last “1:68.10.0+build1-0ubuntu0.20.04.1”, install it and keep forever.

sudo apt-get install thunderbird=1:68.10.0+build1-0ubuntu0.20.04.1
sudo apt-mark hold thunderbird


Manjaro is a rolling update distro, but you can still install old software versions with some additional tricks.

sudo pacman -S downgrade 
sudo DOWNGRADE_FROM_ALA=1 downgrade thunderbird

You see last version you want 68 under number 33. Type it and Enter.

How DOWNGRADE PROFILE from 78 to 68 after accidentally run of 78

In console check version and allow downgrade:

thunderbird --version
 Thunderbird 68.10.0

thunderbird --allow-downgrade

After this you can continue use your old profile.

Finally, fuck you Mozilla.

Нет комментариев »


Fortune cookie: There once was a dentist named Stone Who saw all his patients alone. In a fit of depravity He filled the wrong cavity, And my, how his practice has grown!