И это всё МОЁ

Всем привет,


Имеется следующая разметка FS:


/dev/sda
/dev/sda1
/dev/sda2
/dev/sda3
/pve-swap
/pve-root /
/pve-data

/dev/sdb
/dev/sdb1
/dev/sdb2 /boot/efi
/dev/sdb3
/dev/md0 /boot
/dev/sdb4
/dev/md1


При такой конфигурации система грузится и все работает нормально.


Стоит задача привести систему к виду (диск /dev/sda должен остаться чистым для последующего включения в raid1):


/dev/sda
/dev/sda1
/dev/sda2
/dev/sda3

/dev/sdb
/dev/sdb1
/dev/sdb2 /boot/efi
/dev/sdb3
/dev/md0 /boot
/dev/sdb4
/dev/md1
/pve-swap
/pve-root /
/pve-data


Делаю следующие манипуляции:


pvcreate /dev/md1
vgextend pve /dev/md1
pvmove /dev/sda3 /dev/md1
vgreduce pve /dev/sda3
pvremove /dev/sda3
update-initramfs -u && update-grub


После этого система отказывается перезагружаться, посмотреть в чем дело не могу ибо сервер в датацентре.


Насколько я понимаю модуль lvm в grub загружен раз оно грузится при том что / на LVM находится изначально. Бьюсь уже второй день, пока что переставляю систему чтобы попробовать вот это:


echo "BOOT_DEGRADED=true" > /etc/initramfs-tools/conf.d/mdadm 

bootdegraded=1 в GRUB_CMDLINE_LINUX


/etc/mdadm/mdadm.conf также обновлен с данными raid при этом update-initramfs -u делаю постоянно.


Подскажете куда еще смотреть?









 ,








И это всё МОЁ

curufinwe! Смотри что на берег вынесло https://www.youtube.com/watch?v=F-WHBgIowmU

Лень почтовик открывать, слать напрямую :)








 ,








И это всё МОЁ

Здравствуйте, меня интересует такой вопрос а именно:
как мне при подключении к RPI3 вывести на экран телефона, ввод с клавиатуры в TTY, которая при этом физически подключена к малине?

Коротко: Я хочу использовать свой телефон как монитор.
Мне нужна трансляция ввода с клавиатуры(USB RPI3) в консоль(Phone SSH).

Мой телефон не поддерживает OTG поэтому единственная возможность это подключение клавиатуры к USB порту малины.








 








И это всё МОЁ

Только сейчас заметил что установленно неправильное время. Поставил timezone на Asia/Yekaterinburg но все равно получал неправильное время.


timedatectl:



          Local time: Пн 2020-05-11 06:13:18 +05
Universal time: Пн 2020-05-11 01:13:18 UTC
RTC time: Пн 2020-05-11 01:13:18
Time zone: Asia/Yekaterinburg (+05, +0500)


На момент написания поста - utc - 12:31, а в Екб - 17:31


Как исправить?









 , ,








И это всё МОЁ

Коллеги , а кто нибудь использовал эту технологию RIST https://thebroadcastknowledge.com/2019/02/25/video-rist-an-evolutionary-video-transport-protocol/ ?


Прошу поделиться опытом , буду отдавать видеофайлы с сервака









 ,








И это всё МОЁ

Когда я только переходил на Linux, то много читал о том, что Linux невозможно повесить, «это тебе не винда», и что в нем дофига способов обойтись без кнопки перезагрузки на системнике. Раньше мне это было как-то до фонаря, но в последнее время из-за глюков VLC в ubuntu постоянно были зависания, когда ставил фильм на паузу дольше минуты. Не помогало ничего, никакие советы, никакие комбинации клавиш и т.д. Только перезагрузка с системника.


Неужели в Linux не существует нормального способа перезапуска сеанса в таких ситуациях? Почему ничего не придумывают? На новых компах щас даже не всегда такая кнопка есть, не каждый догадается, что надо удерживать кнопку включения. Да и способ как по мне не очень, насиловать блок питания каждый раз.









 , ,








И это всё МОЁ

Привет,стоит Арч. Нужны ли драйвера на intel graphics 2000?(xf86-video-intel) и нужен ли openGL(mesa)?









 , , ,








И это всё МОЁ

Не напомните, в каком патче появилась поддержка FullHD? Раньше он поддерживал только квадратные мониторы, но точно несколько лет назад была новость, что появился widescreen. Это вроде был последний патч за много лет. Какое разрешение максимальное поддерживает теперь (без хаков)?


Тут на днях попробовал Warcraft 3: Reforged, обплевался и удалил. В детстве прошел классику на квадратном мониторе, но игры уже нет, придется заново покупать, хочется знать как там с большими разрешениями, хотя-бы FullHD будет? На 4K не надеюсь конечно… Модов на хороший графон за 20 лет почему-то так и не вышло.









 , ,








И это всё МОЁ

Некоторые иконки не видны, application styles не применяются.
https://ibb.co/3ThMsSZ
https://ibb.co/crybc0L









 ,








И это всё МОЁ

Библиотека Pango перешла от использования FreeType для получения информации о шрифтах к HarfBuzz, а разработчики последнего приняли решение не поддерживать такой метод сглаживая шрифтов.


Пользователи, которые перешли с версии Pango 1.43 на 1.44 заметили, что отображение некоторых семейств шрифтов ухудшилось или полностью сломалось.


В ответ на критику разработчики HarfBuzz ответили: «Вы можете попытаться привыкнуть к «мыльному» рендерингу или попытаться найти что-то еще. Вы же используете Open Source, понимаете? И те кого не устраивает текущее состояние могут создать форк Pango.»


Подробности


Перемещено alpha из gnome









 , ,








И это всё МОЁ

Библиотека Pango перешла от использования FreeType для получения информации о шрифтах к HarfBuzz, а разработчики последнего приняли решение не поддерживать такой метод сглаживая шрифтов.


Пользователи, которые перешли с версии Pango 1.43 на 1.44 заметили, что отображение некоторых семейств шрифтов ухудшилось или полностью сломалось.


В ответ на критику разработчики HarfBuzz ответили: «Вы можете попытаться привыкнуть к «мыльному» рендерингу или попытаться найти что-то еще. Вы же используете Open Source, понимаете? И те кого не устраивает текущее состояние могут создать форк Pango.»









 , ,








И это всё МОЁ

Доброго времени суток, формучане.
Столкнулся с проблемой. При запуске нескольких приложений начинает очень сильно тупить система. Может и оболочка такая, может и ресурсов не хватает, хотя проц не сильно загружен и оперативы хватет. На Windows таких проблем не наблюдается, всё работает чётко даже при максимальных нагрузках.
Во частный пример. Запускаю бразуер(хром) в двух окнах. На одном работаю в гугл документах, а на другом яндекс музыка. Стоит мне только запустить что-то одно, так сразу начинает всё тормозить. Проц нагружен на процентов 10-15, а по ощущениям так на 90-100
Может кто-то сталкивался с подобными вещами? Подскажите решение.
Ресурсы:
Ноутбук
intel core i5-8250u
Видюха: Nvidia mx150
ОЗУ: 8gb dd4
Хранилище: ssd 256gb + 256gb


Дистрибутив Kubuntu 20.04 LTS









 , ,








И это всё МОЁ

Тестирую https://github.com/wrouesnel/postgres_exporter


В postgresql статистика по commit суммируется в pg_stat_statement. Как в prometheus вычесть из текущего счетчика commit счетчик commit за предыдущую минуту?


Скрин где значение статистики из pg_stat_statement непрерывно растет
https://habrastorage.org/webt/gk/0l/yh/gk0lyhc-afr26pedbcnar2f0vxi.png









 ,








И это всё МОЁ

Добрый день!
Помогите, пожалуйста, разобраться в вопросе. Есть домашний сервер на Ubuntu 18.04, которая установлена на программный RAID, созданный средствами BTRFS.
На сервере установлен nginx, который работает как web-proxy и несколько web-приложений, nextcloud через snap, zoneminder, piwigo, onlyoffice document sererver через docker.
Есть задача делать снапшоты всей системы. Как я понял, docker создает множество сабвольюмов в var/lib/docker/btrfs/subvolumes. При монтировании /dev/sdb1, на котором установлена система, в /mnt вижу только сабвольюм @, в котором находится корень. При команде btrfs subvolume list / вижу его и дюжину сабволюмов docker.
Вопрос в следующем, при снапшоте всего корневого раздела, делается ли бекап данных docker? Надо ли останавливать контейнеры при снапшоте?
На другом сервере с примерно аналогичной конструкцией при откате на старый снапшот, увы, контейнеры docker не заработали.
Заранее большое спасибо!









 , , ,








И это всё МОЁ

Gentoo, конвертирую:

ffmpeg -i filein.mp4 -strict -2 fileout.webm

не идёт:

[vorbis @ 0xaaaaeeb0f600] Current FFmpeg Vorbis encoder only supports 2 channels.
Error initializing output stream 0:1 -- Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height

Что можно предпринять?








 ,








И это всё МОЁ

Добрый день.

Есть VPS, использующийся в качестве VPN сервера и гейта в интернет.
И все устраивает, кроме того, что с него/через него недоступен telegram. Ни через приложения, ни через сайт.

Хостер мамой клянется, что у них блокировки нет и валит вину на апстрим.

Но в этом есть причина сомневаться, смотрите:

( читать дальше... )


Получается, пакеты пропадают в сети хостера и до апстрима даже не доходят?

Цитата из ответа ТП: «Такое может быть если блокировка делается на пограничном оборудовании.»

Может быть такое? Или хостер мне нагло врёт?

Подскажите, пожалуйста.








 , ,








И это всё МОЁ

В pango 1.44 выкинули хинтинг и перешли целиком на harfbuzz. Никаких вам больше сглаживаний, покупайте нормальные мониторы.









 , , ,








И это всё МОЁ

записи с предыдущих конференций можно найти на их канале в youtube









 , , , ,








И это всё МОЁ

Правильно ли я понимаю, что что зашифровав по алгоритму aes-256-cbc одни и те же данные одним и тем же ключом с одним и тем же вектором инициализации я должен ВСЕГДА получать одинаково-зашифрованные данные? Ну, то есть, это — чистая функция и не зависит от реализации?

Дивитесь:

$ cat key 
01234567890123456789012345678901

$ cat iv
0123456789012345

$ echo -n "hello" | openssl enc -aes-256-cbc -K `cat key` -iv `cat iv` | base64
vRoZmUYh969H18TjJfldYw==

$ echo -n "hello" | ./aes_enc `cat key` `cat iv` | base64
VcyOES9/0YifXvnZKo8c4g==

$ cat aes_enc.c
#include <openssl/conf.h>
#include <openssl/evp.h>
#include <openssl/err.h>
#include <string.h>
#include <stdio.h>

#define MAX_STR 1000

// compile:
// gcc aes_enc.c -lcrypto -o aes_enc

void handleErrors(void)
{
ERR_print_errors_fp(stderr);
abort();
}

int encrypt(unsigned char *plaintext, int plaintext_len, unsigned char *key,
unsigned char *iv, unsigned char *ciphertext)
{
EVP_CIPHER_CTX *ctx;

int len;

int ciphertext_len;

/* Create and initialise the context */
if(!(ctx = EVP_CIPHER_CTX_new()))
handleErrors();

/*
* Initialise the encryption operation. IMPORTANT - ensure you use a key
* and IV size appropriate for your cipher
* In this example we are using 256 bit AES (i.e. a 256 bit key). The
* IV size for *most* modes is the same as the block size. For AES this
* is 128 bits
*/
if(1 != EVP_EncryptInit_ex(ctx, EVP_aes_256_cbc(), NULL, key, iv))
handleErrors();

/*
* Provide the message to be encrypted, and obtain the encrypted output.
* EVP_EncryptUpdate can be called multiple times if necessary
*/
if(1 != EVP_EncryptUpdate(ctx, ciphertext, &len, plaintext, plaintext_len))
handleErrors();
ciphertext_len = len;

/*
* Finalise the encryption. Further ciphertext bytes may be written at
* this stage.
*/
if(1 != EVP_EncryptFinal_ex(ctx, ciphertext + len, &len))
handleErrors();
ciphertext_len += len;

/* Clean up */
EVP_CIPHER_CTX_free(ctx);

return ciphertext_len;
}

int main(int argc, char *argv[]) {
unsigned char out[MAX_STR];
unsigned char in[MAX_STR];

int in_len = 0;

in_len = fread( (unsigned char *)in , 1, MAX_STR, stdin );

int out_len = encrypt( in, in_len, argv[1], argv[2], out);
out[out_len] = '\0';

printf("%s", out);

return 0;
}









 








И это всё МОЁ

/* Программа измерения и контроля длительности импульса */


#include <ADuC842.h> // Описание регистров МК ADuC842


#include <stdio.h> // Подключение стандартной библиотеки ввода-
вывода


unsigned char mCountTik=0; // Счетчик числа переполнений Таймера 0


unsigned char mProv=0; // Счетчик числа проверок


unsigned long mDlitImp=0; // Переменная для записи длительности импульса


sbit RS=P3^5; // Вывод МК для связи с ЖКИ


sbit RW=P3^6; // Вывод МК для связи с ЖКИ


sbit E=P3^7; // Вывод МК для связи с ЖКИ


sbit BUZY_LCD=P1^7; // Вывод МК для связи с ЖКИ


unsigned char STATE_LCD; // Определение переменной состояния ЖКИ
/* Определение функции задержки */


void delay (long i)


{


long a;


for (a=0;a<i;a++);


}


/* Определение функции готовности ЖКИ */


void wait_lcd (void)


{


do {


E=1;


RS=0;


RW=1;


P1=0xFF;


STATE_LCD=BUZY_LCD;


E=0;


} while (STATE_LCD!=0);


RW=0;


}


/* Определение функции очистки экрана */


void clear_lcd (void)


{


E=1;


RS=0;


RW=0;


P1=0x01;


E=0;


wait_lcd();
}


/* Определение функции записи символа на дисплей */


void write_char (unsigned char *c1)


{


E=1;


RS=1;


RW=0;


P1=*c1;


E=0;


wait_lcd();


}


/* Определение функции инициализации ЖКИ */


void init_lcd (void)


{


delay(1849);


E=1;


RS=0;


RW=0;


P1=0x30;


E=0;


delay (505)


E=1;


RS=0;


RW=0;


P1=0x30;


E=0;


delay (18);


E=1;


RS=0;


RW=0;


P1=0x30;


E=0;


wait_lcd();


E=1;


RS=0;


RW=0;


P1=0x3C;


E=0;


wait_lcd();
}


/* Программа вывода измеренного значения на ЖКИ */


void vivodDlitImp (void)


{


idata char buf[32]; // Массив для форматизированного вывода строки


char *pbuf=buf; // Указатель массива


int bytes, cnt; // Переменные для организации вывода строки символов


bytes=sprintf(buf,«%s»,«DlitImp=»;); // Запись строки в массив


bytes+=sprint(buf+bytes,«%.4d»,mDlitImp); // Запись переменной в массив


for (cnt=0;cnt<bytes;cnt++); // Вывод строки символов на ЖКИ


write_char(pbuf++);


}


/* Программа прерывания по переполнению Таймера 0 */


void t0ISR (void) interrupt 1


{


TR0=0; // Остановка счета Таймера 0


TH0=0; // Обнуление старшего байта Таймера 0


TL0=0; // Обнуление младшего байта Таймера 0


TR0=1; // Запуск счета Таймера 0


mCountTik++; // Инкрементирование переменной mCountTik
}


/* Главная программа */


void main (void)


{


TH0=0; // Обнуление старшего байта Таймера 0


TL0=0; // Обнуление младшего байта Таймера 0


TMOD=0x19; /Установка режима работы Таймера 0 (16 разрядный
счет, бит GATE=1 – запуск таймера при наличии сигнала на выходе
INT0 и TR=1)
/


ET0=1; // Разрешение прерывания по переполнению Таймера 0


EA=1; // Разрешение всех прерываний


while (INT0); // Ожидание окончания импульса


init_lcd(); // Инициализация ЖКИ


clear_lcd(); // Очистка экрана


/* Измерение длительности импульса */


while (1) {


TR0=1; // Запуск Таймера 0


while (!INT0); // Ожидание начала импульса


while (INT0); // Ожидание окончания импульса


TR0=0; // Остановка Таймера 0


mDlitImp=((TH0<<8)|(TL0)|(mCountTik<<16)); /* Присвоение
результата измерения переменной mDlitImp */


mDlitImp=mDlitImp/2097152; /* Преобразование кода в длительность импульса, путем деления на частоту работы тактового генератора (2097152 Гц), полученное значение измеряется в секундах*/


TH0=0; // Обнуление старшего байта Таймера 0


TL0=0; // Обнуление младшего байта Таймера 0


/* Сравнение полученного значения с допустимыми пределами */


if ((mDlitImp<20/1000)&&(mDlitImp>80/1000)) {


mProv++; // Инкрементирование переменной счета числа проверок


delay (12331); // Задержка 0.1 с


if (mProv=10) {


clear_lcd(); // Очистка экрана ЖКИ


vivodDlitImp(); // Вывод последнего измеренного значения


delay(308299); // Задержка 2.5 с.


mProv=0; // Обнуление переменной счета числа проверок


}


}


else {


mProv=0; // Обнуление переменной счета числа проверок


}


}