LINUX.ORG.RU

Сообщения Xintrea

 

Что будет если удалить конфигурацию PulseAudio?

Привет, народ

Имеется каталог с какими-то данными PulseAudio:

$ pwd
/home/teacher/.config/pulse

$ ls -la
итого 36
drwx------ 2 teacher teacher 4096 апр 20 16:44 .
drwx------ 6 teacher teacher 4096 апр 20 16:44 ..
-rw-r--r-- 1 teacher teacher  696 апр 20 16:43 27eca46f897741d28f98f5d6e4117180-card-database.tdb
-rw-r--r-- 1 teacher teacher   10 апр 20 16:44 27eca46f897741d28f98f5d6e4117180-default-sink
-rw-r--r-- 1 teacher teacher   18 апр 20 16:44 27eca46f897741d28f98f5d6e4117180-default-source
-rw-r--r-- 1 teacher teacher 8192 апр 20 16:43 27eca46f897741d28f98f5d6e4117180-device-volumes.tdb
-rw-r--r-- 1 teacher teacher  696 апр 20 16:43 27eca46f897741d28f98f5d6e4117180-stream-volumes.tdb
-rw------- 1 teacher teacher  256 апр 20 16:43 cookie

Вопрос: что может произойти, если удалить все файлы в этом каталоге?

- Ничего не произойдет
- Перестанет работать микшер, запускаемый пользователем
- У данного пользователя перестанет работать звук вообще
- Сбросится настройка распределения уровня громкости по каналам
- Что-то еще?

Другими словами, мне нужно понять, можно ли удалять эти файлы у пользователя, не повлияет ли это на возможность воспроизведения звука под данным пользователем?

 ,

Xintrea
()

Как в zip сохранить линк на файл/директорию как линк?

Имеется директория с каталогами:

drwx------  6 teacher teacher   4096 апр 20 16:43 Desktop
lrwxrwxrwx  1 teacher teacher   17 апр 20 16:45 Рабочий стол -> Desktop

Нужно упаковать эту директорию в zip так, чтобы после распаковки директория «Рабочий стол» получилась таким же относительным линком на Desktop, как и была.

Опция -y при упаковке нужного эффекта не дает.

Какие должны быть команды упаковки/распаковки?

 , , линк

Xintrea
()

Нет иконок в стабильном Debian 11 - KolourPaint, Kwrite и другие

Привет, народ!

Может я что не понимаю, но теперь, наверно, модно поставлять DE и программы без зависимых пакетов иконок.

Вот, например, как выглядит KolourPaint:

https://ibb.co/RPfbKTY

В KWrite нет иконок клавиш-модификаторов поиска.

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

Вопрос: Что еще надо докручивать в стабильном Debian Linux 11, чтобы нормально отображался интерфейс программ?

 , ,

Xintrea
()

Чем и куда выкачать 60 репозитариев с GitHub?

Привет, народ!

В свете последних новостей С 13 апреля GitHub начал блокировать аккаунты российских компаний и разработчиков мне нужно выкачать 60 репозитариев (оценочный суммарный объем около 7 Gb, самый большой репозитарий 3.2 Gb) для сохранения исходников и русскоязычных баз знаний.

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

А есть ли сервиса, которые делают выкачку с GitHub по списку репозитариев?

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

И еще нужно чтоб на этом сервисе файлы из репозитариев были доступны для чтения в RAW виде, как это сделано на raw.github.com.

Есть такие сервисы?

 , ,

Xintrea
()

Как в FreeCAD выделить точки?

Привет, народ.

Открыл в FreeCAD файл с расширением STL. В нем несколько фигур.

У некоторых фигур нужно поменять нормали. А в дереве модели видна только одна деталь.

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

Можно ли это сделать в интерфейсе FreeCAD? Я пробовал в верстаке Points сделать это, но точки не выделяются (Правка - выделить область) или я не знаю как их выделить.

 , нормаль

Xintrea
()

На STM32 контроллере изменился chipid, не могу его сбросить

Имею плату STM32F103C8T6 (Blue Pill).

После прошивки в контроллер DFU-бутлоадера и поигравшись немного с ним, решил прошить контроллер своей программой по-обычному, через ST-LinkV2 (SWD). Поставил boot-джамперы в положение 00, и попытался прошить через ST-Link. И каково же было мое удивление, что я этого сделать не могу по причине некорректного chipid.

До прошивки DFU-bootloaderа плата выдавала такие данные:

> st-info --probe
Found 1 stlink programmers
 serial: 132014026315303030303032
openocd: "\x13\x20\x14\x02\x63\x15\x30\x30\x30\x30\x30\x32"
  flash: 65536 (pagesize: 1024)
   sram: 20480
 chipid: 0x0410
  descr: F1 Medium-density device

А после работы с DFU-прошивкой плата стала выдавать такое:
Found 1 stlink programmers
 serial:     132014026315303030303032
 hla-serial: "\x13\x20\x14\x02\x63\x15\x30\x30\x30\x30\x30\x32"
 flash:      0 (pagesize: 0)
 sram:       0
 chipid:     0x0748

И в момент прошивки по SWD STLinkV2 дает теперь такую ошибку:
> st-flash --reset write myprogramm.bin 0x08000000
st-flash 1.6.1
2022-04-09T18:48:44 WARN common.c: unknown chip id! 0x3748
Failed to connect to target
(И что еще непонятно, в st-info виден идентификатор 0x0748, а флешер ругается на идентификатор 0x3748).

Начал искать советы, как сбросить плату. Советы были разные, ни один не сработал. Вот что я делал:

* * *

Вначале выставил boot-перемычки на boot0=1 и boot1=0 чтобы при старте платы не выполнялся левый код, переткнул плату в USB-гнезде и попытался обнулить FLASH. Но нет, такое не прокатывает:
> st-flash erase
st-flash 1.6.1
2022-04-09T18:57:41 WARN common.c: unknown chip id! 0x3748
Failed to connect to target

Пробовал с boot-перемычками в положении 00, тот же самый результат.

В конце концов заметил, что если нажать Reset и удерживать, плата начинает выдавать такую информацию о себе:
Found 1 stlink programmers
 serial:     132014026315303030303032
 hla-serial: "\x13\x20\x14\x02\x63\x15\x30\x30\x30\x30\x30\x32"
 flash:      61010944 (pagesize: 1024)
 sram:       20480
 chipid:     0x0410
 descr:      F1xx Medium-density

Странный размер FLASH, но зато chipid правильный. Удерживая Reset, дал команду очистки FLASH и она сработала:
> st-flash erase 
st-flash 1.6.1
INFO common.c: F1xx Medium-density: 20 KiB SRAM, 59581 KiB flash in at least 1 KiB pages.

Дальше перегрузил плату, но она все равно опять показывает flash:0, sram:0, chipid:0x0748. Я пытался проделать то же самое с boot-перемычками Boot0=1 Boot1=0, результат тот же.

Тогда при нажатом Reset я проверил, а что вообще в FLASH памяти есть:
> st-flash read firmware.bin 0x8000000 0x2000
> xxd firmware.bin
00000000: 08b5 1420 08b5 1420 08b5 1420 08b5 1420  ... ... ... ... 
00000010: 08b5 1420 08b5 1420 08b5 1420 08b5 1420  ... ... ... ... 
00000020: 08b5 1420 08b5 1420 08b5 1420 08b5 1420  ... ... ... ... 
00000030: 08b5 1420 08b5 1420 08b5 1420 08b5 1420  ... ... ... ... 
00000040: 08b5 1420 08b5 1420 08b5 1420 08b5 1420  ... ... ... ... 
00000050: 08b5 1420 08b5 1420 08b5 1420 08b5 1420  ... ... ... ... 
00000060: 08b5 1420 08b5 1420 08b5 1420 08b5 1420  ... ... ... ... 
00000070: 08b5 1420 08b5 1420 08b5 1420 08b5 1420  ... ... ... ... 
00000080: 08b5 1420 08b5 1420 08b5 1420 08b5 1420  ... ... ... ... 
00000090: 08b5 1420 08b5 1420 08b5 1420 08b5 1420  ... ... ... ... 
000000a0: 08b5 1420 08b5 1420 08b5 1420 08b5 1420  ... ... ... ...
...

Прошивки уже нет. Но все равно плата показывает flash:0, sram:0, chipid:0x0748 пока не зажмешь Reset.

Я пробовал зажимать Reset до вставки ST-LinkV2 в USB, пробовал не зажимать, пробовал нажимать один раз, с разными положениями boot-перемычек, давал команды st-flash erase, st-flash reset, но все бестолку. Плата упорно показывает flash:0, sram:0, chipid:0x0748.

Вопрос: как, блин, эту плату можно сбросить? Чтобы вернулся нормальный id и правильный размер FLASH/RAM?

 chipid, , ,

Xintrea
()

Не могу разобраться с DFU-загрузчиком в STM32. Плата видна на USB-шине, но dfu-util ее не видит.

Привет, народ.

Пытаюсь разобраться как прошивать плату STM32F103C8T6 (Blue Pill) по miniUSB-кабелю.

Свои изыскания я записываю здесь:

Как прошивать Blue Pill STM32 F103 через обычный USB-кабель в Linux

Затык происходит на том, что я прошиваю DFU-бутлоадер в плату, плата становится видна по USB:

[25760.232130] usb 2-2: new full-speed USB device number 7 using xhci_hcd
[25760.385437] usb 2-2: New USB device found, idVendor=1eaf, idProduct=0004, bcdDevice= 2.00
[25760.385444] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[25760.385447] usb 2-2: Product: Maple
[25760.385449] usb 2-2: Manufacturer: LeafLabs
[25760.424009] cdc_acm 2-2:1.0: ttyACM0: USB ACM device
[25760.424307] usbcore: registered new interface driver cdc_acm
[25760.424310] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters

Однако утилита dfu-util (версии 0.9) ни одной платы не видит. И версия 0.8 тоже не видит:
> dfu-util --list
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Пробовал давать команду с указанием id-шников устройства:
dfu-util -d 1eaf:0004 --list
так тоже DFU-устройство не обнаруживается. Пробовал и под рутом, и от обычного пользователя, хотя DBUS правило для доступа пользователем прописывается при установке пакета dfu-util (Debian Linux 11).

Что еще нужно донастроить, чтобы увидеть DFU-устройство?

 , dfu-util, ,

Xintrea
()

arm-none-eabi-gcc и стандарт C99 - компилер не понимает true/false

Привет, народ!

Пытаюсь скомпилить си-шный исходник, в котором есть конструкция:

    while (true) {
        msDelay(500);
        LEDPORT->ODR ^= (1<<LED1);
    }

Чтобы компилер понимал true/false, в команду компиляции добавлено "-std=c99". Полная команда выглядит так:
arm-none-eabi-gcc -o .pio/build/bluepill_f103c8/src/main.o -c -std=c99 -Os -ffunction-sections -fdata-sections -Wall -mthumb -mcpu=cortex-m3 -DPLATFORMIO=50205 -DSTM32F1 -DSTM32F103xB -DF_CPU=72000000L -Iinclude -Isrc -I/home/xi/.platformio/packages/framework-cmsis@2.50501.200527/CMSIS/Include -I/home/xi/.platformio/packages/framework-cmsis-stm32f1/Include src/main.c

В результате выдается ошибка:
src/main.c: In function 'main':
src/main.c:22:12: error: 'true' undeclared (first use in this function)
     while (true) {
            ^~~~
src/main.c:22:12: note: each undeclared identifier is reported only once for each function it appears in
*** [.pio/build/bluepill_f103c8/src/main.o] Error 1

Что еще нужно крутить, чтобы true/false воспринимались компилятором?

 ,

Xintrea
()

Где взять arm-none-eabi-gdb и arm-none-eabi-gdb-py в Debian Linux 11 ?

Привет, народ.

Безуспешно пытаюсь разобраться как отлаживать китайскую плату STM32F103C8T6 (Blue Pill) в Linux с помощью OpenSource софта. Пытаюсь настроить QtCreator в качестве среды разработки, но сейчас я видимо только в начале пути.

Сейчас застрял на том, что в туториалах (например тут https://mmote.ru/qtcreator-stm32) говорят о бинарниках arm-none-eabi-gdb и/или arm-none-eabi-gdb-py, однако я не могу найти упоминаний этих бинарников в репозитариях.

У меня установлены следующие пакеты:

binutils-arm-none-eabi
gcc-arm-none-eabi
libstdc++-arm-none-eabi-newlib
libnewlib-arm-none-eabi
picolibc-arm-none-eabi
gdb-multiarch (метапакет для установки gdb-arm-none-eabi)

Однако в них нет arm-none-eabi-gdb/arm-none-eabi-gdb-py или чего-то похожего.

Вопрос: что произошло с этими инструментами? Они были в какой-то момент выпилены из репозитария? Или они никогда в репозитариях не находились? Откуда их тогда вообще брать? Или нынче для arm-отладки уже не нужен arm-none-eabi-gdb/arm-none-eabi-gdb-py, и все работает в стандартном GDB само собой?

 , , , ,

Xintrea
()

Обновился до Debian 11 - отвалилось проигрывание видео

Привет народ!

Пришлось мне тут вчера обновиться до Debian 11. Я, конечно, был готов к появлению различных галлюнов, и они таки появились.

Например, перестало воспроизводиться видео. Я обычно пользуюсь VLC и Mplayer.


VLC тупит вот так:

$ vlc 0001-0240.avi
VLC media player 3.0.16 Vetinari (revision 3.0.13-8-g41878ff4f2)
Этот источник не открывается:
VLC не может открыть MRL 'file:///home/xi/work/develop/blender/lampa/0001-0240.avi'. Ищите более подробную информацию в лог-файле.

Где находится лог-файл, нигде не говорится. Я перерыл /var/log, но единственно что нашел, это вот это:
Mar 29 10:24:23 hp450 zeitgeist-fts[2096]: Unable to get info on application://vlc.desktop

Я попытался запустить VLC с подробным уровнем отладки. Увидел только одно сообщение, которое ранее не показывалось. Пробовал по-разному, согласно документации:
$ VLC_VERBOSE=3 vlc 0001-0240.avi
VLC media player 3.0.16 Vetinari (revision 3.0.13-8-g41878ff4f2)
QObject::~QObject: Timers cannot be stopped from another thread

$ vlc -v 3 0001-0240.avi
VLC media player 3.0.16 Vetinari (revision 3.0.13-8-g41878ff4f2)
QObject::~QObject: Timers cannot be stopped from another thread

Причем сообщение Timers cannot be stopped from another thread появляется не в момент ошибки, а в момент закрытия окна VLC уже после того, как VLC ругнулся что не может показать видео. Так что наверно это другая ошибка, возможно в неправильной деинициализации GUI-интерфейса, ее пока можно не рассматривать.

Тогда я попробовал посмотреть через mplayer.


Mplayer тупит так:
$ mplayer 0001-0240.avi 
Failed to read /etc/mplayer/mplayer.conf.local: No such file or directory
Warning unknown option include at line 177
MPlayer 1.4~svn38192 (C) 2000-2020 MPlayer Team
do_connect: could not connect to socket
connect: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing 0001-0240.avi.
libavformat version 58.76.100 (internal)
AVI file format detected.
[aviheader] Video stream found, -vid 0
AVI: No audio stream found -> no sound.
VIDEO:  [MJPG]  1000x1000  24bpp  24.000 fps  14909.2 kbps (1820.0 kbyte/s)
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
[VO_TDFXFB] This driver only supports the 3Dfx Banshee, Voodoo3 and Voodoo 5.
s3fb: Couldn't map S3 registers: Operation not permitted
libva info: VA-API version 1.10.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_10
libva error: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed
libva info: va_openDriver() returns 1
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_8
libva info: va_openDriver() returns 0
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 58.134.100 (internal)
[mjpeg @ 0x563b9aa2d480]Requested frame threading with a custom get_buffer2() implementation which is not marked as thread safe. This is not supported anymore, make your callback thread-safe.
Selected video codec: [ffmjpeg] vfm: ffmpeg (FFmpeg MJPEG)
==========================================================================
Load subtitles in ./
Audio: no sound
Starting playback...
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
Movie-Aspect is undefined - no prescaling applied.
[swscaler @ 0x563b9aa41ac0]bicubic scaler, from yuv422p to yuyv422 using MMXEXT
[swscaler @ 0x563b9aa41ac0]using unscaled yuv422p -> yuyv422 special converter
VO: [vdpau] 1000x1000 => 1000x1000 Packed YUY2
Movie-Aspect is undefined - no prescaling applied.
VO: [vdpau] 1000x1000 => 1000x1000 Packed YUY2
libvdpau-va-gl: VideoSurface::PutBitsYCbCr_glsl(): not implemented source YCbCr format 'VDP_YCBCR_FORMAT_YUYV'
[vdpau] Error when calling vdp_video_surface_put_bits_y_cb_cr: VDP_STATUS_INVALID_Y_CB_CR_FORMAT


MPlayer interrupted by signal 11 in module: filter_video
- MPlayer crashed by bad usage of CPU/FPU/RAM.
  Recompile MPlayer with --enable-debug and make a 'gdb' backtrace and
  disassembly. Details in DOCS/HTML/en/bugreports_what.html#bugreports_crash.
- MPlayer crashed. This shouldn't happen.
  It can be a bug in the MPlayer code _or_ in your drivers _or_ in your
  gcc version. If you think it's MPlayer's fault, please read
  DOCS/HTML/en/bugreports.html and follow the instructions there. We can't and
  won't help unless you provide this information when reporting a possible bug.
Ошибка сегментирования


Вопрос: что где надо теперь крутить, чтобы иметь возможность смотреть видео в Debian Linux 11 ?

 , , ,

Xintrea
()

Как настроить HEX-просмотр в Midnight Commander, чтобы он отображал только 16 кодов на строку?

Привет, народ.

Обратил сейчас внимание на то, что просмоторщик MC в HEX-режиме отображает 24 кода на строку вместо 16 кодов. Что жутко неудобно.

Найти настройку которая указывала бы что MC должен отображать только 16 кодов, я не смог. Где куда тыкнуть, чтобы просмотрщик нормально показывал HEX-дамп в 16 кодов на строку?

 , ,

Xintrea
()

Каким образом можно узнать, что открытый SSH-ключ уже скопирован?

Привет, народ.

Что-то туплю я. Мне нужно каким-то образом узнать в BASH-скрипте, что открытый SSH-сертификат уже был скопирован на противоположную сторону.

Ну, то есть, для копирования сертификата выполнялись команды:

ssh-keygen -t rsa -q -N ''
ssh-copy-id -i ~/.ssh/id_rsa.pub ouruser@ourserver.lo

Теперь перед этими командами надо сделать проверку, что сертификат уже был передан, чтобы их повторно не вызывать без необходимости.

Вопрос: каким способом наиболее просто можно проверить, что сертификат скопирован? Я так понимаю, надо как-то установить SSH-соединение, если оно установится, то сертификат есть. Но как его установить, как его разорвать внутри bash-скрипта что-то не могу сообразить.

 , ,

Xintrea
()

Создать Ethernt-соединение через COM-порт между двумя компьютерами

Привет, народ!

Нужно мне сделать очень странную вещь: пробросить Ethernet-соединение через COM-порт. Да, я знаю что это дичь, что такое никому не нужно, что будет медленно работать. Но таковы нынешние реалии.

Итак, имеется две машины, на одной стоит Linux, на второй Windows. Они находятся в физически разных Ethernet-сетях. Между ними нужно сделать иногда включаемое Ethernet-соединение. Из дополнительного оборудования - только шнур для соединения по COM-порту компьютер-компьютер (DTE-DTE DB9). Шнур проверен, соединение между терминалами lin+minicom <-> win+putty работает без вопросов.

То есть, еще раз: нужна Ethernet-сеть через физический COM-порт. Весь интернет забит решением совершенно противоположной задачи - как сделать проброс COM-порта через Ethernt-сеть. А вот как пробросить Ethernet через COM-порт - такого не нашел ни в рунете, ни в англонете.

Насколько я понял, возможно, под Linux можно будет обойтись одним только socat (а возможно и нет, я не специалист в этих делах). Вроде как socat умеет создавать виртуальное сетевое TUN-устройство, которое можно связать с COM-портом. Но у меня это сделать не получилось.

Что делать на стороне Windows - вообще ума не приложу, но вроде имеется socat for windows.

У меня есть подозрение, что одним только socat обойтись не получится, и в Linux придется еще крутить что-то наподобе ip net tap, а на стороне Windows брать кусок OpenVPN, через который создастся виртуальные сетевой интерфейс, и на него завернуть COM-порт через socat for Windows.

Чтобы это сделать мне нужно понять как действовать глобально (какую схему применить) и какими командами все это пытаться собрать вместе. Возможно, что вообще есть другое готовое opensource решение, а я о нем просто не знаю.

И еще, я все никак не могу понять синтаксис socat: что указывается в качестве первого и второго адреса в параметрах? Для стороны Linux надо первым указать сетевое устройство, вторым - COM-порт или наоборот? А на стороне Windows как?

 , ,

Xintrea
()

Имеет ли смысл сейчас покупать 4G телефон в России?

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

Сейчас распродают везде всякие Poco M4 Pro 4G 8/128GB по ~25 тонн. Имеет ли смысл брать такое устройство? С учетом что оно будет пользоваться в России, а в связи с санкциями 5G видится под большим вопросом.

Да и вообще кто что посоветует взять в качестве смартфона в это нелегкое время cуток?

Ограничения: до 25 тонн, IPS, 4GB ОЗУ минимум.

 , , ,

Xintrea
()

Через браузер и консоль отдается разный сертификат. Это что за?

Имеется хост https://webhamster.ru. На нем используются сертификаты Lets Encrypt. Если в браузере посмотреть информацию о сертификате, то будут видны следующие даты:

Действителен с ‎30 ‎декабря ‎2021 ‎г. 8:15:11
Действителен по ‎30 ‎марта ‎2022 ‎г. 8:15:10

То есть, сертификат действителен, не просрочен.

Если же залогиниться в консоль этого хоста, и попробовать получить главную страницу через wget, то будет ошибка:
> wget https://webhamster.ru
--2022-01-11 14:16:46--  https://webhamster.ru/
Распознаётся webhamster.ru (webhamster.ru)… 193.124.188.214
Подключение к webhamster.ru (webhamster.ru)|193.124.188.214|:443... соединение установлено.
ОШИБКА: Нет доверия сертификату для «webhamster.ru».
ОШИБКА: Срок действия сертификата «webhamster.ru» истёк.

Хм, что за дичь, надо посмотреть через openssl:
> openssl s_client -showcerts -connect webhamster.ru:443
CONNECTED(00000003)
depth=3 O = Digital Signature Trust Co., CN = DST Root CA X3
verify error:num=10:certificate has expired
notAfter=Sep 30 14:01:15 2021 GMT
verify return:0

А тут показывается, что сертификат заканчивает действие 30 сентября 2021, то есть сертификат уже недействительный.

Я аж полез в конфиг nginx, посмотрел какой файл прописан в опции ssl_certificate, посмотрел информацию по нему:
> openssl x509 -in *****.pem -text
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            03:0d:58:dc:36:10:f7:40:f8:73:0c:19:ae:fc:d5:38:f0:00
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: C=US, O=Let's Encrypt, CN=R3
        Validity
            Not Before: Dec 30 05:15:11 2021 GMT
            Not After : Mar 30 05:15:10 2022 GMT

А тут все нормально, даты правильные. В Nginx прописан один server для протокола HTTPS, у него одна опция ssl_certificate, никакой путанницы быть не может. Именно этот сертификат и отдается в браузер.

Но почему при запросе через wget и openssl отдается какой-то странный сертификат, с закончившейся датой действия?

 , , , ,

Xintrea
()

Проверить объект на принадлежность NoneType в Python3

Никак не могу понять. У меня есть переменная неопределенного типа (ее возвращает Popen.communicate() в кортеже). Поэтому использовать эту переменную без проверки я не могу, ибо будет ошибка:

stdErrData.decode()
AttributeError: 'NoneType' object has no attribute 'decode'

Вроде как в Python3 есть функция проверки на принадлежность типу. Использую ее:
    errData=""
    if not isinstance(stdErrData, NoneType) :
      errData=stdErrData.decode()

Но и эта конструкция выдает ошибку:
line 25, in run 
   if not isinstance(stdOutData, NoneType) : 
NameError: name 'NoneType' is not defined

Как же блин проверить тип переменной в Python3?

 , pytnon, ,

Xintrea
()

Почему функция str() возвращает байтовый массив в Python3 ?

Возникла необходимость написать пару скриптов на Python3 (если быть точным, 3.5.3 ибо дистр старенький, но его менять нельзя). До этого Питон щупал когда он был еще 2-й версии.

Есть следующий код:

    p=Popen(cmd, stdout=PIPE, shell=True)

    stdOutData, stdErrData = p.communicate()
    errCode=p.returncode

    print( "Std out data: "+str(stdOutData) )

В результате его работы в консоль выводится:
Std out data: b'/home/x/work/develop/python/lissage/step0000-showUserInfo.py\n'

Вроде как функция str() должна возвращать строку, а она возвращает, судя по выводу, байтовый массив.

Операционная система имеет кодировку UTF-8, файлы тоже в кодировке UTF-8.

Как получить строку в Python3 в этом коде?

 ,

Xintrea
()

Не могу использовать функцию IF() в Libre Office

Засовываю в ячейку следующую формулу:

=IF(0=1; 100; 250)

Но вместо 250 в ячейке пишется ошибка: «#ИМЯ?»

Вопрос: как правильно писать функцию IF чтобы она работала?

 ,

Xintrea
()

Проблема с группой в регулярке

Есть текст:

static void OutClass::OurMethod(int a)
static void OurFunction(int b)

Надо получить:
OutClass::OurMethod(int a)
OurFunction(int b)

То есть, надо оставить имя C++ метода или функции и все что правее, а возвращаемый тип пропустить.

Я использую регулярку https://regex101.com/r/oax6bm/1:
\w+(::)?.*\(.*\)

И она не работает. Она матчит весь текст.

Проблема в кванторе вопроса ? для группы (::). Если его убрать, то для строки с OutMethod матчинг сработает правильно. Но двойное двоеточие может либо быть, либо не быть, поэтому я использую квантор ?. И с ним все ломается.

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

 

Xintrea
()

Кино и космос

Смотрю сейчас трансляцию полета Союза на МКС с киноделами на борту с сайта NASA. При стыковке отказали оба аппарата управления сближением КУРС 1 и 2, стыковка произведена в ручном режиме.

При подготовке к открытию люка тренированная актриса прямым текстом говорит: «Я сейчас у вас тут сейчас уписаюсь, не могу больше терпеть». Тетка из NASA переводит что актриса роскосмоса собирается juice, и надо что-то делать.

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

В общем сейчас на орбите по-настоящему жарко.

https://www.youtube.com/watch?v=21X5lGlDOfg

 ,

Xintrea
()

RSS подписка на новые темы