LINUX.ORG.RU

Избранные сообщения teod0r

установка плагинов firefox из консоли

Форум — Desktop

Приветствую! Есть ли возможность установить на голый firefox плагины и записать значения в about:config не через браузер вручную, а из консоли линукса баш скриптом? Хочется автоматизировать процесс заточки браузера.

Просто скопировать чистый профиль из ~/.mozilla/firefox/ как-то не уверен что правильно...

 ,

hikikomori
()

Написание свободной(Free as in Freedom) книги-самоучителя по программированию: планы, цели, задачи

Форум — Development

Итак, я решил написать(или как вариант, собрать из кусочков) книгу-самоучилель по программированию, в которой бы не было глупых и нелепых ограничений на распространение. Однако копилефт я все же считаю приемлемым в данном случае. Общественным достоянием это не будет т.к. вполне могут найтись желающие использовать результат в своих проприетарных книгах, а проприетарные книги — плохо. Лицензия самого текста книги-учебника будет или Creative Commons Attribution-ShareAlike (что позволит без каких-либо проблем переиспользовать текст из википедии) или что-то вроде GNU Free Documentation License (без неизменяемых разделов естественно).

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

Теперь к теме того, на кого книга ориентирована, какие начальные знания предполагаются, чему книга будет учить, какой первый ЯП взять и каков будет авторский самысел: С этим моментом я пока что не определился окончательно, и тут есть что обсудить. В частности, я не вижу особого смысла объяснять какие-то базовые понятия комбинаторики, об этом можно доступным языком прочитать из школьных учебников. Системы счисления(СС), перевод из одной СС в другую - вот это еще можно. One's и two's complement представления знаковых чисел — про это тоже можно написать. Если же человек не понимает комбинаторику, он ее быстро поймет на примере кода, который будет достаточно наглядно это показывать, и который всенепременно будет.
Пока что в качестве первого языка я склоняюсь к Си, и тому есть причины. Все прочие распространенные языки (кроме ассемблера, хотя его трудно назвать распространенным) не настолько близки к аппаратному уровню. Про нужность понимания на низком уровне написано тут http://russian.joelonsoftware.com/Articles/BacktoBasics.html https://habrahabr.ru/company/piter/blog/271347/ , не вижу смысла повторяться. Приведу лишь цитату:

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

Притом еще один важный момент: Си будет изучаться параллельно с ассемблером. Если речь идет об изучении ассемблера, необходимо четко зафиксировать то, на какой архитектуре это все происходит и в какой ОС. Так вот, ОС будет GNU/Linux а архитектура x86-64. Будут постоянно проводиться параллели между тем, что из себя представляет код на Си в текстовом виде, и тем, в какой текст на ассемблере его превращает компилятор. В связи с этим, первым делом будет рассказано о goto и конструкции if(условие) goto метка;. Про конструкции вида

if(условие)
{
  что-то_делаем;
}
else
{
  что-то_другое_делаем;
}
Будет рассказано немного позже, притом это будет рассказано и словами, и через написание эквивалентного кода через if(условие) goto метка;. Циклы, for(){} while{}, do{}while(), конструкция switch-case и break continue внутри них будут так же объясняться через все тот же if(условие) goto метка; притом будет делаться явный акцент на том, что намного лучше использовать нормальные циклы, чем лепить всюду этот условный goto. Кроме того, будет так же рассказано про Labels as Values. Почему так важна эта странная штука, if(условие) goto метка;? Потому что она имеет наипрямейшее отношение к тому, как работают ЭВМ, а всякие циклы СКРЫВАЮТ это. Рекурсия в Си будет объясняться только после того, как будет объяснено, что такое стекфрейм и соглашения вызова, будет сказано про оптимизацию хвостовой рекурсии, и о проблеме забивания стека, если такая оптимизация не происходит, притом это будет наглядно показано в ассемблере. Учиться отлаживать код надо будет тоже «с пеленок», притом отлаживать и ассемблер, и всякие там Си. Будет и про асм-вставки в Си, clobber list. В качестве ассемблера будет рассматриваться GAS, а никакой не NASM т.к. GCC умеет выплевывать ассемблер именно в GAS синтаксисе. Насчет выбора Intel или AT&T синтаксиса - тут я склонюсь пожалуй к тому, что надо ЗНАТЬ И УМЕТЬ ПОНИМАТЬ ОБА. Кроме того, GAS давно уже умеет в оба синтаксиса, так что проблем с этим не будет. Единственная проблема с GAS в том, что это однопроходной ассемблер, так что можно освоить и какой-нибудь NASM, YASM.

Первые хеллоуворды будут написаны вообще в особом стиле, без использования printf() и вообще без библиотеки Си; Будут использованы куски на ассемблере, которые делают системный вызов write и read, и с ними можно(нужно) будет линковаться, чтоб что-то вывести на экран. Будет рассказано и про printf естественно, но только когда будет совершенно четко ясно, что такое вообще va_list. Будет куча отсылок к драфту стандарта Си (недрафт почему-то платный). Будет так же рассказано про устройство ОС. В конце скорее всего будет дано задание сделать свою игрушечную ОС так что предполагается что человек к тому моменту должен уже отлично понимать всякие там связные списки, графы, очереди, спинлоки-аллокаторы свои уметь делать на асме при желании. Алгоритмы сортировки, обхода графов, хеш-таблицы, все это будет объяснено на языке Си, и плюсов вообще касаться я не буду.

Насчет графики: работу с протоколом иксов тоже можно будет рассказать, обработку нажатий клавиши. Правда там надо дофига писать про кучу всего, например что есть сокеты, есть AF_LOCAL... Тогда это можно еще и сетевому программированию учить на каких-нибудь беркли-сокетах.

Кроме того, после моей книги предполагается, что человек должен уметь заниматься такими ненужными (в GNU/Linux) на первый взгляд вещами, как крякинг, реверсинг, исправление ошибок в бинарниках, не обладая исходным текстом. Восстановление логики работы программы по дизасму. Ну и программирование в машинных кодах (без ассемблера, одним HEX редактором).

Как-то уж слишком дофига, не находите? Может быть не надо так глубоко во все это нырять? Жду предложений и критики по поводу того, что нужно, а чего не нужно писать. Возможно что я слишком много хочу.

cast ASM be_nt_all mister_VA

UPD: Программирование и отладка на C/ASM - Первые программы. Знакомство с C и ассемблером. Компиляция, линковка, код возврата. Вывод текста.

 , , ,

SZT
()

Выбор ЯП для системного программирования.

Форум — Development

Добрый день, задумался я тут о том чтоб начать учить один из низкоуровневых ЯП для развития и разработки. До этого писал только на Python, но он на роль языка разработки системных инструментов не подходит. Так как тут народ опытный хотел бы узнать что в данный момент лучше начинать учить? Пока выделил следующие ЯП. C,C++,JAVA,RUST.

 ,

vgbnd
()

Есть ли возможность отключить питание на USB?

Форум — Admin

Добрый день, есть устройство (Атол) - pos терминал, на борту ubuntu 16.04. Есть сканер ШК - Haneywell 1250g. Суть проблемы: сканер при выключении, включении системы не включается сам, если его передернуть из USB то все хорошо.

Каждый раз, при включении, передергивать его - не хорошо, хочеться автоматизировать сей процесс..

Причем в системе он не определяется (пока не передернешь его). Есть ли возможность отключить питание на USB порты?

 , ,

vsafonin
()

noisesocket

Форум — Security

Всем привет! Наткнулся на такую вот штуку https://github.com/noisesocket/spec (https://habrahabr.ru/company/virgilsecurity/blog/334506/)

NoiseSocket - это расширение Noise Protocol Framework, которое позволяет быстро и без проблем защищать соединения с минимальным размером кода, небольшими ключами, современными шифрами и хэш-функциями, и чрезвычайно быстрой скоростью. Он может использоваться с необработанными открытыми ключами вместо инфраструктуры X.509 и целевыми устройствами IoT, микросервисами и внутренними приложениями, такими как обмен данными между центрами данных.

Интересно ваше мнение стоит ли его использовать «в продакшене». Ну и вообще интересно кто что думает насчет него.

Перемещено leave из talks

 , , ,

dnb
()

Русский в консоли Gentoo

Форум — General

Как сделать вывод текста в консоли с поддержкой русских символов?
Сейчас ls — ????, ls -l — цифры.
Пробовал по найденным гуглом рецептам — не помогает.

С terminus'ом ввод работает, но выглядит ужасно. подскажите нормальный шрифт.

И как сделать переключение по Caps'у?

 

teod0r
()

Документация к языкам программирования

Форум — Development

Всевозможные учебники и книги - это хорошо, но обычно их предлагают купить и часто не совсем дёшево, даже если они описывают базовый уровень. Бесплатным решением, очевидно, является официальная документация. Когда я открыл документацию к python, я был приятно удивлён, что она написана практически как учебник. Для Java вроде бы тоже всё относительно неплохо в этом плане, хотя хотелось бы отдельный оффлайновый pdf.

Мне захотелось скачать себе документацию в подобном виде для C и C++. Зашёл на их официальные сайты, там описание стандарта предлагают получить на сайте ISO за немалые суммы денег. Да и само описание стандарта далеко не для обучения. Хорошо, подумал я, попробую тогда посмотреть документацию к одной из реализаций языка - GCC-CPP, и вижу, что описанное там тоже вовсе не подходит для обучения. Даже описания типов и примеров объявления нет (может плохо искал, но в заголовках не заметил).

Нет, это не тред «подскажите книгу по Сям», таких для начинающих я и сам могу гору насоветовать.

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


Update

C, C++
Online-ресурсы и учебные пособия для начинающих:

Как дополнение: Рабочая версия стандарта C++14 от 19 ноября 2014 г. (с официального сайта стандарта)


Fortran


Python
В дополнение к официальной документациипереводу руководства Python 3.1):


Object Pascal. Lazarus

Перемещено Klymedy из talks

 , , , ,

grem
()

Как с помощью sed вытащить IP из /var/log/secure*

Форум — Security

Добрый день, коллеги!

Пожалуйста, помогите мне распутаться в задачке с выделением IP адресов неудавшихся интрудеров, которые отметились в /var/log/secure* (CentOS 7.3) при попытке войти по ssh при вЫключенной авторизации по паролю (/etc/ssh/sshd_config: PasswordAuthentification no)

Имеем:

  1. Строки, выбранные из /var/log/secure*, содержащие упоминание о попытке входа:
    grep 'BREAK-IN ATTEMPT' /var/lor/secure* > /tmp/break-in.log
    
  2. Попытку вытащить из квадратных скобок IP с помощью sed (как наиболее лёгкий и быстрый фильтр):
    sed -r 's/.* [^[]*\[([^]]*)\].*/\1/' /tmp/break-in.log > /tmp/break-in_ip.log
    

Беда в том, что там же в логе, в таких же квадратных скобках пишется ещё и порт источника (если я ничего не путаю). Как бы то ни было, первое числовое значение, упоминаемое в строке лога в квадратных скобках, нужно отбросить и забрать только сам IP, т.е. текст из ВТОРОЙ пары квадратых скобок.

Аналогичная задача для вычленения IP горе-интрудеров при включЁнной аутентификации у меня решается аналогично и проблем не вызывает:

grep 'Failed' /var/log/secure* | sed -n 's/.*from \([0-9.]\+\).*/\1/p'
Хотелось бы достичь аналогичного и на этот раз. Заранее благодарен за помощь!

 , , ,

root66
()

Удаление ненужных символов-значков в shell

Форум — Development

Есть строчка вида:«Бесплатное электричество ⚡😨😃 СВОБОДНАЯ ЭНЕРГИЯ потока воды. Гидро электростанция_ZnMKCINf05k.3gp» Как удалить все эти значки (⚡😨😃 и т.д.) оставив токо нормальный текст с знаками препинания (.,—...)?

Фантазия закончилась на:

sed 's/[[:cntrl:]]//g' /tmp/tmp/name

 ,

VINRARUS
()

Напряжение в сети

Форум — General

Что делать, если напряжение в сети около 200 вольт и иногда падает? Максимальное падение замечал до 160. Жаловаться? Поставить стабилизатор? Заводить трактор?

 , ,

Bahamut
()

Современный железный терминал

Форум — Admin

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

ДЛЯ ЧЕГО:
bash, ssh, telnet, vim, python, и больше ничего!

ЧТО ХОЧУ:

Компактную не виртуальную клавиатуру, любой экран чтобы текст был виден, как можно меньше диагональю в пределах разумного, wifi, желательно RJ45 для настройки роутеров. Ну и чтобы АКБ держал днями. Больше ничего не надо, даже usb в принципе не нужен, хватит съёмной SD карты. Наличие спикер-пищалки будет считаться верхом роскоши.

ЧТО НЕ ХОЧУ:
Ставить туда НИКАКИХ иксов и DE, ничто не должно отвлекать от работы.

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

Форм фактор чтобы можно было работать на ходу. Если раскладушка, то на все 180°. Либо хоть листом, снизу клава, сверху экран не менее 30строк.

 

hikikomori
()

Выбора архив-менеджера тред

Форум — Desktop

Критерии подбора будут следующими(расставлены по приоритету по убыванию):

1)Чтоб умело в tar, gz, bz2, 7z, zip, rar и все остальное.

2)Чтоб не тянуло за собой миллиард зависимостей.

3)В приоритете GTK-фронтэнд.

4)Швабодное же.

 , ,

narkoman228
()

Wine 2.7

Новости — Linux General
Группа Linux General

Представлен релиз Wine 2.7 — это открытого слоя совместимости для запуска Windows-приложений.

Изменения в этой версии:

  • В Direct3D 11 внесены улучшения для шейдеров.
  • Добавлена поддержка соединений TCP и UDP в WebServices.
  • Улучшена работа с HiDPI.
  • Добавлена поддержка новейших версий API OSMesa.

С версии 2.6 исправлена 31 ошибка.

>>> Подробности

 , ,

Valman_new
()

ещё два скрипта, пожалуйста:

Форум — Desktop

Приветствую!

Поскольку я езмъ жуткий дурак, и сам не могу придумать, как такое сделать, прошу помощи и подсказки:

есть следующий скрипт, перебирающий все .mkv файлы в текущем каталоге:

#!/bin/bash

for fname in *.mkv; do

echo $fname

read -p «Press enter to continue»
echo $fname >> DTS_videos.txt
ffprobe $fname -show_streams -select_streams a 2>&1 | grep dts >> DTS_videos.txt

done

надо: чтобы он это делал в текущем каталоге, и всех подкаталогах, к тому же к какждому файлу с ДТС в DTS_videos.txt дописывал полный путь, дабы потом этот файл можно было легко найти.

и второй скрипт - список файлов в текущем каталоге и всех подкаталогах, в одной колонке, типа

ls -1

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

огромное спасибо заранее! :)

 ,

wisedraco
()

Альтернатива google

Форум — Talks

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

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

Задрал меня google со своими сервисами, хромом, андроидом и всем этим мониторингом, хочется соскочить от Брина, но альтернативы никак не найду.

Посоветуйте чего нибудь.

 

georgy_barkovsky
()

гугл задолбал. чем пользоваться?

Форум — Talks

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

 , , , ,

rogerw
()

Как правильно настроить framebuffer?

Форум — General

В документации ядра информация по опциям местами расходится с информацией из интернетовских HOW-TO. Ещё не понятно, где информация более свежая...

В общем одни вопросы:

  • какой использовать? vga16? vesa? uvesa? radeon? ещё в в конфиге ядра есть какой-то simple framebuffer... Чем они отличаются?
  • в документации ядра сказано, что у фреймбуфера есть текстовый и графический режим, и что графический медленнее. Какой лучше и как их переключать?
  • где верный список опций? В интернете находил опции для atyfb, а в документации ядра сказано, что для atyfb нет опций.

Пока так и не получилось нормально настроить. С фреймбуфером вывод dmesg очень медленный, тормозящим скроллингом, по сравнению с загрузкой без него.
При использовании VESA fb — в dmesg ошибка:

mtrr: probably your BIOS does not setup all CPUs.
Пробовал указывать разные mtrr:n, но ошибка остаётся.

Какие опции передавать в fbcon и video и как вообще правильно всё настроить? Сейчас использую fglrx, но на будущее и про radeon интересно узнать.

 ,

teod0r
()

Куда лезет фаерфокс сразу после старта? Как это прекратить?

Форум — Security

Старт и запрос 192.168.0.1 — а чего оно забыло на амазоне и чёрти где ещё???

173.194.44.* — google (кто его просил?) 52.222.226.* — amazon

Как это (и другое) отключить? Понятно, там много траффика на незапрашиваемые ресурсы, но кто его просил?

17:54:21.446543 IP 192.168.0.100.47058 > 173.194.44.81.https: Flags [S], seq 1977460891, win 29200, options [mss 1460,sackOK,TS val 169013130 ecr 0,nop,wscale 7], length 0
17:54:22.563150 IP 192.168.0.100.54198 > 52.222.226.76.https: Flags [S], seq 305898223, win 29200, options [mss 1460,sackOK,TS val 169013409 ecr 0,nop,wscale 7], length 0
17:54:23.350950 IP 192.168.0.100.39798 > ec2-54-77-38-116.eu-west-1.compute.amazonaws.com.https: Flags [S], seq 983447588, win 29200, options [mss 1460,sackOK,TS val 169013606 ecr 0,nop,wscale 7], length 0
17:54:24.097911 IP 192.168.0.100.47514 > 192.168.0.1.http: Flags [S], seq 4231223268, win 29200, options [mss 1460,sackOK,TS val 169013793 ecr 0,nop,wscale 7], length 0
17:54:27.350394 IP 192.168.0.100.36732 > ec2-52-40-179-197.us-west-2.compute.amazonaws.com.https: Flags [S], seq 703735864, win 29200, options [mss 1460,sackOK,TS val 169014606 ecr 0,nop,wscale 7], length 0
17:54:28.037909 IP 192.168.0.100.59944 > 52.222.171.186.https: Flags [S], seq 2756436483, win 29200, options [mss 1460,sackOK,TS val 169014778 ecr 0,nop,wscale 7], length 0
17:54:29.458365 IP 192.168.0.100.59946 > 52.222.171.186.https: Flags [S], seq 2224463378, win 29200, options [mss 1460,sackOK,TS val 169015133 ecr 0,nop,wscale 7], length 0

 

fk0
()

StarCraft и StarCraft: Brood War теперь БЕСПЛАТНЫ!

Форум — Games

StarCraft and StarCraft: Brood War are now free.

Патч-версия StarCraft: Brood War Patch 1.18 (StarCraft I) отныне FREEWARE, тоесть БЕСПЛАТНА!

https://starcraft.com/en-us/articles/20674424

В StarCraft I можно играть на Linux используя WINE (если будут не будет багов):

1) https://eu.battle.net/download/getInstaller?os=win&installer=StarCraft-Se...

2) https://appdb.winehq.org/objectManager.php?sClass=version&iId=35171

3) https://bugs.winehq.org/show_bug.cgi?id=42741

 , ,

atsym
()

Преобразование времени в Bash

Форум — Admin

Добрый день. Имеется csv репорт о звонках. Длительность разговора указана в формате 00:00. Как можно преобразовать время(перевести минуты в секунды) в bash?

Пример:

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

 

montag451F
()