6 июня 2025 г.

Извлекаем файлы из образа повреждённого диска: ddrescue, losetup и немного магии

 

Проблема повреждённых жёстких дисков знакома многим: диск начинает работать со сбоями, система зависает, файлы неожиданно исчезают. В таких ситуациях обычные методы восстановления могут только усугубить проблему, вызывая перезапись данных.

Лучшее решение — создать образ диска и работать с ним, а не с оригиналом. 

В этой статье разберём, как:

  • скопировать весь диск в файл-образ;

  • смонтировать повреждённый раздел и извлечь файлы;

  • восстановить удалённые файлы или повреждённую файловую систему NTFS.

Сначала рассмотрим основные шаги, а затем сложности, которые могут возникнуть в процессе, и пути их решения. 

5 июня 2024 г.

Sar

 

После того, как серверы созданы и развернуты для разработки или продакшена и т. д., основная задача системного администратора – убедиться, что серверы продолжают работать, непрерывно отслеживая использование ресурсов, например использование памяти, использование ЦП и т. д., с помощью различных утилит.

Одна из таких утилит, которая используется для мониторинга серверов RHEL/CentOS, – SAR.

SAR или System Activity Report используется для мониторинга системных ресурсов Linux.

Его можно использовать для создания отчетов, относящихся к производительности системы, то есть отчетов ЦП, отчетов о памяти, отчетов о дисках и т. д.

Он сохраняет отчеты в виде логов в вашей системе.

В этом руководстве мы узнаем о мониторинге системных ресурсов с помощью SAR с помощью некоторых примеров, но сначала мы установим SAR в нашей системе.

26 апреля 2024 г.

Включение IOMMU

Открыть текстовичком

 nano /etc/default/grub
 

Добавить intel_iommu=on to GRUB_CMDLINE_LINUX_DEFAULT=”quiet”

Сохранить и выйти

Далее обновить grub 

update-grub

И сделать reboot

24 июля 2023 г.

Генератор для ipmi supermicro

 #!/usr/bin/perl

use strict;
use Digest::SHA qw(hmac_sha1 hmac_sha1_hex);

my $key="8544E3B47ECA58F9583043F8";
my $mac=$ARGV[0];

die "Usage: supermicro-ipmi-key <MAC>" unless $mac;

sub calculate_key {
  my ($data, $key) = map pack('H*', $_), @_;
  hmac_sha1_hex($data, $key);
}

if ($mac =~ /^([\da-zA-z][\da-zA-z]:){5}[\da-zA-z][\da-zA-z]$/ ){
  $mac =~ s/://g;
  my $license_key = substr(calculate_key($mac, $key), 0, 24);
  for (my $i=0; $i<24; $i+=4){
    print substr($license_key, $i, 4)." ";
  }
  print "\n";
} else {
  print "Invalid mac address: $mac\n";
}

 

Запуск 

sh key-ipmi.sh <MAC ADDR>

11 июля 2023 г.

Ограничение канала или шейпер в Linux

Если нужно ограничить канал в Linux системах можно воспользоваться пакетами wondershaper и trickle.

В Ubuntu их можно установить командой:

apt-get install wondershaper trickle



1. Пакет wondershaper ограничивает трафик для указанного интерфейса.

Например если требуется ограничить канал на интерфейсе eth0 нужно выполнить команду:

wondershaper eth0 4096 2048



Шейпер ограничит входящее подключение для интерфейса eth0 на уровне 4096 кбит/с (4 Мбит/c), соответственно исходящий канал будет ограничен до 2 Мбит/c.
Посмотреть список интерфейсов в системе можно командой ifconfig -a или ip link

2. Пакет trickle ограничивает канал для указанного процесса.

Например если нужно ограничить канал для браузера firefox то его следует запустить командой:

trickle -d 480 -u 240 firefox



В итоге шейпер ограничит входящий трафик до 4 Мбит/c (480 Кбайт/с) исходящий канал до 2 Мбит/c для процесса firefox.

Для AstraLinux 1.6 SE можно выкачать данные пакеты в linux дистрибутиве команой apt download wondershaper и установить пакет командой dpkg -i

 

source

12 августа 2022 г.

LXC привелигированный контейнер с метками безопасности в AdtraLinux 1.6 se update 6

 В AstraLinux 1.6 появилась возможнсть создавать контейнеры на базе LXC, но, к сожалению, шаблон для контейнера в версиях от "из коробки" до 6 - го обновления сырой: либо контейнер не создается вообще, либо создается, но без меток безопасности,а они ой как нужны. Поэтому на основе 6го обновления был подправлен темплейт для контейнера ALSE1.6 update 6

4 февраля 2022 г.

Обновление AstraLinux 1.6 после рестарта

Обновление системы после рестарта

На АРМ (или сервере) создать сервис
[Unit]
Description=Update system
After=rc-local.service network-online.target
Before=getty.target
Before=systemd-user-sessions.service
 
[Service]
StandardOutput=tty
Type=oneshot
ExecStart=/usr/local/bin/update.sh
 
[Install]
WantedBy=multi-user.target


Выполнить обновление сервисов и добавить новый сервис в автозагрузку
systemctl daemon-reload
systemctl enable update.service

Для автоматического обновления, создать скрипт скрипт /usr/local/bin/update.sh
#!/bin/bash

clear
# вносим в /etc/apt/sources.list используемые репозитории (для примера - репозиторий server, работающий по протоколу ftp):
echo "deb ftp://server/repo/smolensk/disk smolensk main contrib non-free" > /etc/apt/sources.list
echo "deb ftp://server/repo/smolensk/update smolensk main contrib non-free" >> /etc/apt/sources.list
 
echo "Updating system, please wait..."
echo "Do not turn off your computer!"
apt-get update &> /dev/null
apt-get -y dist-upgrade &> /dev/null
apt-get -y install -f &> /dev/null
rm -f /etc/systemd/system/multi-user.target.wants/update.service
systemctl daemon-reload
rm -f /usr/local/bin/update.sh
reboot

Сделать файл исполняемым
chmod +x /usr/local/bin/update.sh

Запуск Firefox в отличном от 0 уровне безопасности в AstraLinux 1.6.

Описание задачи:

В нулевой сессии пользователя запустить web-браузер firefox под уровнем отличным от нулевого.

Для решения будем использовать механизм sumac.

23 ноября 2021 г.

Включение rc.local в AL 1.6 SE (debian 9-10)

 

Создадим файл сервиса:

sudo nano /etc/systemd/system/rc-local.service

Со следующим содержимым: 

[Unit]
Description=/etc/rc.local
ConditionPathExists=/etc/rc.local
 
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
 
[Install]
WantedBy=multi-user.target

 

Создадим сам rc.local:

sudo nano /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
 
exit 0

Добавим права на выполнение:

sudo chmod +x /etc/rc.local

Добавим сервис в автозапуск:

sudo systemctl enable rc-local

Запускаем сервис:

sudo systemctl start rc-local

Смотрим состояние сервиса:

sudo systemctl status rc-local

13 октября 2021 г.

Настройка подключения файлового ресурса в доверительных доменах ALD

 

Имеется стенд:

srv-dc.domain1.ru — контроллер домена зоны DOMAIN1.RU
srv-file.domain1.ru — файл сервер в зоне DOMAIN1.RU
srv-dc.domain2.ru — контроллер домена зоны DOMAIN2.RU
client.domain2.ru — клиентский АРМ в зоне DOMAIN2.RU

 

На доменах настроен сервер ALD, между доменами настроены доверительные отношения.
В обоих доменах имеется пользователь user с возможными уровнями безопасности 0:3

 

Задача:
Подключить клиенту шару из domain1

18 июня 2021 г.

Настройка сканирования с МФУ HP под ненулевым уровнем в AstraLinux 1.6

В данной инструкции описан алгоритм настройки ОС для сканирования с МФУ подключенному по usb под уровнем безопасности отличным от нулевого.

Перед выполнением пунктов необходимо добавить принтер в систему через hp-setup, либо через штатную утилиту управление принтерами.

14 апреля 2021 г.

How to mount a qcow2 disk image

 

How to mount a qcow2 disk image

This is a quick guide to mounting a qcow2 disk images on your host server. This is useful to reset passwords, edit files, or recover something without the virtual machine running.

Step 1 - Enable NBD on the Host

modprobe nbd max_part=8

Step 2 - Connect the QCOW2 as network block device

qemu-nbd --connect=/dev/nbd0 /var/lib/vz/images/100/vm-100-disk-1.qcow2

Step 3 - Find The Virtual Machine Partitions

fdisk /dev/nbd0 -l

Step 4 - Mount the partition from the VM

mount /dev/nbd0p1 /mnt/somepoint/

Step 5 - After you done, unmount and disconnect

umount /mnt/somepoint/
qemu-nbd --disconnect /dev/nbd0
rmmod nbd

18 декабря 2020 г.

Поломал разрешение AstraLinux

 Иногда, когда xrandr не получает текущие разрешения экрана, появляется окно, с просьбой ввести разрешение экрана. Чтобы не гуглить и на глазок не выбирать выставляем 20. А дальше идем в файл /etc/X11/fly-dm/fl-y-dmrc
В нем находим директиву ServerArgsLocal и после ...tcp дописываем -dpi 96

Рестартим fly-dm и вуаля

Тестировалось на Astra Linux Smolensk Edition 1.5/1.6

7 декабря 2020 г.

Галерея красивых иконок для LibreOffice

Если нет возможности использовать Microsoft Visio для рисования карты сети - не беда.
Для LibreOffice Draw есть пара красивых галерей. Одна из них VRT Network Equipment.
В этом архиве помимо VRT Network Equipment, присутствует еще ICT Shapes

 Устанавливается так:

1. Запускаем LibreOffice Draw

2. Главное меню -> Сервис -> Управление расширениями -> Добавить

3. Выбрать файл *.oxt