Rescue partition

testdisk

TestDisk is powerful free data recovery software! It was primarily designed to help recover lost partitions and/or make non-booting disks bootable again when these symptoms are caused by faulty software: certain types of viruses or human error (such as accidentally deleting a Partition Table). Partition table recovery using TestDisk is really easy.

ddrescue

GNU ddrescue is a data recovery tool. It copies data from one file or block device (hard disc, cdrom, etc) to another, trying to rescue the good parts first in case of read errors.

dd_rescue

Like dd, dd_rescue does copy data from one file or block device to another. You can specify file positions (called seek and Skip in dd).

More recover tools

[Linux] Tracing: bcc-tools, bpftrace

BCC is a toolkit for creating efficient kernel tracing and manipulation programs, and includes several useful tools and examples. It makes use of extended BPF (Berkeley Packet Filters), formally known as eBPF, a new feature that was first added to Linux 3.15. Much of what BCC uses requires Linux 4.1 and above.

bpftrace is a high-level tracing language for Linux enhanced Berkeley Packet Filter (eBPF) available in recent Linux kernels (4.x)

[FreeBSD] Альтернативний TCP-стек на прикладі RACK

Дана стаття є вільним перекладом цієї .

Якщо вас якимось чином не влаштовує стандартний стек TCP, то, починаючи з 13.0, можна використовувати свій власний. В даній статті ми розглянемо RACK-TLP TCP стек. Основна суть якого, в передачі timestamps, і при втраті пакету за рахунок цього швидше відновлюється передача даних. Тобто, даний стек буде біль ефективним в мережах з частими обривами звʼязку. У стабільних мережах, його немає сенсу застосовувати.

Читати далі

[FreeBSD] Install from Linux

1) Install Linux (Debian)
2) Install grub-iso
3) upload liveCD mfsBSD.iso
4) set network settings via kFreeBSD.mfsbsd.ifconfig in /boot/grub/grub.cfg
menuentry "$file1" {
set isofile=/boot/images/$file1
loopback loop (hd0,1)\$isofile
kfreebsd (loop)/boot/kernel/kernel.gz -v
kfreebsd_module (loop)/boot/kernel/ahci.ko
kfreebsd_module (loop)/mfsroot.gz type=mfs_root
set kFreeBSD.vfs.root.mountfrom="ufs:/dev/md0"
set kFreeBSD.mfsbsd.hostname="$hostname"
set kFreeBSD.mfsbsd.mac_interfaces="ext1"
set kFreeBSD.mfsbsd.ifconfig_ext1_mac="${iface_mac}"
set kFreeBSD.mfsbsd.ifconfig_ext1="inet $ip/${ip_mask_short}"
set kFreeBSD.mfsbsd.defaultrouter="${ip_default}"
set kFreeBSD.mfsbsd.nameservers="8.8.8.8 1.1.1.1"
set kFreeBSD.mfsbsd.ifconfig_lo0="DHCP"
...
}
5) Reboot

Даний мануал не мій, знайшов в мережі інтернет.

[exim] postfixadmin: використовуємо квоти для цілого домену.

Одразу скажу, що нормального вирішення саме по квотам для цілого домену я не знайшов, тому зробив декілька workaround’ів. Я використовую звʼязку exim (+dovecot delivery) + dovecot + postfixadmin.

postfixadmin

Тут все достатньо просто. Вмикаємо підтримку квот в конфігу:

$CONF['quota'] = 'YES';
$CONF['domain_quota'] = 'YES';

Читати далі

Деякі хитрі методи видалення/очистки файлів

Тут будуть описані деякі методи, які краще використовувати у HighLoad, замість класичних, оскільки вони менше навантажують ПЗ.

  • truncate

Дозволяє обрізати файл до розміру, який вказано, наприклад, до 5Gb (зараз файл займає, наприклад, 10Gb):

$ truncate -s 5G file

Зауваження.

Чим цей метод краще, ніж, echo > file. Тим, що echo це робить дуже агресивно і дуже навантажує диски, а також блокує файловий дескриптор. truncate можна виконувати, наприклад, поєтапно, за 1 раз “обрізаючи” по 1Gb, або менше.

Читати далі

udp load balancer

Не так багато існує варіантів, щоб реалізувати тему, тому запишу сюди:

[Solaris] Зламаний openssl зламав систему.

Якщо ви невдало поесперементували з mediator’ом openssl і отримали щось, на зразок такого:

root@old:~# bootadm list-menu
Traceback (most recent call last):
  File "/usr/lib/python3.7/vendor-packages/bootadm-helper.py", line 29, in 
    from bemgmt import BEManager
  File "/usr/lib/python3.7/vendor-packages/bemgmt/__init__.py", line 45, in 
    from bemgmt.be import USERPROP_ZONE_PARENTBE, ALLOWED_POLICIES, \
  File "/usr/lib/python3.7/vendor-packages/bemgmt/be.py", line 22, in 
    from bemgmt.utils import get_be_pool_and_name, get_mountpoint_from_vfstab, \
  File "/usr/lib/python3.7/vendor-packages/bemgmt/utils.py", line 20, in 
    from bemgmt.zfs_rad import ZfsRad
  File "/usr/lib/python3.7/vendor-packages/bemgmt/zfs_rad.py", line 17, in 
    import rad.connect as radcon
  File "/usr/lib/python3.7/vendor-packages/rad/connect.py", line 21, in 
    import ssl
  File "/usr/lib/python3.7/ssl.py", line 98, in 
    import _ssl             # if we can't import it, let the error propagate
ImportError: ld.so.1: bootadm: relocation error: file /usr/lib/python3.7/lib-dynload/_ssl.cpython-37m.so: symbol GENERAL_NAME_free: referenced symbol not found
bootadm: Unable to load python helper module

Читати далі

[Windows] RDP: різні трюки та покращення

Multi-сессійний

Для цього використаємо RDPwrap , а саме виконаємо таку команду:

>RDPWInst.exe ‐i ‐s

Працює, починаючи з Vista.

tunnel TCP traffic over an RDP Virtual Channel.

Для цього можна використати rdp-tunnel

Повільний RDP, коли заборонений інтернет

Зіштовхнувся з проблемою, коли клієнти підключаються до віддаленного RDP з дуже великою затримкою (може тривати до 40-50 секунд). При чому, проявляється лише у тих клієнтів, які не мають доступу до інтернету. Відключення телеметрій, спроби виявити службовий трафік на шлюзу не привели до успіху. Проблема, як виявилося, у автоматичному оновленні корневих сертифікатів. При відсутності доступ до інтернету воно все гальмує. Відключимо це (робимо через групові політики) на клієнті:

Computer Configuration ---> Policies ---> Administrative Templates ---> System ---> Internet Communication Settings ---> "Turn off Automatic Root Certificates Update"

і виставляємо в Enabled. Якщо не запрацювало одразу, треба перевантажити клієнт.