И это всё МОЁ
Опубликовано девятое корректирующее обновление дистрибутива Debian 10, в которое включены накопившиеся обновления пакетов и устранены недоработки в инсталляторе. Выпуск включает 45 обновлений с устранением проблем со стабильностью и 30 обновлений с устранением уязвимостей.



И это всё МОЁ

Представляю Вам адаптированные тезисы из короткой статьи Паоло Ровелли - бывшего ведущего инженера безопасности Sophos Group Inc - лидера Британского рынка по безопасности программного и аппаратного обеспечения с полумилиардным оборотом.




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




  • Линукс никаким образом не защищает Вас от кражи данных через фишинг.




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




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




  • В 2013 годусотрудники Софос наблюдали от 16 до 24 тысяч скомпромитированных сайтов, работающих на линукс, ежедневно, к 2015 году это число возрасло до 190 тыс., при этом уникальных доменов среди них более 70 тыс.




  • Если вы используете линукс, обязательно стоит обратить внимание хотя бы на базовую настройку безопасности вашего десктопа или сервера.




  • Антивирус для линукса актуален не меньше, чем для виндоус или макос.




https://news.sophos.com/en-us/2015/03/26/dont-believe-these-four-myths-about-linux-security/









 , ,








И это всё МОЁ

пароль idxeyb









 








И это всё МОЁ

В debug режиме приложение выдает очень много сообщений, которые мешают читать лог.


Поэтому я делаю как-то так:


grep -vE "some-message|other-message|third-message|..." | less


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


Существует ли консольная программа, которая позволяет фильтровать строки (и отключать все/часть фильтров) с сохранением курсора на текущей строке?









 








И это всё МОЁ

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

zram и zswap можно использовать вместе, есть ли распределение, приоритеты?

Zswap на ссд или hdd, lz4 lzo, и что то новенькое появилось?

Zram на маленьком количестве ядер или оперативной памяти, стоит ли ставить на несколько ядер маленькими кусочками или достаточно будет большими но на половину или меньше половине ядер

Есть что ещё новенькое из этой оперы или пока им нет альтернатив действительно полезных а не из шило на мыло?








 , ,








И это всё МОЁ

Никак не могу разобраться как запустить этот код.

Установил Tesseract OCR по этому гайду https://www.youtube.com/watch?v=Rb93uLXiTwA&ab_channel=AllroundZone и на ввод в консоль tesseract он отзывается.

Установил opencv-python c помощью pip install opencv-python

Установил pytesseract pip install pytesseract

from cv2 import cv2
import pytesseract

img=cv2.imread("test.png";)
im=cv2.resize(img,None,fx=9,fy=9)
like=pytesseract.image_to_string(img,config='outputbase digits')
print(like)


Выводит такое
Traceback (most recent call last):
File "C:\Users\dkati\AppData\Local\Programs\Python\Python39\lib\site-packages\pytesseract\pytesseract.py", line 255, in run_tesseract
proc = subprocess.Popen(cmd_args, **subprocess_args())
File "C:\Users\dkati\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 947, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Users\dkati\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 1416, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] Не удается найти указанный файл

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "e:\py projects\content\img_to_str.py", line 10, in <module>
like=pytesseract.image_to_string(img,config='outputbase digits')
File "C:\Users\dkati\AppData\Local\Programs\Python\Python39\lib\site-packages\pytesseract\pytesseract.py", line 409, in image_to_string
return {
File "C:\Users\dkati\AppData\Local\Programs\Python\Python39\lib\site-packages\pytesseract\pytesseract.py", line 412, in <lambda>
Output.STRING: lambda: run_and_get_output(*args),
File "C:\Users\dkati\AppData\Local\Programs\Python\Python39\lib\site-packages\pytesseract\pytesseract.py", line 287, in run_and_get_output
run_tesseract(**kwargs)
File "C:\Users\dkati\AppData\Local\Programs\Python\Python39\lib\site-packages\pytesseract\pytesseract.py", line 259, in run_tesseract
raise TesseractNotFoundError()
pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it's not in your PATH. See README file for more information.







 








И это всё МОЁ

Kali Linux VERSION=«2021.1» ,debian. После уставовки терминала Tilix,Terminator в них не работает ввод команды enter. В предустановленных терминалах всё функционирует. В настройках ничего не нашел. Кто подскажет как лечить?









 








И это всё МОЁ

Весна опять пришла! А вместе с ней и большая распродажа на GOG. Как всегда, вас ждет огромный выбор игр на любой вкус, щедрые скидки и бессонные ночи!

В этой распродаже вас ждет:

Распродажа продлится до 5 апреля.








 , , , ,








И это всё МОЁ

Каким образом можно вызвать функцию по ссылке с передачей всех аргументов?

На данный момент у меня получился такой код:

#define EXTERN_DLL_EXPORT extern "C" __declspec(dllexport)

typedef void*(*any_fptr)(...);

EXTERN_DLL_EXPORT void* invoke5(const any_fptr &fptr, void** arg1, void** arg2, void** arg3, void** arg4, void** arg5) {
return fptr(arg1, arg2, arg3, arg4, arg5);
}

EXTERN_DLL_EXPORT void* invoke10(const any_fptr &fptr, void** arg1, void** arg2, void** arg3, void** arg4, void** arg5, void** arg6, void** arg7, void** arg8, void** arg9, void** arg10) {
return fptr(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
}

Опытным путем установлено, что необязательно указывать все аргументы функций invoke5 / invoke10, т.е. вот так invoke работает:

invoke5(&fptr, arg1, arg2);
invoke10(&fptr, arg1, arg2, arg3);

Хочу сделать реализацию красивее, что-то вроде:

EXTERN_DLL_EXPORT void* invoke(const any_fptr &fptr, void** args...) {
return fptr(args);
}

Но не понимаю как это сделать без шаблонов.

Функция invoke обязательно должна экспортироваться.








 ,








И это всё МОЁ

как обещал, выкладываю cogen. пока есть только один dsl, и только один полезный шаблон (и то, создал для теста). ну на то это и альфа :) если кому интересно использовать кодогенерацию вобще, то я думаю будет полезно.

вот как запускать. ./cogenwr.py -iix3=foo -g generator -o dir здесь

  • -iix3 это файл, содержащй описание интерфейса
  • -g это info файл, описывающий что сгенерировать и
  • -o это куда положить результат
  • --help (на всякий) понятно что :)

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

описание формата info. вот пример файла для генерации плюсового интерфейса. еще можно посмотреть мост между плюсами и питоном (я его сделал для теста больше, не думаю что буду использовать).

part
{
dec {
tmpl cpp/declarations.jinja
file declarations.hpp
}
header {
inc_part dec
tmpl cpp/header.jinja
file module.hpp
}
definition {
inc_part dec
inc_part header
tmpl cpp/definitions.jinja
file module.cpp
}
cmake {
tmpl cmake/plain.jinja
file CMakeLists.txt
project interface
version "0.0.1.0"
libraries {
interface {
part dec
part header
part definition
}
}
}
}

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

  • tmpl это шаблон для генерации. если использовать cogenwr.py, то это jinja2
  • file как назвать результирующий файл. в нем могут содержаться переменные, например %{mod}, туда будет подставен модуль, который генерится. так одна часть может сгенерировать несколько файлов, в зависимости от того, что будет на входе (можно посмотреть cpp_py.info там они используются)
  • inc_part это для #include. система увидит, что некоторые узлы ссылаются на другие узлы, и включит файлы с ними, если они указаны с помощью этой директивы
  • у cmake есть специальные директивы, по нему строится некий dsl для систем сборки, поэтому описание несколько отличается. вобще в шаблоне будет доступно то, что написано для него в этом файле, так что тут можно включать разные дополнительные данные

вот как можно это все достать (да да, самоподписанный просроченный)

  • default.nix для nix-build. тут нужно, чтобы в используемом канале был доступен boost.175 ибо в нем есть boost.json
  • export.tar.gz это бинарь и файлы, нужные для его работы

PS: бинарь я собрал никсом и выполнил такие комманды (exporter)

patchelf --set-rpath "/lib/x86_64-linux-gnu/" export/bin/cogen
patchelf --set-interpreter /lib64/ld-linux-x86-64.so.2 export/bin/cogen

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








 ,








И это всё МОЁ

Всем привет!
Проблема такая, не стабильно работает кардридер в Kali, и ubuntu 20, то есть если вытащить флешку, то значок карты не пропадает, если же по пробовать нажать на значок карты, то она естественно пропадает,
вот что пишет dmesg


[   78.890401] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: error -123 requesting status
[ 78.959104] mmc0: tried to HW reset card, got error -123
[ 78.959111] mmcblk0: recovery failed!
[ 78.959142] blk_update_request: I/O error, dev mmcblk0, sector 8192 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 78.959216] FAT-fs (mmcblk0p1): unable to read boot sector


это когда вытащил флешку и нажал на оставшийся значок карты.


Если вставить обратно, то ничего не происходит она тупо не появляется, а появляется через некоторое время когда что-то делается, а может минут через 5 появиться, а то и больше. Заметил если сделать вывод lspci то карта тут же появляется, но это не выход из ситуации


[ 4452.057242] mmc0: card aaaa removed
[ 4467.574170] mmc0: cannot verify signal voltage switch
[ 4467.694355] mmc0: new ultra high speed SDR104 SDHC card at address aaaa
[ 4467.694565] mmcblk0: mmc0:aaaa SE16G 14.8 GiB
[ 4467.723292] mmcblk0: p1 p2


Если перезагрузиться со вставленной картой, то она нормально отображается, и все повторяется как описано выше в ubuntu такая же хрень. В винде все нормально работает


Вот что пишет lspci


05:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5227 PCI Express Card Reader (rev 01)
Subsystem: Micro-Star International Co., Ltd. [MSI] RTS5227 PCI Express Card Reader
Flags: bus master, fast devsel, latency 0, IRQ 29
Memory at f7800000 (32-bit, non-prefetchable) [size=4K]
Capabilities: <access denied>
Kernel driver in use: rtsx_pci
Kernel modules: rtsx_pci


Хрень какая-то, кто что может предложить?









 








И это всё МОЁ
Состоялся экспериментальный выпуск открытой реализации WinAPI - Wine 6.5. С момента выпуска версии 6.4 было закрыто 25 отчётов об ошибках и внесено 413 изменений.



И это всё МОЁ

Здравствуйте, имеется вот такая задача:


Реализуйте bash-скрипт для реализации резервного копирования данных из одного каталога.



  • Путь к каталогу задаётся в качестве первого аргумента скрипта.

  • Путь к каталогу с резервными копиями задаётся в качестве второго аргумента.


В целевом каталоге должен создаваться tar-архив с данными из целевого каталога. Название архива должно содержать в себе:



  • Имя целевого каталога.

  • Текущая дата с точностью до секунды.


Рекомендуется использовать архиватор gsip / bzip / xz для архивирования данных.


Вот сам мой bash-скрипт:


#!/bin/bash
SRC=$1
DEST=$2

if [[ -d "$SRC" ]]
then
if [[ ! -e "$DEST" ]]
then
echo "Director1 $DEST does not exist"
mkdir "$DEST"
fi
date=$(date +"%c";)
archive="$date - $SRC"
tar -cvf "$DEST/$archive.tar" "$SRC"
echo "Backup create: $archive"
else
echo "Director2 $SRC does not exist"
fi


Проблема состоит в том, что архив не создается из-за ошибки «No such file of directory», если скрипт написан так, как он написан. Но если заменить в строчке tar… $archive на другое имя, допустим на test, то архив спокойно создается. Я не понимаю в чем проблема.









 , ,








И это всё МОЁ

Будь то багтрекинг, или же разработка нового софта, или даже вещи, слабо связанные с IT, вроде CRM или ERP систем. Все мы любим потешаться с корпоративного bloatware, вроде той же Jira (которое даже произошло от слова Gojira), или 1С, или Битрикс, или, боже упаси, решения оракла с SAP.

На размышления по теме меня подтолкнул человек, который на полном серьезе отказался от планирования на компьютере в пользу планирования на бумажке. Если бумажка удобнее, чем программа — так может быть все проблемы от программ? Может быть луддиты правы, и нужно жечь компьютеры?

Если говорить про меня, то я — виртуальный луддит. То есть, компьютером-то я пользуюсь, но многие современные технологии для меня выглядят как «ненужно». Например, мне нравится работающее continious development — но я не люблю Git, на котором большинство подобных решений работает. Например, я веду список дел, которые мне нужно сделать, но в большинстве случае это произвольной формы текстовые записи без конкретных дат, а на какие-то редкие дела, вроде собраний, у меня ставится будильник:

Многомерный issue-трекер (комментарий)

То есть, для меня идеал рабочего инструмента планирования — это текстовой файл. В том числе на сетевом сервере. Конечно, менеджеру было бы тяжело оценивать прогресс, перчитывая произвольной формы личные заметки каждого кодера. Для этой цели есть смысл создавать некоторую выжимку из этих записок, вроде «12 числа исправил баганейм, 13 числа работаю над фичанеймом» — именно это будет перечитывать манагер, под которым ходит десяток кодеров. Собственно, именно эту общую тезисную часть и компьютеризируют баг-трекеры, как самую подходящую и поддающуюся.

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

Наверное, единственный реальный плюс компьютерной системы, который я здесь вижу — это возможность легко оформлять платежи безналом, под которые предварительно введены все наименования из заказа. Конечно, если клиент внезапно не попросит разделить заказ на двое. Я так однажды делал заказ в «серьезном» интернет магазине, и манагер про себя обматерил меня, потому что я внезапно зачислил не ту сумму и докинул остальное вторым платежом, под что совершенно не расчитана их программа, и в итоге манагеру из-за моего мелочного заказика пришлось потратить 5-10 минут воюя с компьютером.

Не буду утомнять вас плохими примерами — я все-таки хотел бы поговорить о хороших. Существуют ли они? Один пример уже приводили:

Многомерный issue-трекер (комментарий)

Это система автоматического тестирования, которая сама прогоняет тесты по куче конфигураций и выдает результаты в единой табличке. Мне нравится такой подход — но он весьма специфичен для конкретного этого проекта. Например, у разрабов GUI/frontend тесты писать не получается, потому что в пользовательском интерфейсе обычно переходы важнее, чем конечные состояния, к тому же конечные состояния могут быть очень разными при одинаково успешном тестировании — но автоматические тесты смотрят именно на конечные состояния. Не в последнюю очеред потому у Oracle и SAP очень сильно хромают пользователськие интерфейсы: руководители этих фирм поставили ключевым критерием успешной разработки софта прохождение тестов, и в итоге софт, успешно прошедший тесты, валится с ошибками у конечного пользователя, или же просто тормозит как Java в 1995.








 , , , ,








И это всё МОЁ

Как сделать так чтобы yum-cron не слал повторяющиеся сообщения?


Чтобы новые сообщения отправлялись администратору только если есть новые обновления.


В настройках ничего такого не нашел. Может есть альтернатива yum-cron?


Проверять обновления раз в сутки не вариант.









 , ,








И это всё МОЁ
Опубликовано несколько значительных обновлений библиотеки декодирования изображений SAIL, предоставляющей переписанный на С ребрендинг кодеков из давно не поддерживаемой программы просмотра изображений KSquirrel, но с наличием высокоуровневого абстрактного API и многочисленными улучшениями. Библиотека готова для использования, но всё ещё непрерывно улучшается. Бинарная и API совместимость пока не гарантируется. Демонстрация.



И это всё МОЁ
И это всё МОЁ

Сабж. То, чем занимается RH, на языке SJW называется «финансовым насилием». Пришло время окончательно отменить RH-поделия, перестать пользоваться rpm-дистрами и отказаться от платных подписок, если они были. Только активными действиями можно доказать своию истинную приверженность идеалам свободного программного обеспечения!








 , ,








И это всё МОЁ

Добрый день!


Изучаю Linux около 2 месяцев, за это время решил много однотипных задачек «создай папку, создай файл / скрипт» и тому подобное. Сейчас пытаюсь найти интересный практический проект по Linux, который бы включал в себя сборку из разных тем и скиллов которые нужно будет применить для решения.
Буду рад если кто то поделится идеей какой проект можно реализовать новичку.


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


P.S.S Если тема добавлена не в нужный раздел форума, прошу ее перенести, так как при регистрации нет возможности создавать тему в любом разделе.
Спасибо!









 , , ,








И это всё МОЁ

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


10e88 15000000 00000000 00000000 00000000
10e98 03000000 00000000 e80f0100 00000000
10ea8 02000000 00000000 60000000 00000000
10eb8 14000000 00000000 07000000 00000000


или так не получится?