Linux: работа с текстом (fmt, sed, awk, tr, cut, cat/tac, tee, column, uniq, sort)

GREP в отдельной статье

fmt
  • примеры есть в cheat.sh
  • вариаций форматирования много

Форматирование данных на входе – к примеру по умолчанию fmt осуществит форматирование, которое приведет к лучшему чтению:

    • объединение слов в одну строку если слов мало в каждой строке
    • или наоборот, вместо одной длиной строки сделает несколько коротких
root@serv:~# cat >sw
Hello
world
and
not
world
root@serv:~# fmt sw
Hello world and not world

root@spr:~# cat >sw
Hello world and not world Hello world and not world Hello world and not world Hello world and not world Hello world and not world Hello world and not world
root@spr:~# fmt sw
Hello world and not world Hello world and not 
world Hello world and not world Hello world 
and not world Hello world and not world 
Hello world and not world


tr ; CUT
  • подмена всех символов на lower
echo <WoRd> | tr '[:upper:]' '[:lower:]'
  • подмена всех пробелов на \n (все слова с новой строки)
echo <file> | tr ' ' '\n'
  • The cut utility cuts out selected portions of each line (as specified by list) from each file and writes them to the standard output
# Print a range of each line with a specific delimiter:
command | cut --delimiter="," --fields=1

# Print a specific character/field range of each line:
command | cut --characters|fields=1|1,10|1-10|1-|-10

Подмена всех пробелов (в том числе повторяющихся) на одну запятую с использованием tr и опции -s

 -s Squeeze multiple occurrences of the characters listed in the last operand (either string1 or string2) in the input into a single instance of the character.


Читать дальше

Системное программирование (C, C++, RUST) и узкоспециализированные языки (fortran, cobol)

  • Для отладки кода C, в том числе даже таких крупных проектов (напр. пропусков атак в них) как snort/suricata можно и нужно использовать отладчик GDB.
The GNU Debugger (GDB) is a portable debugger that runs on many Unix-like systems and works for many programming languages, including Ada, Assembly, C, C++, D, Fortran, Haskell, Go, Objective-C, OpenCL C, Modula-2, Pascal, Rust and partially others.


Читать дальше

Linux, работа с дисками – разделы, файлы, файловые системы в ОС, LVM (ls, lsblk, fdisk, find, rm/mdir/shred/tmpwatch, dd, synctoy, df, du, tree, iotop, parted, mkfs, mount, fstab, fsck, find, clonezilla, parted/gparted, OSFmount, ln, life cd&usb, flock, iotop/iostat/lsof, split, paste)

разное/ОПРЕДЕЛЕНИЯ

  • Основные мониторинг объекты хранения:

    1. утилизация памяти (дисков/ram/swap)
      1. 100% утилизация в df под snap/cd/dvd это нормально т.к. Snap всегда полностью утилизированы – они доступны только на read
    2. Iops (inout/output operations per second – read/write)
    3. Методы добавления места
    4.     (0) Сначала убедиться что то, что занимает место хранения это легитимные файлы (du)
    5.     (1) LVM, если используется, позволяет в сценариях необходимости добавления памяти хорош – просто добавляем к старому диску еще один новый и пользуемся
    6.     (2) Перенести часть тяжеловесных директорий со старого диска на новый и смонтировать их туда
    7.     (3) Склонировать полностью старый диск на новый более объемный
  • Все в Linux есть файл.


Читать дальше

Гипервизоры VirtualBox/WorkStation/Fusion/ESXI/Hyper-V/XEN; KVM/QEMU (oVirt/Proxmox VE)

  • (Rfc 9411, virtualization) Советы бывалых при тестировании на производительность сетевых решений в виртуализации
    1. использовать numa/cpu core pinning
    2. использовать DirectPath I/O (PCI passthrough или SR-IOV)
      • Peripheral Component Interconnect (PCI) passthrough gives VNFs direct access to physical PCI devices that seem and behave as if they were physically connected to the VNF.


Читать дальше

WordPress разные хинты

Разное
  • Usage статистика WordPress по  используемым версиях WordPress, PHP, Mysql, locale, etc
  • Для проигрывания GIF нужно выбирать full size при insert картинки в пост, иначе она будет статичной
  • Чтобы постить source-code почти без изменений (скобки пришлось подменять все равно) нужно использовать плагин SyntaxHighlighter.


Читать дальше

Network: Packet Broker, Balancer (пакетные брокеры и L3-L7 балансировщики: nginx, haproxy, f5, radware, citrix, nfware, etc)

  • (Ngfw с выдержками, proxy/balancer только header) Выдержка из статьи цифровых решений (dsol) о плюсах intel qat на базе cpu (тк у них нет продукта балансера с реализованным decrypt они это пиарят)
  • Пакетные брокеры с функционалом балансировки. Часто встречаемое решение в последнее время, особенно в фин.


Читать дальше

Coding: Python

  • Python.org – основной сайт. Тут можно скачать актуальный python на windows/linux/mac os, посмотреть документацию
  • Гвидо ван Россум – творец языка. По сути аналог Линус Торвальдса для Linux. 1989 год Голландский разработчик Гвидо ван Россум в качестве хобби-проекта во время рождественских каникул создает язык программирования Python.


Читать дальше

Coding: архитектура, программирование и разработка, devops, ITIL/IT management

  • о code review / код ревью

  • (Мониторинг, devops) Как tivoli менеджер проникся puppet и практиками devops для эксплуатации

Развитие технология, изменение стеков, изменение подходов
  • Era: mainframe – client/server – cloud
  • Language: cobol – c – java
  • Cycle time: Years – months – weeks
  • Costs: Billion – million – 100k
  • Risks: company – product – feature

Разные цели эксплуатации и разработки (operations & development)

Программирование Best Practices

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



Читать дальше

Основы VCS на примере Git, patch/diff

  • https://git-scm.com/ – тут крутые entry видео, документация и прочее
  • с помощью ChatGPT Deep Research можно изучить любой GitHub проект

 

patch/diff
  • Утилита patch позволяет создать код на основе diff одной версии кода от другой
  • До сих пор на kernel.org есть возможность обновить одну версию ядра на другую используя diff между последовательными версиями через утилиту patch, это позволяет не выкачивать весь код, а скачать diff и применить его через patch
  • В целом patch/diff старый допотопный способ vcs (один разраб отправлял diff другому и тот через patch мог получить версию кода разраба), сейчас при разработке ядра linux не используется в пользу git, но при этом патчи до сих пор используются, например
    • для поддержки драйвера RAID в каком то ядре поставщик может предоставлять софт в виде патча для определенной версии ядра
    • для задач безопасности, например, grsecurity, выпускающий ранее бесплатно (теперь платно) патчи безопасности для ядра и доп.


Читать дальше

Artificial Intelligence (AI): Machine learning (ML), Deep Learning (DP); оценка эффективности ML моделей


Американские компании OpenAI и Amazon Web Services (AWS) заключили соглашение о стратегическом партнерстве в области искусственного интеллекта на $38 млрд, сообщает Bloomberg. Соглашение рассчитано на семь лет и предусматривает предоставление OpenAI доступа к облачной инфраструктуре AWS.  Речь идет о сотнях тысяч графических процессоров Nvidia Corp.



Читать дальше