LINUX.ORG.RU

Сообщения Xintrea

 

Как в SED обработать только заданную строку?

 ,

Файл состоит из строк вида:

имя_опции=значение опции
или
имя_опции="значение опции"

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

Как удалить повторяющиеся пробелы во всем файле понятно, например так:
sed -i -E 's/ */ /g' имя_файла

А как удалить повторяющиеся пробелы только в нужном месте?

Xintrea
()

Викторина по истории компьютерного железа с фестиваля Undefined 2022. А вы смогли бы? (+бонус)

 , ,

Привет!

В видеотрансляции с фестиваля Undefined 2022 можно посмотреть викторину на знание истории компьютерного железа:

Викторина по истории компьютерного железа

Вопрос к аудитории ЛОРа: являются ли такие вопросы слишком легкими / слишком сложными? На сколько вопросов вы смогли ответить (всего 12 вопросов).

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


Бонус: для любителей и знатоков демосцены еще одна викторина:

Викторина по демомейкингу и демосцене

Что о ней думаете? Сложно? Столько вопросов из одолели?

Отвечать надо сразу, не гуглить.


UPD: Эти же викторины в текстовом формате:

https://pastebin.com/MCKYVRHi
https://pastebin.com/A7mvVnTe

Xintrea
()

Напоминаю: конференция Undefined 2022 - уже на этих выходных

 demoparty,

В ближайшую субботу, 20.08.2022, в поселке Рощино близ Петербурга, в комфортабельном конференц-зале состоится фестиваль компьютерного искусства Undefined 2022.

Сайт фестиваля: https://undefined.c-c.ru

Кто еще не определился, чем будет заниматься на выходных, рекомендую взять и приехать. Если вы конечно недалеко от Питера :) а Сапсан для вас - как проехаться на метро.

Задумано много всяких разных конкурсов и активностей. Команда фестиваля делает все в первый раз, будет много неразберихи, факапов и драмы, в общем, все как вы тут на ЛОРе любите.

Для ценителей так же работает hidden-конференция под названием Бухаос.

Xintrea
()

Конвертация из SVG в PDF в консоли через Inkscape упакованный в AppImage

 , , , ,

Имеется Inkscape 1.2.1, который запускается из AppImage.

Графический запуск происходит без проблем. Но мне нужен запуск bash-команды, которая использует этот InkScape для преобразования одностраничного SVG в одностраничный PDF.

Вот пример команды (образец взят отсюда: https://graphicdesign.stackexchange.com/questions/5880/how-to-export-an-inksc...)

/opt/inkscape_1_2_1/Inkscape-9c6d41e-x86_64_1_2_1.AppImage /home/xi/work/develop/php/undefinedVictorin2022/src/../svg/victorine01/page00.svg --export-area-drawing --batch-process --export-type=pdf --export-filename=/home/xi/work/develop/php/undefinedVictorin2022/src/../pdf/victorine01/page00.pdf

Однако, эта команда, вместо того чтобы сконвертировать SVG в PDF, открывает SVG-файл в графическом интерфейсе и ничего не делает. В консоли никаких ошибок нет.

Вопрос: как сконвертировать SVG в PDF через InkScape из AppImage?

PS: Использовать для конвертирования утилиту rsvg-convert невозможно, она криво конвертит SVG, и как минимум не знает о переносе строк и различных режимах выравнивания текста по горизонтали.

Xintrea
()

Что за странная синяя палочка в Konsole возле области прокрутки?

 konsile, ,

Имеется Konsole 20.12.3 в Debian Stable 11.

В ней появляется вот такая палочка:

https://dropmefiles.com/hLmMV

Ее высота и положение как-то зависит от колеса мышки.

Как ее убрать?

Xintrea
()

Где и как найти официальную документацию на утилиту (встроенную команду) [[ ?

 , , ,

Не могу разобраться, каким образом и где заполучить документацию на утилиту (встроенную команду) [[.

На утилиту [ документацию можно получить по команде man test, ибо [ - это алиас test.

А как заполучить документацию для [[ ?

Xintrea
()

Как в Firefox блокировать отдельные изображения?

 , ,

Вот например не нравится мне у кого-то аватарка на ЛОР-е. И я хочу ее простым способом заблокировать. В древней Опере можно было нажать на картинку правой кнопкой и выбрать «Заблокировать изображение».

А как это сделать в Firefox? Все что нахожу - это аддоны, которые отключают все картинки на странице. А нужно чтобы единичные картинки отключались.

Xintrea
()

Не понимаю формата файла расширений MC

 , , ,

Имеется следующий общесистемный файл: /etc/mc/mc.ext

В нем есть такие строки:

### Images ###

type/^GIF
<------>Include=image

type/^JPEG
<------>View=%view{ascii} /usr/lib/mc/ext.d/image.sh view jpeg
<------>Include=image

type/^PC\ bitmap
<------>Include=image

type/^PNG
<------>Include=image

type/^JNG
<------>Include=image

type/^MNG
<------>Include=image

type/^TIFF
<------>Include=image

type/^PBM
<------>Include=image

type/^PGM
<------>Include=image

type/^PPM
<------>Include=image

type/^Netpbm
<------>Include=image

shell/.xcf
<------>Open=/usr/lib/mc/ext.d/image.sh open xcf

shell/.xbm
<------>Open=/usr/lib/mc/ext.d/image.sh open xbm

shell/.xpm
<------>Include=image
<------>View=/usr/lib/mc/ext.d/image.sh view xpm %f

shell/.ico
<------>Include=image

shell/i/.svg
<------>View=%view{ascii} /usr/lib/mc/ext.d/image.sh view svg
<------>Open=/usr/lib/mc/ext.d/image.sh open svg

Вопрос в том, что такое Include=image ? Как эта опция настраивает программу для просмотра и открытия картинки?

В самом файле есть ничего не говорящая подсказка:
keyword can be:
        include (matches an include directive)

Что такое include directive, откуда, куда, и что она подключает?

Xintrea
()

Почему в Git получается удалить из истории только один файл?

 , ,

Нужно мне в локальном репозитарии удалить из Git несколько pyc-файлов.

Я даю такие команды:

$ git filter-branch --tree-filter 'rm -f configScript/mt2/lib/__pycache__/libCommand.cpython-35.pyc' HEAD
Rewrite 72e4719f86a600568a1a387a632a18fbdc1c6c03 (5/5) (1 seconds passed, remaining 0 predicted)
Ref 'refs/heads/master' was rewritten

$ git filter-branch --tree-filter 'rm -f configScript/mt2/lib/__pycache__/libConfig.cpython-35.pyc' HEAD
Cannot create a new backup.
A previous backup already exists in refs/original/
Force overwriting the backup with -f

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

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

Xintrea
()

Как исправить пакетную базу в Debian-базед дистрибутиве?

 , , ,

Дистрибутив Astra 1.6.

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

Пробовали делать во всяких последовательностях:

apt update
apt upgrade
apt -f install
apt-get clean

Толку никакого.

Решил проверить, сколько пакетов вообще видно:
apt list | wc -l
1616

А должно быть over 11000, то есть в несколько раз больше. На трех соседних серверах с теми же самыми репозитариями количество пакетов 11293, это никак не 1616.

Вопрос: как восстановить пакетную базу?



Перемещено hobbit из general

Xintrea
()

Почему minicom не пишет русскую букву Л?

 ,

Сейчас натолкнулся на такой баг.

На двух Linux-компьютерах запущен minicom 2.7 через COM-порт. Все бы ничего, но когда печатается текст, невозможно напечатать русскую букву «Л», именно большую букву.

Почему так? Кому помешала эта буква?

Xintrea
()

Не работает Proxy через SSH - соединение устанавливается, траффика нет

 ,

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

Proxy решил сделать через ssh и собственный сервер serverinweb.ru в интернете.

Создаю соединение и порт:

ssh -D 8888 user@serverinweb.ru -f -N


Проверяю наличие порта:

netstat -pan | grep 8888
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 127.0.0.1:8888          0.0.0.0:*               LISTEN      11223/ssh
tcp6       0      0 ::1:8888                :::*                    LISTEN      11223/ssh


Пытаюсь скачать файл:

wget -e use_proxy=yes -e http_proxy=127.0.0.1:8888 http://ftp.debian.org/debian/dists/unstable/Release
--2022-06-22 15:04:17--  http://ftp.debian.org/debian/dists/unstable/Release
Подключение к 127.0.0.1:8888... соединение установлено.
Proxy-запрос отправлен. Ожидание ответа… Не получено никаких данных.
Повтор.

--2022-06-22 15:04:18--  (попытка: 2)  http://ftp.debian.org/debian/dists/unstable/Release
Подключение к 127.0.0.1:8888... соединение установлено.
Proxy-запрос отправлен. Ожидание ответа… Не получено никаких данных.
Повтор.


На самом mainserver.ru в его консоли я могу гулять по интернету через lynx например.

Что где надо донастроить, чтобы proxy-соединение работало?

Xintrea
()

Репозиторий Debian Linux не содержит файла Release

 ,

Для одного эксперимента я добавил в /etc/apt/sources.list строки:

deb http://ftp.debian.org/debian unstable main contrib non-free
deb-src http://ftp.debian.org/debian unstable main contrib non-free


Проверил, что url существует и отвечает по HTTP: http://ftp.debian.org/debian/dists/unstable/

Index of /debian/dists/unstable
[ICO]	Name	Last modified	Size
[PARENTDIR]	Parent Directory	 	-
[ ]	InRelease	2022-06-22 08:21 	162K
[ ]	Release	2022-06-22 08:21 	160K
[ ]	Release.gpg	2022-06-22 08:21 	1.6K
[DIR]	contrib/	2022-06-22 08:21 	-
[DIR]	main/	2022-06-22 08:21 	-
[DIR]	non-free/	2022-06-22 08:21 	-
Apache Server at ftp.debian.org Port 80


Однако при работе команды apt update возникает ошибка:

W: Репозиторий «http://ftp.debian.org/debian unstable Release» не содержит файла Release.

Как так не содержит? Что не так с адресом репозитария?

Xintrea
()

WordPress в качестве OpenID-провайдера уже не работает?

 

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

Помнится, WordPress когда-то работал в качестве OpenID провайдера:

https://wordpress.com/blog/2007/03/06/openid/

Сейчас лазаю по аккаунту на wordpress.com и не нахожу никаких упоминаний про OpenID.

Пробую проверить вход на LiveJournal через OpenID, потому что они были иницатором этой технологии. Указываю wordpress-овый OpenID и дальше страницы с надписью «LiveJournal поддерживает систему единой авторизации OpenID, что позволяет соотнести ваши аккаунты на разных сайтах – благодаря этому даже не зарегистрированные в LiveJournal пользователи могут войти в LJ в любой момент» никуда продвинуться не могу.

Что это значит? WordPress перестал поддерживать OpenID? LiveJournal разломал авторизацию по OpenID? Что-то еще?

Xintrea
()

Рабочее место школьника: ремонт материнки Asus H97M-E

 , , ,

Иногда так бывает: выключил компьютер, все было в порядке. На следующий день его включаешь, а он не включается. Кто знает, какие гремлины порезвились в нем? Но факт остается фактом: экран черный, POS-коды не пищат, материнка по неведомой причине не стартует.

Вот так и у меня стала выкаблучиваться маманька Asus H97M-E. Что делать? Поперетыкал память во все слоты, понажимал все возможные клавиши типа ESC, F2, F10, Del, ничего. Сбросил CMOS - ничего. Сгонял к знакомым, взял заведомо рабочую память на проверку, воткнул ее - ничего. Вот уж свезло так свезло.

Начинаю вдумчиво читать Интернет, проверяю известные напряжения, и закрадывается у меня подозрение, что все это дело похоже на то, что в материнке слетел BIOS. Внимательно смотрю на материнку и вижу, что висьминожная микросхема GD25B64BPIG заботливо установлена на разъемные контакты самим производителем. Звоню знакомым электронщикам: есть ли программатор для SPI-флешки? Нет говорят, для SPI нет.

Роюсь и интернете дальше по запросам «Самодельный программатор SPI FLASH из STM32 быстро и просто на коленке» - нет, ничего простого и вменяемого не нахожу. Тогда может быть есть на Arduino? Опа, есть такое: у какого-то любителя паять в разделе тенохрень. Вроде должно получиться!

Разбираю чудо-лампу, которую делал сын для школьного проекта на адресной цветной светодиодной ленте, внутри которой спрятана Arduino Uno. Конпеляю, прошиваю Ардуину, собираю схему на макетке, вставляю микросхему FLASH, и... ничего! Ничего из нее не читается. Пару часов разбираюсь что не так: прошивка Ардуино не та? Ардуино не видит SPI флешки? Дохлая флешка? В итоге оказывается, что фраза автора «Понадобится Arduino Pro Micro ну или любая другая, будет отличаться только распиновка на Ардуино» - эта фраза означает «ну вы сами разберитесь что куда подключать». Оказалось, что в схеме все контакты надо было подключать к одноименным сигналам, за исключением одной ножки. Все контакты SPI подключаются по именам MISO, MOSI, CLCK. А загадочный контакт 2, который в Pro Micro называется SDA и является частью I2C, надо подключать не к SDA в Arduino UNO, а так и оставить висеть на 2-й ножке. Вот такой ребус.

В результате программатор-на-коленке заработал. Фуллдамп снялся, но понять битый он или не битый никак не представлялось возможным. Да и вообще неясно было, в БИОСе ли вообще дело. Чтобы можно было зашить обратно, на всякий случай второй раз снял фуллдамп, проверил различия с первым, различий не было. Но коль есть программатор, решил прошить новый БИОС. Взял с сайта производителя самый свежий бинарь, оторвал 2Кб заголовок через утилиту dd и ее опцию skip. Насколько я понял, этот заголовок используется фирменным флешером, а для прямой прошивки он не нужен. Прошил флешку, перепроверил фуллдамп, увидел что все прошилось байт в байт. Вставил и материнку, и... результат на фото! Материнка завелась и работает на новом БИОСе.

Оборудование:

- Материнка Asus H97M-E
- Проц Intel Core i3-4130 @ 3.40GHz, подаренный вместе с памятью товарищем TolkoSprosit
- Память Crucial DDR3 4Gb
- Кусок железки вместо кулера на время экспериментов, помазанный капелькой Baraf-S
- Arduino Uno из 2010 года
- Ноутбук Samsung 2013 года выпуска для прошивки Ардуины
- «Стеклянная» макетка
- Мультиметр Mastech MY68

Полный размер: https://ibb.co/v14xwbT

Xintrea
()

Почему команда «bash -c cd /tmp notDir» не выдает ошибку?

 

Если попробовать выполнить команду:

bash -c cd /tmp notDir

То она молча выполнится и никакой ошибки не будет выдано.

Что в этом случае происходит с параметром notDir, который представляет из себя бессмысленный для системы набор символов? Почему на него команда не ругается?

Xintrea
()

Почему составная команда с ошибкой не генерирует ошибку?

 , ,

Есть bash-скрипт со следующей командой:

#!/bin/bash
sudo -u postgres bash -c cd /tmp ; psql -f /tmp/sql.txt
В нем есть ошибка: под пользователем postgres выполняется команда до символов ";", а бинарник psql вызывается уже не под пользователем postgres. И это дает ошибку:
psql: СБОЙ:  роль "root" не существует
Так и должно быть.

* * *

А теперь есть такой скрипт, в котором та же самая команда конструируется через переменную:
#!/bin/bash
psqlRun="sudo -u postgres bash -c cd /tmp ; "
$psqlRun psql -f /tmp/sql.txt
Запускаем это дело и... Ошибки нет! Вот только никаких действий, записанных в /tmp/sql.txt в БД PostgreSQL этот скрипт не выполнит. Но и не скажет об этом. Просто молча не сработает и все.

Вопрос: почему так? По-сути, создается команда, всеми символами совпадающая с командой из первого скрипта. Но почему этот скрипт не генерирует ошибку?

Xintrea
()

Скорость работы пина зависит от других пинов. Это нормально?

 bluepill, cmsis, ,

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

Заметил такую странность, которую не знаю как объяснить. Плата STM32F103C8T6 (Blue Pill)

Я хотел сделать мигание светодиодом на ноге A0 при инициализации контроллера на 72MHz.

Взял сделанный ранее проект и стал его упрощать. И вот когда оставил в проекте, по-сути, только:

- инициализацию на 72Mhz
- включение тактирования портов
- настройку пина A0,

то заметил, что код мигания стал работать медленнее! Т. е. мигание, сделанное в бесконечном цикле, стало в 1.5-2 раза медленнее, чем было до.

Я стал разбираться, что могло на это повлиять. И вернул вызов ненужной функции, в которой инициализировались пины A8, A9, B3, B4, B6, B7. И о чудо, мигание стало опять быстрым! Повторюсь, в этой функции делается только инициализация пинов, и она вызывается один раз в начале программы, ничего более.

Вот полный код: https://pastebin.com/Z7d0LZif

А вот код функции, которая «разгоняет» выполнение кода:

// Настройка пинов A8, A9, B3, B4, B6, B7
void otherPortInit(void)
{
    // Для начала сброс конфигурации всех используемых портов в ноль
    GPIOA->CRH &= ~(GPIO_CRH_MODE8 | GPIO_CRH_CNF8);
    GPIOA->CRH &= ~(GPIO_CRH_MODE9 | GPIO_CRH_CNF9);

    GPIOB->CRL &= ~(GPIO_CRL_MODE3 | GPIO_CRL_CNF3);
    GPIOB->CRL &= ~(GPIO_CRL_MODE4 | GPIO_CRL_CNF4);
    GPIOB->CRL &= ~(GPIO_CRL_MODE6 | GPIO_CRL_CNF6);
    GPIOB->CRL &= ~(GPIO_CRL_MODE7 | GPIO_CRL_CNF7);


    uint32_t mode;
    uint32_t cnf;

    mode=0b11; // Режим выхода, с максимальной частотой 50 МГц
    cnf=0b00;  // Режим push-pull
    GPIOA->CRH |= (mode << GPIO_CRH_MODE8_Pos) | (cnf << GPIO_CRH_CNF8_Pos);
    GPIOA->CRH |= (mode << GPIO_CRH_MODE9_Pos) | (cnf << GPIO_CRH_CNF9_Pos);

    mode=0b00; // Режим входа
    cnf=0b01;  // Режим плавающего входа, подтяжки нет
    GPIOB->CRL |= (mode << GPIO_CRL_MODE3_Pos) | (cnf << GPIO_CRL_CNF3_Pos);
    GPIOB->CRL |= (mode << GPIO_CRL_MODE4_Pos) | (cnf << GPIO_CRL_CNF4_Pos);
    GPIOB->CRL |= (mode << GPIO_CRL_MODE6_Pos) | (cnf << GPIO_CRL_CNF6_Pos);
    GPIOB->CRL |= (mode << GPIO_CRL_MODE7_Pos) | (cnf << GPIO_CRL_CNF7_Pos);
}

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

В общем, я в недоумении. Я вообще не ожидал, что такое поведение возможно. Это тормозит разработку домашнего проекта, потому то в нем критична реакция на сигналы длительностью ~500нс, и тут я вижу, что тупой бесконечный цикл работает с разной скоростью в зависимости от инициализации неиспользуемых портов.

Вопрос 1: Как единственный вызов этой функции может влиять на скорость выполнения основного цикла?
Вопрос 2: Почему вызов этой функции может давать строго обратный эффект?

Xintrea
()

Почему не работает cut?

 ,

Вроде как утилита cut должна выделять поля из строки.

Пообую ее использовать так:

ls -ls /usr/share | cut -f 4

И вместо того чтобы показать группу, никакого выделения поля не происходит:
итого 1180
 4 drwxr-xr-x    3 root root  4096 апр 11 13:58 accountsservice
 4 drwxr-xr-x    2 root root  4096 апр 11 16:51 aclocal
 4 drwxr-xr-x    2 root root  4096 апр 11 13:43 adduser
 4 drwxr-xr-x   10 root root  4096 апр 11 13:56 alsa
...

Что еще нужно сделать чтобы заработал cut?

Xintrea
()

Куда исчезла Open Source - программа Synergy?

 , , , общий

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

- Раньше она размещалась тут: http://synergy2.sourceforge.net/
- Потом находилась тут: http://synergy-foss.org/
- Потом переехала сюда: https://symless.com/synergy

И волшебным образом стала платной. Или не стала. Не пойму. В любом случае, чтобы ее получить, надо быть зарегистрированным пользователем. Но на странице логина нет ссылки на регистрацию:

https://symless.com/synergy/account-login?redirect=https://symless.com/synerg...

В общем, ничего понять не могу: как так Open Source стала вдруг проприетарщиной? Но если так, как на сайте владельцев зарегистрироваться чтобы получить дистрибутив?

Xintrea
()

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