И это всё МОЁ

Добрый день! Со временем начал замечать, что win-машины в кластере нуждаются в периодическом восстановлении системных файлов через SFC, иначе они просто умирают в течение года. Иногда и это становится невозможным и приходится восстанавливать.

Под диски использую NFS или RBD на Ceph и никакой разницы. Подскажите, пожалуйста, может кто знает куда копать?

Сравниваю с железным файловым сервером на WinServer2012R2, который успешно и без перезагрузок работает уже лет 5 и хоть бы хны!

Заранее благодарен.








 , , ,








И это всё МОЁ

Ставлю rEFInd на Arch с включенным Secure Boot (и предустановленным Windows)

sda1 (esp раздел) смонтирован в /boot/efi

PreLoader.efi и HashTool.efi в /usr/share/preloader-signed/

pacman -S refind-efi

refind-install --usedefault /dev/sda1 --alldrivers --preloader /usr/share/preloader-signed/PreLoader.efi


Подтверждаю установку (хоть и не понимаю, почему компьютер не выглядит, будто Secure Boot включён):


«You've specified installing using a shim.efi file, but your computer does not appear to be running in Secure Boot mode. Although installing in this way should work, it's unnecessarily complex. You may continue, but unless you plan to enable Secure Boot, you should consider stopping and omitting the --shim option. You can read more about this topic at http://www.rodsbooks.com/refind/secureboot.html.

Do you want to proceed with installation (Y/N)?»

После чего в /boot/efi/EFI/Boot появляется refind.conf

ls /boot/efi/EFI/Boot/
BOOT.CSV HashTool.efi bootx64.efi bootx64.efi~ drivers_x64 icons keys loader.efi refind.conf

cat /boot/efi/EFI/Boot/refind.conf

После перезагрузки, загрузился Windows. Без каких-либо альтернатив. Подскажите, пожалуйста, что я делаю не так.








 , , ,








И это всё МОЁ

Nvidia начала публиковать свободную документацию по интерфейсам своих графических чипов. Это позволит усовершенствовать открытый драйвер nouveau.
Публикуемая информация включает сведения о семействах Maxwell, Pascal, Volta и Kepler, данных о чипах Turing на текущий момент нет. В составе информации есть данные о BIOS, инициализации и управлении устройствами, режимах энергопотребления, управлении частотами и т. д.
Вся опубликованная информация доступна на GitHub.








 , , ,








И это всё МОЁ

Всем привет. )

Решил копнуть чуть глубже в kubernetes...

Что-бы понять что-то - нужно на этом что-то сделать...

Задача.

Есть домен example.com.

есть N-поддоменов вида: 12345.example.com

и для каждого поддомена [\d+].example.com запускается nodejs.

Т.е. должно быть что-то такое:

nginx -> pod'ы на которых запущен инстанс nodejs для поддомена [\d+].example.com.

Вот как это все организовать на kubernetes что-то вообще не понимаю, точнее как-то все «не в куче», не могу собрать что где и как должно.

Подскажите как оно должно быть?

Может есть статейки с подобным решением?

Спасибо.








 ,








И это всё МОЁ

https://habr.com/ru/post/459240/

Шизофреник-программист пишет о том, коррелирует ли шизофрения с гениальностью (статистика: шизофреники в среднем немного тупее), о доле шизофреников в IT (на Хабре их 5), о том, как шизофреник может скрываться в IT-шной компании (вежливый, трудолюбивый, безропотный, склонный к переработкам, действует не гениальными озарениями, а целенаправленным трудом), а также высказывает своё мнение о бюджетной медицине (поможет, но не долечит), антипсихиатрических форумах (зло), нейролептиках (необходимое зло, без них хуже, прогресс рулит), психотерапии (полезна, но не всесильна), психоанализе (бесполезен), НЛП (бесполезен)...








 








И это всё МОЁ

Доброго времени суток!

После запуска selinux c бубном в этой теме, я плавно подошёл к следующему вопросу:
при любой попытке выполнить управляющую команду, выдаётся ошибка:

# semanage fcontext -l
ValueError: SELinux policy is not managed or store cannot be accessed.
# semanage login -l
ValueError: SELinux policy is not managed or store cannot be accessed.
# sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: permissive
Mode from config file: permissive
Policy MLS status: enabled
Policy deny_unknown status: denied
Max kernel policy version: 30

Такое ощущение, что сам selinux и не разрешает мне себя настраивать. Подскажите, пожалуйста.

P.S. Система — AltLinux 8 Server
P.P.S.
# id -Z
user_u:user_r:user_t:s0








 ,








И это всё МОЁ

Коллеги!
В связи с переквалификацией из СА в кодеры ищу работу, связанную с Web development.
О себе - СА, эникей и т.д. и т.п. С 2000 года. Стандартные навыки и скилзы для СА. Начал изучать JS осенью прошлого года. Начал с CodeWars, дошел до 5-го дана (410 pts.), потом почувствовал, что застрял. Начал писать свой проект на React (https://u.to/d14KFg), который потихоньку до сих пор допиливаю под себя, ну и с учетом выявленных багов. Выполнил тестовое задание https://u.to/kmUKFg, но не успел, меня опередили.
Короче, если нужен помощник с начальными знаниями JS, React, CSS, HTML, Python - буду рад.








 , , , ,








И это всё МОЁ
На конференции разработчиков Huawei была официально представлена ОС Hongmeng (Harmony), которая по утверждениям представителей компании работает быстрей и является более безопасной, чем Android. Новая ОС в основном предназначена для портативных устройств и продуктов интернета вещей (IoT), таких как дисплеи, носимые устройства, умные колонки и инфо-системы автомобилей. Компания заявила, что в случаи потери доступа к лицензии на Android, начнёт применение Harmony незамедлительно.



И это всё МОЁ

Добрый день ребята, играю на Mac Book Pro, до вчерашнего обновления все было хорошо, после обновления перестали срабатывать итемы на клавише Caps Lock и так же не могу при зажатом ALT тыкать позицию на карте, самое интересное оно срабатывает только когда Caps включается ( загорается индикация включеного капса) тогда итем срабатывает, если нажать повторно уже не сработает, а вот если опять нажать и загорится что капсом включен то все сработает, как решить проблему кто знает?








 , ,








И это всё МОЁ

Добрый день колеги, помогите пожалуйсто решить простую задачу
Есть пк на ubunte и nas в одной подсети, nas монтируется через fstab в момент загрузки. По специфике оборудования, бывает что пк включается раньше наса и соотвественно по ип не может подмантирлвать нужный разлел.
Как бы это автоматизировать?
Помогите сделать скрипт который будет переодически проверять смонтирован ли каталог и если что не так подключать его
С уважением








 








И это всё МОЁ

Про HISTCONTROL знаю, однако самый частый паттерн — поднять какой-нибудь git fetch из истории и выполнить его. Сейчас приходится жать ^r, переходить в начало строки. добавлять пробел и только после этого жать на Enter. Хотелось бы нажимать, скажем, Ctrl-Enter, чтобы выполнить команду без оседания ее в истории.

Итого вопрос можно разбить на две части:

  1. как выглядит ctrl-enter для bind-а? Пробовал «подсмотреть» через ^v, так Ctrl-Enter работает похоже на ^j — т. е. вставляет перевод строки.
  2. а что, собственно, биндить-то? «перейти в начало строки», «ввести пробел», «нажать enter»?







 ,








И это всё МОЁ
Представлен релиз интегрированной среды программирования KDevelop 5.4, полностью поддерживающей процесс разработки для KDE 5, в том числе с использованием Clang в качестве компилятора. Код проекта распространяется под лицензией GPL и использует библиотеки KDE Frameworks 5 и Qt 5.



И это всё МОЁ

Usb клавиатура не работает в grub

тут автор менял мать на компе

у меня свежеустановленный Debian 8

проблема та-же

в Grub не работает Usb клавиатура

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""

как побороть?








 








И это всё МОЁ

Сабж, а то в последнее время все чаще бывает, что кидают туда ссылки, но чего-то регаться там ну совсем нет желания.








 ,








И это всё МОЁ

Всем привет!
Стали пухнуть почтовые ящики коллег от кучи старых писем. Сами они прибираться не хотят. Нужно стимулировать но бережно.
Решил попробовать переносить «старую» почту в Архив, а потом уже прибивать её через какое-то время.
Подскажите как лучше переносить почту в архив.
Хочется сохранить структуру «папок» ящика внутри архива.
Пробовал рыть в сторону dovadm search и move. Вроде есть просветы, но подумал вдруг кто-то уже изобрёл велосипед и знает где он стоит...
Может скрипт какой есть, как готовое решение или как образец...








 , ,








И это всё МОЁ

Разогнался я домакоси Как кросскомпилировать из Linux для MacOS? ::) ага, вернулся пересобрать под mingw и что-то я не понял как быть


Сборка для linux идет без проблем если что. Сборка статической библиотеки для Windows также идёт без проблем, а вот .dll уже
выплёвывает мне ошибки.


dron@gnu:~/egnaroc$ make TARGET=Windows -j24
x86_64-w64-mingw32-gcc obj/physics.o obj/egnaroc.o obj/ui.o obj/entity.o obj/threader.o obj/event.o obj/asset.o obj/network.o obj/graphics.o obj/engine.o obj/audio.o obj/ui_style.o obj/ui_slider.o obj/ui_container.o obj/nuklear.o obj/ui_toast.o obj/ui_line.o obj/ui_rectangle.o obj/ui_text.o obj/ui_option.o obj/ui_button.o obj/ui_listbox.o obj/ui_dialog.o obj/ui_textbox.o obj/ui_spinner.o obj/ui_browser.o obj/renderable.o obj/texture.o obj/sound.o obj/music.o obj/language.o obj/config.o obj/shader.o obj/animation.o obj/font.o obj/effect.o obj/material.o obj/cmesh.o obj/terrain.o obj/image.o obj/skeleton.o obj/mouse.o obj/dragdrop.o obj/keyboard.o obj/joystick.o obj/instance_object.o obj/landscape.o obj/animated_object.o obj/light.o obj/physics_object.o obj/particles.o obj/camera.o obj/static_object.o obj/list.o obj/dict.o obj/vertex_list.o obj/int_list.o obj/randf.o obj/trigger.o obj/vertex_hashtable.o obj/spline.o obj/renderer.o obj/sky.o obj/SDL_local.o -lmingw32 -lopengl32 -lSDL2main -lSDL2 -mwindows -lSDL2_mixer -lSDL2_net -shared -L./depends/windows/SDL2-devel-2.0.10-mingw/SDL2-2.0.10/x86_64-w64-mingw32/bin/ -L./depends/windows/SDL2-devel-2.0.10-mingw/SDL2-2.0.10/x86_64-w64-mingw32/lib/ -L./depends/windows/SDL2_mixer-devel-2.0.4-mingw/SDL2_mixer-2.0.4/x86_64-w64-mingw32/bin/ -L./depends/windows/SDL2_mixer-devel-2.0.4-mingw/SDL2_mixer-2.0.4/x86_64-w64-mingw32/lib/ -L./depends/windows/SDL2_net-devel-2.0.1-mingw/SDL2_net-2.0.1/x86_64-w64-mingw32/bin/ -L./depends/windows/SDL2_net-devel-2.0.1-mingw/SDL2_net-2.0.1/x86_64-w64-mingw32/lib/ -o egnaroc.dll
/usr/bin/x86_64-w64-mingw32-ld: obj/texture.o:texture.c:(.text+0xc17): неопределённая ссылка на «__imp_glTexImage3D»
/usr/bin/x86_64-w64-mingw32-ld: obj/texture.o:texture.c:(.text+0x19fa): неопределённая ссылка на «__imp_glCompressedTexImage2D»
/usr/bin/x86_64-w64-mingw32-ld: obj/texture.o:texture.c:(.text+0x1ff4): неопределённая ссылка на «__imp_glTexImage3D»
/usr/bin/x86_64-w64-mingw32-ld: obj/shader.o:shader.c:(.text+0x134b): неопределённая ссылка на «__imp_glActiveTexture»
/usr/bin/x86_64-w64-mingw32-ld: obj/shader.o:shader.c:(.text+0x19e8): неопределённая ссылка на «__imp_glActiveTexture»
/usr/bin/x86_64-w64-mingw32-ld: obj/shader.o:shader.c:(.text+0x1ae8): неопределённая ссылка на «__imp_glActiveTexture»
/usr/bin/x86_64-w64-mingw32-ld: obj/shader.o:shader.c:(.text+0x1bc8): неопределённая ссылка на «__imp_glActiveTexture»
collect2: error: ld returned 1 exit status
make: *** [Makefile:101: egnaroc.dll] Ошибка 1
dron@gnu:~/egnaroc$



Тоже самое но с -v


dron@gnu:~/egnaroc$ make TARGET=Windows -j24
x86_64-w64-mingw32-gcc -v obj/physics.o obj/egnaroc.o obj/ui.o obj/entity.o obj/threader.o obj/event.o obj/asset.o obj/network.o obj/graphics.o obj/engine.o obj/audio.o obj/ui_style.o obj/ui_slider.o obj/ui_container.o obj/nuklear.o obj/ui_toast.o obj/ui_line.o obj/ui_rectangle.o obj/ui_text.o obj/ui_option.o obj/ui_button.o obj/ui_listbox.o obj/ui_dialog.o obj/ui_textbox.o obj/ui_spinner.o obj/ui_browser.o obj/renderable.o obj/texture.o obj/sound.o obj/music.o obj/language.o obj/config.o obj/shader.o obj/animation.o obj/font.o obj/effect.o obj/material.o obj/cmesh.o obj/terrain.o obj/image.o obj/skeleton.o obj/mouse.o obj/dragdrop.o obj/keyboard.o obj/joystick.o obj/instance_object.o obj/landscape.o obj/animated_object.o obj/light.o obj/physics_object.o obj/particles.o obj/camera.o obj/static_object.o obj/list.o obj/dict.o obj/vertex_list.o obj/int_list.o obj/randf.o obj/trigger.o obj/vertex_hashtable.o obj/spline.o obj/renderer.o obj/sky.o obj/SDL_local.o -lmingw32 -lopengl32 -lSDL2main -lSDL2 -mwindows -lSDL2_mixer -lSDL2_net -shared -L./depends/windows/SDL2-devel-2.0.10-mingw/SDL2-2.0.10/x86_64-w64-mingw32/bin/ -L./depends/windows/SDL2-devel-2.0.10-mingw/SDL2-2.0.10/x86_64-w64-mingw32/lib/ -L./depends/windows/SDL2_mixer-devel-2.0.4-mingw/SDL2_mixer-2.0.4/x86_64-w64-mingw32/bin/ -L./depends/windows/SDL2_mixer-devel-2.0.4-mingw/SDL2_mixer-2.0.4/x86_64-w64-mingw32/lib/ -L./depends/windows/SDL2_net-devel-2.0.1-mingw/SDL2_net-2.0.1/x86_64-w64-mingw32/bin/ -L./depends/windows/SDL2_net-devel-2.0.1-mingw/SDL2_net-2.0.1/x86_64-w64-mingw32/lib/ -o egnaroc.dll
Using built-in specs.
COLLECT_GCC=x86_64-w64-mingw32-gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/lto-wrapper
Target: x86_64-w64-mingw32
Configured with: ../../src/configure --build=x86_64-linux-gnu --prefix=/usr --includedir='/usr/include' --mandir='/usr/share/man' --infodir='/usr/share/info' --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir='/usr/lib/x86_64-linux-gnu' --libexecdir='/usr/lib/x86_64-linux-gnu' --disable-maintainer-mode --disable-dependency-tracking --prefix=/usr --enable-shared --enable-static --disable-multilib --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --libdir=/usr/lib --enable-libstdcxx-time=yes --with-tune=generic --with-headers=/usr/x86_64-w64-mingw32/include --enable-version-specific-runtime-libs --enable-fully-dynamic-string --enable-libgomp --enable-languages=c,c++,fortran,objc,obj-c++,ada --enable-lto --enable-threads=win32 --program-suffix=-win32 --program-prefix=x86_64-w64-mingw32- --target=x86_64-w64-mingw32 --with-as=/usr/bin/x86_64-w64-mingw32-as --with-ld=/usr/bin/x86_64-w64-mingw32-ld --enable-libatomic --enable-libstdcxx-filesystem-ts=yes --enable-dependency-tracking
Thread model: win32
gcc version 8.3-win32 20190709 (GCC)
COMPILER_PATH=/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/:/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/:/usr/lib/gcc/x86_64-w64-mingw32/:/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/:/usr/lib/gcc/x86_64-w64-mingw32/:/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/../../../../x86_64-w64-mingw32/bin/
LIBRARY_PATH=/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/:/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/../../../../x86_64-w64-mingw32/lib/
COLLECT_GCC_OPTIONS='-v' '-mwindows' '-shared' '-L./depends/windows/SDL2-devel-2.0.10-mingw/SDL2-2.0.10/x86_64-w64-mingw32/bin/' '-L./depends/windows/SDL2-devel-2.0.10-mingw/SDL2-2.0.10/x86_64-w64-mingw32/lib/' '-L./depends/windows/SDL2_mixer-devel-2.0.4-mingw/SDL2_mixer-2.0.4/x86_64-w64-mingw32/bin/' '-L./depends/windows/SDL2_mixer-devel-2.0.4-mingw/SDL2_mixer-2.0.4/x86_64-w64-mingw32/lib/' '-L./depends/windows/SDL2_net-devel-2.0.1-mingw/SDL2_net-2.0.1/x86_64-w64-mingw32/bin/' '-L./depends/windows/SDL2_net-devel-2.0.1-mingw/SDL2_net-2.0.1/x86_64-w64-mingw32/lib/' '-o' 'egnaroc.dll' '-mtune=generic' '-march=x86-64'
/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/collect2 -plugin /usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/lto-wrapper -plugin-opt=-fresolution=/tmp/ccNDveRD.res -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -plugin-opt=-pass-through=-lgdi32 -plugin-opt=-pass-through=-lcomdlg32 -plugin-opt=-pass-through=-ladvapi32 -plugin-opt=-pass-through=-lshell32 -plugin-opt=-pass-through=-luser32 -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt -m i386pep --subsystem windows --shared -Bdynamic -e DllMainCRTStartup --enable-auto-image-base -o egnaroc.dll /usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/../../../../x86_64-w64-mingw32/lib/dllcrt2.o /usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/crtbegin.o -L./depends/windows/SDL2-devel-2.0.10-mingw/SDL2-2.0.10/x86_64-w64-mingw32/bin/ -L./depends/windows/SDL2-devel-2.0.10-mingw/SDL2-2.0.10/x86_64-w64-mingw32/lib/ -L./depends/windows/SDL2_mixer-devel-2.0.4-mingw/SDL2_mixer-2.0.4/x86_64-w64-mingw32/bin/ -L./depends/windows/SDL2_mixer-devel-2.0.4-mingw/SDL2_mixer-2.0.4/x86_64-w64-mingw32/lib/ -L./depends/windows/SDL2_net-devel-2.0.1-mingw/SDL2_net-2.0.1/x86_64-w64-mingw32/bin/ -L./depends/windows/SDL2_net-devel-2.0.1-mingw/SDL2_net-2.0.1/x86_64-w64-mingw32/lib/ -L/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32 -L/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/../../../../x86_64-w64-mingw32/lib obj/physics.o obj/egnaroc.o obj/ui.o obj/entity.o obj/threader.o obj/event.o obj/asset.o obj/network.o obj/graphics.o obj/engine.o obj/audio.o obj/ui_style.o obj/ui_slider.o obj/ui_container.o obj/nuklear.o obj/ui_toast.o obj/ui_line.o obj/ui_rectangle.o obj/ui_text.o obj/ui_option.o obj/ui_button.o obj/ui_listbox.o obj/ui_dialog.o obj/ui_textbox.o obj/ui_spinner.o obj/ui_browser.o obj/renderable.o obj/texture.o obj/sound.o obj/music.o obj/language.o obj/config.o obj/shader.o obj/animation.o obj/font.o obj/effect.o obj/material.o obj/cmesh.o obj/terrain.o obj/image.o obj/skeleton.o obj/mouse.o obj/dragdrop.o obj/keyboard.o obj/joystick.o obj/instance_object.o obj/landscape.o obj/animated_object.o obj/light.o obj/physics_object.o obj/particles.o obj/camera.o obj/static_object.o obj/list.o obj/dict.o obj/vertex_list.o obj/int_list.o obj/randf.o obj/trigger.o obj/vertex_hashtable.o obj/spline.o obj/renderer.o obj/sky.o obj/SDL_local.o -lmingw32 -lopengl32 -lSDL2main -lSDL2 -lSDL2_mixer -lSDL2_net -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lgdi32 -lcomdlg32 -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt /usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/crtend.o
/usr/bin/x86_64-w64-mingw32-ld: obj/texture.o:texture.c:(.text+0xc17): неопределённая ссылка на «__imp_glTexImage3D»
/usr/bin/x86_64-w64-mingw32-ld: obj/texture.o:texture.c:(.text+0x19fa): неопределённая ссылка на «__imp_glCompressedTexImage2D»
/usr/bin/x86_64-w64-mingw32-ld: obj/texture.o:texture.c:(.text+0x1ff4): неопределённая ссылка на «__imp_glTexImage3D»
/usr/bin/x86_64-w64-mingw32-ld: obj/shader.o:shader.c:(.text+0x134b): неопределённая ссылка на «__imp_glActiveTexture»
/usr/bin/x86_64-w64-mingw32-ld: obj/shader.o:shader.c:(.text+0x19e8): неопределённая ссылка на «__imp_glActiveTexture»
/usr/bin/x86_64-w64-mingw32-ld: obj/shader.o:shader.c:(.text+0x1ae8): неопределённая ссылка на «__imp_glActiveTexture»
/usr/bin/x86_64-w64-mingw32-ld: obj/shader.o:shader.c:(.text+0x1bc8): неопределённая ссылка на «__imp_glActiveTexture»
collect2: error: ld returned 1 exit status
make: *** [Makefile:101: egnaroc.dll] Ошибка 1
dron@gnu:~/egnaroc$



libopengl32 это же просто заглушка так?
Окай, иду сюда cd /usr/x86_64-w64-mingw32/lib/ и ищу функции


dron@gnu:/usr/x86_64-w64-mingw32/lib$ nm ./*.a | grep glTexImage
0000000000000000 T glTexImage2D
0000000000000000 I __imp_glTexImage2D
0000000000000000 T glTexImage1D
0000000000000000 I __imp_glTexImage1D
dron@gnu:/usr/x86_64-w64-mingw32/lib$ nm ./* | grep glActiveTexture
dron@gnu:/usr/x86_64-w64-mingw32/lib$ nm ./* | grep glCompressedTexImage2D
dron@gnu:/usr/x86_64-w64-mingw32/lib$


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


Иду в место где у меня определяются gl функции. Там я экранирую оперделение именно их
потому что они по дефолту определены в SDL/SDL_opengl.h и если убрать экранирование определения функций то уже сборка валится из за переопределения функций, но приведу то как идёт загрузка расширений


sdl_local.h



typedef void (APIENTRY * GLACTIVETEXTUREFN)( GLenum texture );
typedef void (APIENTRY * GLCOMPRESSEDTEXIMAGE2DFN)(GLenum target, GLint level, GLenum format, GLsizei width, GLsizei height, GLint border, GLsizei imagesize, const GLvoid* data);
typedef void (APIENTRY * GLTEXIMAGE3DFN)(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* data);


#ifndef __MINGW32__
#ifndef __unix__
extern GLACTIVETEXTUREFN glActiveTexture;
extern GLCOMPRESSEDTEXIMAGE2DFN glCompressedTexImage2D;
extern GLTEXIMAGE3DFN glTexImage3D;
#endif
#endif


sdl_local.c


#ifndef __MINGW32__ 
#ifndef __unix__
GLACTIVETEXTUREFN glActiveTexture = NULL;
GLCOMPRESSEDTEXIMAGE2DFN glCompressedTexImage2D = NULL;
GLTEXIMAGE3DFN glTexImage3D = NULL;
#endif
#endif

#define SDL_GL_LoadExtension(type, name) \
name = (type)SDL_GL_GetProcAddress(#name); \
if (name == NULL) { \
fprintf(stderr, "Failed to load function '%s', looking for function '%s'...\n", #name, #name"EXT";); \
name = (type)SDL_GL_GetProcAddress(#name"EXT";); \
} \
if (name == NULL) { \
fprintf(stderr, "Failed to load function '%s', looking for function '%s'...\n", #name"EXT", #name"ARB";); \
name = (type)SDL_GL_GetProcAddress(#name"ARB";); \
} \
if (name == NULL) { fprintf(stderr, "Completely failed to load OpenGL extension function '%s'. Use of this function will crash\n", #name); }


#ifndef __MINGW32__
#ifndef __unix__
SDL_GL_LoadExtension(GLACTIVETEXTUREFN, glActiveTexture);
SDL_GL_LoadExtension(GLCOMPRESSEDTEXIMAGE2DFN, glCompressedTexImage2D);
SDL_GL_LoadExtension(GLTEXIMAGE3DFN, glTexImage3D);
#endif
#endif



Для Windows cобираю на Debian testing, mingw системный, SDL библиотеки из официальных ссылок. Никакой отсебятины лишней.


Сама сборка идёт вот так
Makefile


SRC = $(wildcard src/*.c) $(wildcard src/*/*.c)
OBJ = $(addprefix obj/,$(notdir $(SRC:.c=.o)))

CFLAGS = -I ./include -std=gnu99 -Wextra -Wall -Werror -Wno-unused -Wno-unused-parameter -O3
LFLAGS = -lSDL2 -lSDL2_mixer -lSDL2_net -lm -shared

PLATFORM = $(shell uname)
###########################################
ifeq ($(findstring Linux,$(PLATFORM)),Linux)
DYNAMIC = libegnaroc.so
STATIC = libegnaroc.a
CFLAGS += -fPIC
LFLAGS += -lGL
ifeq ($(findstring Windows,$(TARGET)),Windows)
CC = x86_64-w64-mingw32-gcc -v
AR = x86_64-w64-mingw32-gcc-ar
DYNAMIC = egnaroc.dll
STATIC = libegnaroc.a
# CFLAGS += -Dmain=SDL_main
LFLAGS = -lmingw32 -lopengl32 -lSDL2main -lSDL2 -mwindows -lSDL2_mixer -lSDL2_net -shared
LFLAGS += -L./depends/windows/SDL2-devel-2.0.10-mingw/SDL2-2.0.10/x86_64-w64-mingw32/bin/
LFLAGS += -L./depends/windows/SDL2-devel-2.0.10-mingw/SDL2-2.0.10/x86_64-w64-mingw32/lib/
CFLAGS += -I./depends/windows/SDL2-devel-2.0.10-mingw/SDL2-2.0.10/x86_64-w64-mingw32/include/
CFLAGS += -I./depends/windows/SDL2-devel-2.0.10-mingw/SDL2-2.0.10/x86_64-w64-mingw32/include/SDL2/ -Dmain=SDL_main
LFLAGS += -L./depends/windows/SDL2_mixer-devel-2.0.4-mingw/SDL2_mixer-2.0.4/x86_64-w64-mingw32/bin/
LFLAGS += -L./depends/windows/SDL2_mixer-devel-2.0.4-mingw/SDL2_mixer-2.0.4/x86_64-w64-mingw32/lib/
CFLAGS += -I./depends/windows/SDL2_mixer-devel-2.0.4-mingw/SDL2_mixer-2.0.4/x86_64-w64-mingw32/include/
LFLAGS += -L./depends/windows/SDL2_net-devel-2.0.1-mingw/SDL2_net-2.0.1/x86_64-w64-mingw32/bin/
LFLAGS += -L./depends/windows/SDL2_net-devel-2.0.1-mingw/SDL2_net-2.0.1/x86_64-w64-mingw32/lib/
CFLAGS += -I./depends/windows/SDL2_net-devel-2.0.1-mingw/SDL2_net-2.0.1/x86_64-w64-mingw32/include/
ifeq ($(findstring i686,$(ARCH)),i686)
CC = i686-w64-mingw32-gcc
AR = i686-w64-mingw32-gcc-ar
DYNAMIC = egnaroc.dll
STATIC = libegnaroc.a
CFLAGS += -Dmain=SDL_main
LFLAGS = -lmingw32 -lopengl32 -lSDL2main -lSDL2 -mwindows -lSDL2_mixer -lSDL2_net -shared
LFLAGS += -L./depends/windows/SDL2-devel-2.0.10-mingw/SDL2-2.0.10/i686-w64-mingw32/bin/
LFLAGS += -L./depends/windows/SDL2-devel-2.0.10-mingw/SDL2-2.0.10/i686-w64-mingw32/lib/
CFLAGS += -I./depends/windows/SDL2-devel-2.0.10-mingw/SDL2-2.0.10/i686-w64-mingw32/include/
CFLAGS += -I./depends/windows/SDL2-devel-2.0.10-mingw/SDL2-2.0.10/i686-w64-mingw32/include/SDL2/
LFLAGS += -L./depends/windows/SDL2_mixer-devel-2.0.4-mingw/SDL2_mixer-2.0.4/i686-w64-mingw32/bin/
LFLAGS += -L./depends/windows/SDL2_mixer-devel-2.0.4-mingw/SDL2_mixer-2.0.4/i686-w64-mingw32/lib/
CFLAGS += -I./depends/windows/SDL2_mixer-devel-2.0.4-mingw/SDL2_mixer-2.0.4/i686-w64-mingw32/include/
LFLAGS += -L./depends/windows/SDL2_net-devel-2.0.1-mingw/SDL2_net-2.0.1/i686-w64-mingw32/bin/
LFLAGS += -L./depends/windows/SDL2_net-devel-2.0.1-mingw/SDL2_net-2.0.1/i686-w64-mingw32/lib/
CFLAGS += -I./depends/windows/SDL2_net-devel-2.0.1-mingw/SDL2_net-2.0.1/i686-w64-mingw32/include/
endif
endif
endif

#############################################
###TODO: NEED TEST BUILD
ifeq ($(findstring Darwin,$(PLATFORM)),Darwin)
DYNAMIC = libegnaroc.so
STATIC = libegnaroc.a
CFLAGS += -fPIC
# LFLAGS += -lGL
LFLAGS += -framework OpenGL
endif

#############################################
###TODO: NEED TEST BUILD
ifeq ($(findstring MINGW,$(PLATFORM)),MINGW)
DYNAMIC = egnaroc.dll
STATIC = libegnaroc.a
LFLAGS = -lmingw32 -lopengl32 -lSDL2main -lSDL2 -lSDL2_mixer -lSDL2_net -shared -g
endif
#############################################
###TODO: NEED TEST BUILD
ifeq ($(findstring CYGWIN,$(PLATFORM)),CYGWIN)
DYNAMIC = egnaroc.dll
STATIC = libegnaroc.a
LFLAGS = -lmingw32 -lopengl32 -lSDL2main -lSDL2 -lSDL2_mixer -lSDL2_net -shared -g
endif


all:$(STATIC) $(DYNAMIC)

static:$(STATIC)

dynamic:$(DYNAMIC)

$(DYNAMIC): $(OBJ)
$(CC) $(OBJ) $(LFLAGS) -o $@

$(STATIC): $(OBJ)
$(AR) rcs $@ $(OBJ)

obj/%.o: src/%.c | obj
$(CC) $< -c $(CFLAGS) -o $@

obj/%.o: src/*/%.c | obj
$(CC) $< -c $(CFLAGS) -o $@




И как быть? И да я пробовал прилинковать glew и прочий мусор, всё одножренственно. И ещё раз да я хочу грузить расширения через SDL_GL_GetProcAddress, а не через утилитарные библиотеки.


Короче я изнежился тем что в Linux всё тупо работает из коробки и у меня прям растеряшки ^.^ а может просто лапки я хз :D


И да я гуглил проблему, перечислять всё не буду но первые 50 ссылок в гугле я видал, читал и пробовал, нихрена непонятно.


Тут дело не в том что не работает, туту дело в том что я непонимаю что я делаю не так. По идее на этапе сборки должно быть ровно похер на то что есть ли у меня где то функции во вне или нет. Но… короче, вот =)









 , , , ,








И это всё МОЁ

OpenIO SDS is a scalable open-source object storage solution. It is compatible with Amazon S3 and OpenStack Swift. Using OpenIO SDS, it is easy to scale a storage infrastructure from a simple cluster of a few terabytes to a multi-petabyte platform. OpenIO SDS is hardware-agnostic and can be installed on both x86 and ARM hardware.

Кто-нибудь устанавливал OpenIO SDS ?

Устанавливаю OpenIO SDS по этой инструкции

https://docs.openio.io/latest/source/sandbox-guide/multi_nodes_install.html#r...

Написал Vagrantfile для развертывания 3 нод - https://github.com/patsevanton/vagrant-openio-multi-nodes

Написал скрипт для для запуска команд.

При запуске получаю 2 блока ошибок:

Первый блок:

TASK [namespace : restart oioproxy] ************************************************************************************************************
Friday 09 August 2019 14:18:05 +0600 (0:00:00.472) 0:07:11.913 *********
fatal: [node1]: FAILED! => {"changed": true, "cmd": "gridinit_cmd reload\ngridinit_cmd restart OPENIO-oioproxy-0\n", "delta": "0:00:00.025171", "end": "2019-08-09 08:18:05.319351", "msg": "non-zero return code", "rc": 1, "start": "2019-08-09 08:18:05.294180", "stderr": "", "stderr_lines": [], "stdout": "DONE \tobsoleted 2 processes\tSuccess\nDONE \treload\tSuccess\nDONE \tdisabled 0 obsolete processes\tSuccess\nFAILED \tOPENIO-oioproxy-0\tNo such file or directory", "stdout_lines": ["DONE \tobsoleted 2 processes\tSuccess", "DONE \treload\tSuccess", "DONE \tdisabled 0 obsolete processes\tSuccess", "FAILED \tOPENIO-oioproxy-0\tNo such file or directory"]}
...ignoring
fatal: [node3]: FAILED! => {"changed": true, "cmd": "gridinit_cmd reload\ngridinit_cmd restart OPENIO-oioproxy-0\n", "delta": "0:00:00.026003", "end": "2019-08-09 08:18:05.402437", "msg": "non-zero return code", "rc": 1, "start": "2019-08-09 08:18:05.376434", "stderr": "", "stderr_lines": [], "stdout": "DONE \tobsoleted 2 processes\tSuccess\nDONE \treload\tSuccess\nDONE \tdisabled 0 obsolete processes\tSuccess\nFAILED \tOPENIO-oioproxy-0\tNo such file or directory", "stdout_lines": ["DONE \tobsoleted 2 processes\tSuccess", "DONE \treload\tSuccess", "DONE \tdisabled 0 obsolete processes\tSuccess", "FAILED \tOPENIO-oioproxy-0\tNo such file or directory"]}
...ignoring
fatal: [node2]: FAILED! => {"changed": true, "cmd": "gridinit_cmd reload\ngridinit_cmd restart OPENIO-oioproxy-0\n", "delta": "0:00:00.025974", "end": "2019-08-09 08:18:05.402872", "msg": "non-zero return code", "rc": 1, "start": "2019-08-09 08:18:05.376898", "stderr": "", "stderr_lines": [], "stdout": "DONE \tobsoleted 2 processes\tSuccess\nDONE \treload\tSuccess\nDONE \tdisabled 0 obsolete processes\tSuccess\nFAILED \tOPENIO-oioproxy-0\tNo such file or directory", "stdout_lines": ["DONE \tobsoleted 2 processes\tSuccess", "DONE \treload\tSuccess", "DONE \tdisabled 0 obsolete processes\tSuccess", "FAILED \tOPENIO-oioproxy-0\tNo such file or directory"]}
...ignoring

Второй блок ошибок:

TASK [meta : check meta] ***********************************************************************************************************************
Friday 09 August 2019 14:23:41 +0600 (0:00:00.125) 0:12:48.401 *********
FAILED - RETRYING: check meta (3 retries left).
FAILED - RETRYING: check meta (3 retries left).
FAILED - RETRYING: check meta (3 retries left).
FAILED - RETRYING: check meta (2 retries left).
FAILED - RETRYING: check meta (2 retries left).
FAILED - RETRYING: check meta (2 retries left).
FAILED - RETRYING: check meta (1 retries left).
FAILED - RETRYING: check meta (1 retries left).
FAILED - RETRYING: check meta (1 retries left).
fatal: [node1]: FAILED! => {"attempts": 3, "changed": false, "cmd": ["oio-tool", "ping", "10.0.2.15:6001"], "delta": "0:00:00.020230", "end": "2019-08-09 08:23:57.116297", "failed_when_result": true, "msg": "non-zero return code", "rc": 1, "start": "2019-08-09 08:23:57.096067", "stderr": "", "stderr_lines": [], "stdout": "PING KO (2) 10.0.2.15:6001: [errno=111] Connection refused", "stdout_lines": ["PING KO (2) 10.0.2.15:6001: [errno=111] Connection refused"]}
fatal: [node3]: FAILED! => {"attempts": 3, "changed": false, "cmd": ["oio-tool", "ping", "10.0.2.15:6001"], "delta": "0:00:00.024360", "end": "2019-08-09 08:23:57.129893", "failed_when_result": true, "msg": "non-zero return code", "rc": 1, "start": "2019-08-09 08:23:57.105533", "stderr": "", "stderr_lines": [], "stdout": "PING KO (2) 10.0.2.15:6001: [errno=111] Connection refused", "stdout_lines": ["PING KO (2) 10.0.2.15:6001: [errno=111] Connection refused"]}
fatal: [node2]: FAILED! => {"attempts": 3, "changed": false, "cmd": ["oio-tool", "ping", "10.0.2.15:6001"], "delta": "0:00:00.025870", "end": "2019-08-09 08:23:57.169814", "failed_when_result": true, "msg": "non-zero return code", "rc": 1, "start": "2019-08-09 08:23:57.143944", "stderr": "", "stderr_lines": [], "stdout": "PING KO (2) 10.0.2.15:6001: [errno=111] Connection refused", "stdout_lines": ["PING KO (2) 10.0.2.15:6001: [errno=111] Connection refused"]}

В чем может быть ошибка?








 








И это всё МОЁ

https://3dnews.ru/992058

Согласно переданным в руки журналистов Vice Motherboard скриншотам, кешу внутренних документов и аудиозаписям, сторонние подрядчики слушают разговоры пользователей Skype, которые ведутся через службу автоматического перевода. Хотя на сайте Skype говорится, что компания может анализировать аудио телефонных звонков, которые пользователь хочет перевести, она не сообщает, что какие-то из записей будут прослушиваться людьми.

Полученные журналистами фрагменты включают разговоры пользователей, которые общаются с близкими людьми, беседуют о личных проблемах вроде потери веса или обсуждают проблемы личных взаимоотношений. Другие файлы, полученные Moterboard, показывают, что подрядчики Microsoft также слушают голосовые команды, которые пользователи отправляют персональному помощнику Cortana








 , , ,








И это всё МОЁ

Всем привет.

Существует ли автогенератор доки, наподобие python sphinx, который может генерить html c докой, взятой из perl-файлов, из pod-аннотаций?








 ,








И это всё МОЁ

Вот я создал Dockerfile:

FROM rhel7
RUN groupadd --system --gid 501 transmission && \
useradd --system --uid 501 --gid 501 --home-dir /var/lib/transmission --shell /sbin/nologin \
--comment "transmission daemon account" transmission && \
yum -y install dl.fedoraproject.org/pub/epel/epel-release-late... && \
yum -y install transmission-daemon && \
yum clean all
COPY --chown=transmission:transmission settings.json /var/lib/transmission/.config/transmission-daemon/settings.json
RUN chmod 600 /var/lib/transmission/.config/transmission-daemon/settings.json
EXPOSE 51413/tcp 51413/udp 9091/tcp
USER transmission
CMD ["/usr/bin/transmission-daemon", "-f"]

построил свой образ: podman build --tag=transmission .

Дальше мне нужно его запустить, чтобы получился контейнер с определённым именем. Т.е. я пишу

podman run --name transmission \
--publish 192.168.1.21:51413:51413/tcp \
--publish 192.168.1.21:51413:51413/udp \
--publish 192.168.1.21:9091:9091/tcp \
--volume /srv/downloads:/var/lib/transmission/Downloads \
--security-opt label=disable \
transmission

вот такая страшная команда. Создался контейнер, запустился. Стопаю по ctrl+c. Пишу systemd unit:
[Unit]
Wants=network-online.target
After=network-online.target

[Service]
ExecStart=/usr/bin/podman start -a transmission
ExecStop=/usr/bin/podman stop transmission

[Install]
WantedBy=multi-user.target

Вроде всё понятно. Но меня смущает эта страшенная команда docker run с кучей параметров. Я её засунул в скрипт из одной строчки, но как-то тупо это. Есть ли правильные способы засунуть эту конфигурацию в конфиг?








 , ,