by ketmar
Линуксовый ноутбук может крякнуть, так что особо ценное перекладываю, что-то в облака, что-то на GitHub, тем более Нургалиев ketmar разрешил.
Репозиторий с исходниками
Скомпилированный бинарник
Готовый пакет для Slackware
Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2024/10/12/yter
Page Summary
October 2025
|
yterm - линуксовый терминал
Linux: yt-dlp в Slackware
Сломался даунлоадер с Ютуба yt-dlp , который я пользовал в качестве альтернативы youtube-dl , поскольку youtube-dl медленный. Но ютубовские уроды опять что-то поменяли и старая версия yt-dlp перестала работать. Решил обновить.Новой версии yt-dlp нужна и новая версия Python. У меня стояла 3.7, а нужна 3.9.1. Сносим старую версию (название пакета у вас может быть другим, у меня был python3-3.7.2-i586-1_SBo ):removepkg python3-3.7.2-i586-1_SBo 2. Качаем SlackBuild и исходники от Alien 3. Кладем их в отдельный каталог и делаем пакет: ./python3.SlackBuild Python-3.9.5.tar.xz 4. Устанавливаем пакет: installpkg python3-3.9.5-i586-1alien.txz Копии: Слакбилд и исходники (RAR) Готовый пакет (TXZ) 1. Сносим старый пакет, если есть (название пакета ниже может быть другим): removepkg yt-dlp 2. Делаем временный каталог: cd /tmp 3. Создаем в нем каталог bin :cd yt-dlp2024 4. Качаем в bin с GitHub готовую версию yt-dlp :Ссылка на страницу установки Ссылка на бинарник для Linux 5. Устанавливаем скачанному файлу права на исполнение: chmod 755 yt-dlp 6. Создаем пакет: cd .. 7. В каталоге /tmp будет создан пакет yt-dlp2024.txz , нужно его установить:cd .. Копия готового пакета (TXZ) При первом использовании нового yt-dlp возникла ошибка:[youtube] Extracting URL: https://www.youtube.com/watch?v=3zyZ-Ya Ну все, пиздец, подумал я, настала та самая жопа, когда ебался пол ночи, а звуки для новых сэмплов так и не скачаю, а друзья неделю пилили, что из "жужжалки" UVB-76 (это такая всем известная номерная радиостанция), я себе семплов нужных и нарежу, а тут такой облом. Пошел в ресторацию, выпил хорошего немецкого пива под сосисочки, и решение нагуглилось! При вышеуказанной ошибке yt-dlp надо запускать с параметром --restrict-filenames :yt-dlp --restrict-filenames <url> где <url> - адрес видео, которое хотим скачать, например:yt-dlp --restrict-filenames https://www.youtube.com/watch?v=3zyZ-Ya Все! Качается: [youtube] Extracting URL: https://www.youtube.com/watch?v=3zyZ-Ya Решение нашел здесь Это репост с сайта http://tolik-punkoff.com Оригинал: http://tolik-punkoff.com/2024/05/13/linu Slackware: Краткая инструкция по настройке Samba
Кто не знает, что это такое. Если говорить по рабоче-крестьянски, инструкция о том, как расшарить в локальную сеть каталог на компьютере с Linux. Про протокол SMB/CIFS и пакет Samba можно почитать по ссылкам в Википедии. Обычно в Slackware сервер Samba доступен "из коробки". Для запуска Samba в Slackware достаточно дать права на исполнение файлу /etc/rc.d/rc.samba и дать команду на запуск:chmod 744 /etc/rc.d/rc.samba Остановка: /etc/rc.d/rc.samba stop Если не надо, чтоб сервер Samba стартовал при загрузке ОС, отбираем права на исполнение: chmod 644 /etc/rc.d/rc.samba Samba прекрасно запускается в сетевом неймспейсе (копия) если это будет надо. В таком случае, Samba надо будет запускать вручную, после того, как нужный namespace настроен, иначе возможны непонятные глюки. Так что в стартовый скрипт, после настройки неймспейсов вставляем команды: echo "Starting samba server..." provns - меняем на имя нужного неймспейса.В скрипт, выполняемый при завершении работы (обычно /etc/rc.d/rc.local_shutdown ) вставляем команду завершения работы Samba-сервера:echo "Stopping samba server..." И отбираем права на исполнение скрипта rc.samba :chmod 644 /etc/rc.d/rc.samba Производим основные настройки в файле /etc/samba/smb.conf
workgroup — рабочая группа (поменяйте на свою)netbios name — имя компьютераserver string — описание (видно, например, в «Сетевом окружении» из Windows)interfaces — сетевой интерфейс, который будет прослушивать Samba-сервер. Можно выставить имена сетевых устройств (например, eth0 ) или задать IPДелаем доступ к каталогам, открытым в Samba анонимным (без логина и пароля): map to guest = bad user Следующие 3 строки нужны, чтоб Samba стал поддерживать символические ссылки. Например для того, чтобы не расшаривать каждый раз новый каталог и не перезапускать Samba, а просто закинуть символическую ссылку в каталог, уже расшареннй в Samba: unix extensions = no log file — куда писать логmax log size — и его максимальный размерПо умолчанию отключаем DNS-proxy и доступ к принтерам: dns proxy = No Секцию [printers] оставляем по умолчанию (все равно все настройки принтеров вырублены в [global] , да и принтеров у меня нет).Иногда полезно создать каталог, чье содержимое доступно в локальной сети только для чтения, например, чтобы пользователь случайно или намеренно не испортил файлы. Пример такой шары из конфига для PXE-сервера. В шаре расположены файлы для Hiren's Boot CD, запускаемого через PXE (копия) Права на файлы, расшаренный каталог и подкаталоги должны быть установлены в 644 (чтение и запись для владельца, чтение для группы, чтение для остальных).В конфиге в отдельной секции описываем шару:
path - путь к каталогу.public - публичный, ставим в yes , т.к. каталог нужно открыть для любого пользователя в локальной сети.browsable=yes - отображение без прямого указания адреса, без этого параметра автоматически не найдется в "Сетевом окружении", например.read only=yes - только чтение.guest ok=yes - пускать любого пользователя.Примечание: Можно расшарить хоть целый раздел. Права на расшариваемый каталог, подкаталоги и файлы надо установить в 777 (читать, исполнять и записывать для всех)Секция в конфиге:
В секции меняется только параметр read only=no Пример отображения в "Сетевом окружении" Windows: ![]() Пример конфига на Pastebin Это репост с сайта http://tolik-punkoff.com Оригинал: https://tolik-punkoff.com/2023/08/02/sla UPD к предыдущему посту про tcplay.
TCPLAY: шифрование несистемного раздела. (копия) TCPLAY: шифрование несистемного раздела.
Как шифровать системный раздел и сделать загрузочную флешку c initrd для шифрованного Linux, можно найти по тегу tcplay (копия) Sqlite3 для Slackware
Пост для бэкапа, вдруг если что искать потом буду. Linux: завершение работы в определенное время.
Понадобилось подготовить оборудование к отключению в определенное время (отключение электричества от энергокомпании), оборудование разное, под Linux и Windows, сейчас расскажу про Linux. Проще всего воспользоваться Cron. Конфигурационный файл Cron не рекомендуется редактировать вручную, тому ще файл один, для всех пользователей, но утилита crontab его аккуратно собирает, разбирает, и подсовывает собственно планировщику (cron ). Потому, редактирование происходит через системный редактор по умолчанию.В Slackware системным редактором по умолчанию является неудобный vim , вот инструкция, как заменить его на что-то более удобоваримое:Slackware: замена основного (системного) консольного редактора на нормальный. (копия) Задача, это, собственно, задача - т.е. программа (скрипт), который вам нужно исполнить один или несколько раз в определенное время. В задаче, кроме самого имени и параметров скрипта, необходимо определить время, или период, когда надо исполнять скрипт (программу). Краткий синтаксис задачи в Cron: минута[ПРОБЕЛ]час[ПРОБЕЛ]день[ПРОБЕЛ]мес Если нужны не все параметры, то их можно проигнорировать, указав, например, вместо дня недели символ * (звездочка).Например, мне нужно отключить оборудование в 12.00 11 марта: Можно добавлять строки комментариев, начинающиеся с # .# Shutdown server Примечание: Если необходимо выполнить задачу от имени пользователя, то и настройку Cron надо выполнять от имени этого пользователя. Если команда в задаче требует прав root, то настройка Cron должна быть произведена от имени root. Осуществляется командой: crontab -l Корректный запуск редактирования конфигурационного файла Cron осуществляется командой: crontab -e Настройка Cron от Losst (копия в PDF) ЗЫ. Проверил, все работает. Это репост с сайта http://tolik-punkoff.com Оригинал: https://tolik-punkoff.com/2023/05/11/lin Slackware: замена основного (системного) консольного редактора на нормальный.
Понадобилось кое-чего поднастроить в Cron, ввожу crontab -e и попадаю в б-гомерзкий vim . А в системе есть и nano и mcedit , гораздо более удобные и человеческие. Надо перенастроить.1. Прописываем переменную EDITOR в скрипте автозагрузки (в /etc/rc.d/rc.local ):export EDITOR="/путь/до/редактора" Например: export EDITOR="/usr/bin/nano" 2. Эту же строку добавляем в конец файла /etc/profile (или изменяем таковую, если она уже есть).3. При необходимости добавляем (изменяем) эту же строку в файлах ~/.bashrc или ~/.bash_profile в пользовательском(их) каталоге(ах).1. Нажать ESC 1 раз (иногда дважды) 2. Если не вносили изменений, надо ввести :q (двоеточие и q )3. Если успели что-то напортить :q! (двоеточие q и восклицательный знак), vim закроется, не сохранив файл.Это репост с сайта http://tolik-punkoff.com Оригинал: https://tolik-punkoff.com/2023/05/11/sla Slackware Linux: Тестовый бредогенератор. Libastral for Slackware
Собираю свой сервер видеонаблюдения (большой такой видеоглазок со свистелками и перделками) на базе Slackware, ибо оная идет на старом железе типа третьих пеньков, которых как говна за баней. Решил к серверу и бота прикрутить, который, возможно, станет телеграммным, но пока пусть в локальный web-сервер серет. Чтоб потестить бота, надо было бредогенератор, т.е. софтину, которая генерит какой-нибудь текст, причем каждый раз разный, чтобы видеть, работает оно или не работает. Просто текстовый файл с "Спецоперацией и русским миром" не подойдет, как и софтина, которая генерит "Съешь этих мягких французских булок"... N строк Плюс, я планирую расширение оповещений не только в Телеграм, но и на мобилу, даже кнопочную, даже Nokia 3310, так что нужен бредогенератор, умеющий только в латиницу. Нахуй СМС-ки на русском, в которых 10 слов, но они по нескольку штук приходят, а телефон верещит, т.к. русские буквы в кодировке СМС занимают 2 байта вместо одного. Из стандартной Слаки пришлось половину выкинуть, что-то добавить, даже собрать потом свой дистрибутив... Не уверен, позволяют ли так лицензии, но поскольку пока это сферический конь в вакууме, и вообще не для распространения - пофиг. Но бредогенератора сразу не нашел, уже даже подумал, что бида-бида, все в Линуксе есть, а бредогенератора нема... Но нашлося! + Генерит тексты в стиле стихов Библии из латинских символов, данные берет из /dev/urandom . В исходнике можно переключить режим генерации текстов на plain, т.е. текст без разбивки.+ Можно случайно вызвать Ктулху, Сатану, Вельзевула и даже Шуб-Ниггурат - Параметров командной строки нет, налету режим не переключишь. .Под Slackware не собиралась, пришлось немного подправить Makefile .Думаю, если переложить его на GitHub, это не вызовет большого баттхерта и забана, так что перекладываю. Оригинальный проект Репозиторий с исходниками Готовый пакет Это репост с сайта http://tolik-punkoff.com Оригинал: https://tolik-punkoff.com/2023/04/26/sla Цветной текст в консоли Linux #3. Улучшаем совместимость скрипта.
Друзья ![]() ![]() Решил начать с него, оно более важное. Впрочем, отдельно ему посвятил маленькую заметку (копия), где описал проблему и ее решение, так что осталось только применить, оборачиваю основной код функции echoc() в if , осушествляющий проверку, вызвали ли скрипт в терминале или в потоке:
Если не в терминале, просто выводим обычный текст без ESC-кодов: В функции echocn() поступаем аналогично, просто к вызову echo не забываем добавить пареметр -n :
коды для яркости не входят в общепринятый стандарт VT-100, это расширение, и поддерживается далеко не всеми. один из стандартных способов увеличить яркость — включить полужирный режим: "\e[1;32m". да, это не работает для фона, стандартного метода для фона нет.. Т.е. максимально совместимыми цветами с терминалом являются только первые 7: коды 30..37 для текста, 40..47 для фона, дефолтные коды 39 и 49 для текста и фона соответственно (см. таблицу из предыдущей заметки (копия)).Коды для яркости текста ( 90..97 ) и фона (100..107 ) расширение стандарта и поддерживаются не всеми терминалами. Для текста есть способ увеличить яркость - включить полужирный режим: семь цветов плюс полужирный с расчётом на то, что это давно уже яркость текста.Итого, получаем вот такую таблицу совместимых цветов:
Код сброса: \x1b[0m - сбрасывает настройки консоли (цвет текста, фона и стиль) к значению по умолчанию. Он работает нормально.Заодно уж выбросил из таблицы стилей "мигающий" и "невидимый", которые объективно не работают:
Массивы с кодами цветов теперь выглядят так (массив с именами показан для лучшего понимания): NAMES=(Default Black DarkRed DarkGreen DarkYellow DarkBlue DarkMagenta DarkCyan Gray DarkGray Red Green Yellow Blue Magenta Cyan White) И подправляем вывод:
Вывод в терминал: ![]() Вывод в файл: ./esccolorscomp >test.txt ![]() Замечание #3. Об использовании tput Я задал вопрос, а не проще ли вместо ESC-кодов использовать tput , о чем я уже писал (копия). Ответ был таким: Он требует установленого ncurses , в общем и целом — никто не гарантирует его наличия.На GitHub Это репост с сайта http://tolik-punkoff.com Оригинал: https://tolik-punkoff.com/2022/10/05/tsv Отключение проверки сертификатов в curl
При использовании скрипта 0x0.sh , из предыдущего поста (копия), внезапно напоролся на ошибку curl: (60) SSL certificate problem: certificate has expired .Грешным делом подумал, что у меня в системе протухли корневые сертификаты, поскольку слаку я триста лет не обновлял, уже лет 5 без переустановки стоит, даже пошел, и нашел как их вроде бы стандартным способом обновить. Недопомогло. Потом думаю, если бы сертификаты все совсем были старые и просроченные, у меня бы ничего не работало, ни curl , ни wget , ни браузеры, ни ютупчик. А тут вроде как всего один сайтик, что-то тут не то, или я не так делаю, или на сайте косяк. Неделю проебавшись, пошел спросил у более знающего юзера ![]() curl , перед проверкой параметров командной строки, заглядывает в свой конфиг в каталоге пользователя, так что в нем можно установить локальные (относительно пользователя) параметры по умолчанию. Нас интересует опция отключения проверки сертификатов.1. Заходим в свой домашний каталог ( /users/<ваше_имя пользователя>/ )2. Создаем файл .curlrc 3. Прописываем в нем одну строчку: insecure Достаточно добавить параметр -k или --insecure до параметров -F "file=@<имя файла>" , если вы curl 'ом что-то отправляете, или до адреса URL, если вы curl 'ом что-то получаете.Например, я модифицировал код скрипта 0x0.sh :Было: ... Стало: ... Было: ... Стало: ... Было: ... Стало: ... smallwolfie@wolfshanze:/tmp# 0x0.sh -f 332068.jpg Конечно же котролирующий передачу, развертку по горизонтали и вертикали, и держащий под котролем изображение и звук. ![]() На GitHub Это репост с сайта http://tolik-punkoff.com Оригинал: https://tolik-punkoff.com/2022/09/30/otk Цветной текст в консоли Linux #1
Захотел я как-то украсить скрипт, ну чтоб он не был таким скучным, и подумал - в DOS можно было красить консоль, а можно ли в Linux? Можно! tput - команда, в основном предназначающаяся для управления консольным курсором, но покрасить она тоже может, хоть и довольно хреново.Общий синтаксис: tput <команда> <параметры> В нашем случае, интересуют команды, изменяющие цвет или стиль текста. Для удобства сведу их в таблицу:
tput , на самом деле, плох для окраски текста консоли, но зато хорош в синтаксисе. Не надо сочинять дополнительных функций для ESC-последовательностей (о них в следующей заметке), но он поддерживает только 7 основных цветов, а на некоторых консолях не срабатывает и белый цвет. Вот таблица цветов для текста и фона (значения одинаковые и для того, и для другого):
Я написал тестовый скрипт, где последовательно перебираю цвета текста и цвета фона: tput setaf <код_цвета> , для текстаtput setab <код_цвета> , для фонапотом echo -n "некий текст" , где некий текст - наименование цветов в массиве, см. исходник.А потом вызываю tput sgr0 , чтобы сбросить консоль.Стили текста: echo "Text style:" ![]() Смотреть здесь tput, на буржуйском. Копия в PDF Это репост с сайта http://tolik-punkoff.com Оригинал: https://tolik-punkoff.com/2022/09/25/tsv Очистка каталога /tmp при завершении работы в Slackware
Пост из области "спрашивали - отвечаем". Хотя, не совсем понимаю, зачем это особенно-то нужно. Если каталог Консольный клиент для бесплатного VPN vpngate.net
![]() Когда-то давно на сайте писали о бесплатном японском VPN vpngate.net, к сожалению, официальный клиент был только под винды, но народ наскриптил и под Android/iOS и графический клиент под Gnome А вот консольного не было, пришлось делать самому. - wget - openvpn - dialog - Получение списка серверов - Сортировка списка серверов - Добавление дополнительных опций в конфиг VPN - Установка соединения с сервером Настройка скрипта осуществляется путем редактирования переменных скрипта. LISTADDR="http://www.vpngate.net/api/ip - адрес списка серверовLISTFILE="servers" - файл со списком серверов на локальной машинеDATADIR="./data" - рабочий каталогDIALOG="dialog" - команда, вызывающая утилиту dialog .OPENVPN="openvpn" - команда, вызывающая утилиту openvpn .VPN_LOGIN="vpn" - логин.VPN_PASS="vpn" - парольAUTH_FILE="vpngate.auth" - файл авторизацииAUTH_DIR="$DATADIR" - директория с файлом авторизации.LOG_FILE="" - путь к файлу log'аLOG_TTYN="3" - отправлять log на терминал, номер которого указан в переменнойRMLOG=0 - удалять log по выходу из программы (0 - не удалять, 1 - удалять)LOG_APPEND=0 - дописывать log (0 - не дописывать 1 - дописывать)1. Установите пакет (Slackware) или скачайте основной скрипт, скрипт настройки маршрутизации и опции VPN 2. В случае необходимости измените значения переменных скрипта 3. Измените скрипт маршрутизации в соответствии с вашими настройками 3. Запустите скрипт ( vpngate )4. Обновите список VPN-серверов (пункт основного меню Update VPN List) 5. В случае необходимости отсортируйте список серверов и откорректируйте список дополнительных опций VPN. 6. Выберите пункт меню Connect VPN... 7. Выберите нужный сервер и нажмите OK ![]() Главное меню ( Остальные скриншоты ) ![]() Окно About ![]() Тест соединения Репозиторий на GitHub Пакет для Slackware Это репост с сайта http://tolik-punkoff.com Оригинал: http://tolik-punkoff.com/2020/11/02/kons Генерация самоподписанных ключей для Dovecot
Пригодится для локального сервера почты или для тестирования проекта, где нужен свой почтовый сервер. Буду эту тему дальше развивать, следите по тегу mailserver (копия). 1. Создаем приватный ключ для корневого сертификата. 2. Создаем самоподписанный корневой сертификат. 3. Создаем приватный ключ для простого (не корневого) сертификата. 4. Создаем запрос на подпись простого сертификата. 5. Создаем простой сертификат, подписанный с помощью корневого. 6. Копируем приватный ключ для простого сертификата и сам сертификат в /etc/dovecot/private/ 7. Устанавливаем файлам права в 400 . Т.е. разрешаем чтение только для владельца, остальное запрещаем.8. Если dovecot будет запускаться под отдельным пользователем, а так и надо, не забываем сменить файлам владельца.Поскольку, с первого раза настройка почтового сервера может не получиться [ВОРЧАНИЕ ON] куча инструкций, противоречащих друг другу или неполных, но одной хорошей и конкретной нет [/ВОРЧАНИЕ OFF] Вот скрипт: #!/bin/bash echo "Set permissions..." Скрипт на GitHub Это репост с сайта http://tolik-punkoff.com Оригинал: http://tolik-punkoff.com/2020/10/08/gene Запись с экрана в Slackware Linux
Итак, продолжаем разбираться с записью с экрана в Linux. Для начала, я почитал обзор Losst на соответствующие программы, и вот, что имею сказать: RecordMyDesktop - кривой и глючный, пропускает кадры, пишет только в формате OGV, который ни одна собака не поддерживает. Vokoscreen - не собрался, не смог найти файл своего же исходника, хотя и файл был и права на месте. ScreenStudio - для потокового видео, мне лично не подходит. Kazam ScreenCaster - нет возможности записи конкретного окна или произвольной области экрана. Byzanz-record - только командная строка (да, хочу программу с графическим интерфейсом для работы с видео). VLC Media Player - записывает, но опять же, весь рабочий стол OBS - вообще не про "запись с экрана", а про стриминг, так что если там запись с экрана и есть, то в качестве приятного бонуса, для простой записи с экрана, это из пушки по воробьям. Так что остановился на Simple Screen Recoder. В Slackware он штатно устанавливается через sbopkg , вводим в поиске ssr и ставим, из зависимостей нужен ffmpeg .Программа простая и удобная, выполнена в виде мастера, так что работа не доставляет никакого геморроя. ![]() На первом шаге выбираем, что будем записывать - весь десктоп, произвольную область экрана или конкретное окно, или записывать, следуя за курсором. Можно записывать и OpenGL'ные игры. Также можно включить запись звука и записывать или убрать из записи курсор. ![]() На втором шаге выбираем кодек и формат файла, основные форматы следующие: - MKV (Кодеки H.264 , VP8 , Theora )- MP4 (H.264 )- WebM (VP8 )- OGG /OGV (Theora )Также выбираем файл, в который будем писать, и отрубаем пропуск кадров. Писать лучше в MP4, т.к. его любой видеоредактор поддерживает. Можно в списке кодеков и форматов выбрать Other... и будет доступна тонкая настройка контейнера (формата файла) и кодека. ![]() На третьем шаге включаем запись и сворачиваем программу (она спрячется в трей). ![]() Причины ошибки: 1. Кодек не установлен, заходим в sbopkg и устанавливаем пакеты:- aom (выбираем multimedia/aom в меню sbopkg )- libass - libwebp - x264 (выбираем multimedia/x264 в меню sbopkg )- x265 - ffmpeg4 Перезапускаем программу, если ошибка повторяется, значит установлен кривой ffmpeg (а официальный пакет ffmpeg в Slackware кривой). Сносим пакет ffmpeg и устанавливаем нормальный от Alien: качать здесьВ общем, поступаем как в заметке Перекодировка OGV в MP4 и решение ошибки Unknown encoder 'libx264' в Slackware Linux (копия) Все работает: ![]() ФАНФАРЫ! Лучшие программы для записи видео с экрана Linux Это репост с сайта http://tolik-punkoff.com Оригинал: http://tolik-punkoff.com/2020/08/18/zapi Перекодировка OGV в MP4 и решение ошибки Unknown encoder 'libx264' в Slackware Linux.
Пришлось некоторое время решать проблемы с записью видео в Linux. Изначально задача была в записи видео с экрана, но в процессе решения добавились и web/ip-камеры (заодно уж), и общие проблемы с перекодировкой видео из одного формата в другой. Начнем как раз с конца, т.е. с перекодировки. Леша уже плюнул на попытки заставить непокорную софтину записывать для начала экран в удобоваримом формате MP4, и прислал мне ролик в формате OGG (ну не OGG, OGV), чтоб я разобрался с его перекодированием во что-то более удобоваримое, т.к. не один из наших видеоредакторов формат OGV (кстати, открытый) "из коробки" не поддерживал. В качестве видеокодека в формате OGV используется кодек Theora , а в MP4 AVC/H.264 OGG - изначально, открытый звуковой формат, разработанный как альтернатива закрытым (WMA, MP3). Через некоторое время, данный формат был расширен с добавлением поддержки видео. Но некоторые (несознательные) линуксовые программы пишут видео, а файлы создают с расширением .ogg . Линуксовому софту, типа плееров, вообще на это плевать, но линуксовому софту всегда было плевать на расширения имени файлов, а вот винде нет. Потому, если вам прислали видео в файле с расширением .ogg , то попробуйте поменять расширение на .ogv , скорее всего файл нормально откроется. В K-Lite Mega Codec Pack и в VLC для Windows поддержка, что OGG, что OGV есть точно.Но все-таки вернемся в Slackware и к преобразованию форматов. В связи с диким онанизмом на "авторские" "права" и зоопарком форматов видео/аудио в Линуксе преобразование одного формата в другой превращается в наркоманский квест. У нас было десять мегабайт библиотек, две сотни кодеков, пакет с разными пакетами, 200 грамм укуреных лицензий... Тьфу, к делу. Для установки некоторых необходимых пакетов можно воспользоваться sbopkg .Вообще, для работы с видео и аудио используется программа ffmpeg (v3), но не спешите ставить ее из "официального" репозитория Slackware, как оказалось, чтоб все заработало, пришлось переустанавливать из альтернативного.Пока вводим в поиске и ставим: aom (выбираем multimedia/aom в меню sbopkg )libass libwebp x264 (выбираем multimedia/x264 в меню sbopkg )x265 ffmpeg4 ffmpeg (v3) у меня уже был установлен ранее, так же из официального репозитория Slackware. А вот и зря.
Преобразование будет медленным, но практически без потери качества. Свои варианты параметров можете кидать в комментарии, вдруг пригодится. Как я сказал ранее, ffmpeg из репозитория sbopkg у меня уже стоял. Сначала я подумал, что поможет его полная переустановка с пересборкой пакета (мало ли, свежеустановленные кодеки не видятся). Не помогло.Решение нашлось здесь В общем да, из-за ffmpeg в Slackware не включает поддержку H.264 . Но, слава Великим Древним, проблему решили без нас, и даже в опциях компиляции ковыряться не нужно:Just to clarify, you'd want the "restricted" ffmpeg that Alien Bob offers, as that includes support for various things that have patent restrictions (like x264 encoding). Есть готовый альтернативный пакет: Скачать Копия на Mega.NZ (+ копия остальных пакетов) Это репост с сайта http://tolik-punkoff.com Оригинал: http://tolik-punkoff.com/2020/08/15/pere Посмотреть размер каталога в Linux. В консоли, но интерактивно и наглядно (ncdu).
И наглядно увидеть, где засрано :) ![]() Сканирование В подкаталоги входить можно по ENTER , возврат назад по стрелке влево, клавише h или < (обычно запятая с шифтом) или по нажатию ENTER на .. , как в mc . Краткая справка по ? (не забывайте нажать SHIFT ), выход по q .![]() Отображение каталогов и их размеров В Slackware устанавливается штатным образом через sbopkg, как в других линуксах не знаю, в Убунте и Дебиане есть в репозиториях. Это репост с сайта http://tolik-punkoff.com Оригинал: http://tolik-punkoff.com/2020/02/18/posm Выход из X через консоль (и желательно удаленно)
Долго искал, как выйти из X через консоль, и в мануалах ничего не мог найти. Почему-то это нигде толком не описано. Хотя, я думаю, завершить X на другой машине удаленно, имея под рукой только консоль/удаленный терминал, возникала не у меня одного. Runlevel или уровень запуска — это программная конфигурация системы, которая позволяет запускать только выбранную группу процессов на определенном этапе. Их до 10, но нас интересует уровень 3 - многопользовательский (консольный) режим, и уровень 5 (в Slackware - 4), многопользовательский графический режим, в котором X-server запускается по умолчанию. Если система находится на уровне 4 (5), то способы как либо пришибить иксы могут не сработать, иксы перезапустятся. С уровня 3 можно запустить X-сервер вручную, для этого надо в консоли ввести (обычно) startx . Если система на уровне 3, то иксы сравнительно легко прибить (см. ниже).Визуально уровень запуска обычно определить легко. 3 - после загрузки ОС будет консольное приглашение ввести логин и пароль, например: Welcome to Linux 4.4.14-smp (tty1) На уровне 4 (5) на экране будет предложение ввести логин/пароль, но уже в иксовой форточке. Правда, некоторые не очень популярные дистрибутивы хитрят. Например, Puppy Slacko запускается на уровне 3, а X-сервер вызывает уже из своих инициализационных скриптов. Можно проверить runlevel и в консоли/терминале: runlevel Вывод: N 3 или who -r Вывод: run-level 3 2020-01-28 07:12 last=S Неверное, самый универсальный способ завершить работу X-server на лету и через консоль, это переключить runlevel. Команда должна быть выполнена от root .- Для Slackware: init 3 - Для дистрибутивов с systemd: systemctl isolate runlevel3.target Вернуться в иксы. Для Slackware: init 4 - Для дистрибутивов с systemd: systemctl isolate graphical.target - Для Slackware: 1. Под root запускаем mc и идем в /etc 2. Ищем там файл inittab и открываем его в редакторе.3. Ищем строчки: # Default runlevel. (Do not set to 0 or 6) Они обычно в начале файла. 4. Меняем 4 на 3 и сохраняем файл. Если надо X при старте - меняем 3 на 4 . Если что, обычно в файле есть комментарий-подсказка (на буржуйском).- Для дистрибутивов с systemd: Чтоб X был выключен по умолчанию: systemctl set-default runlevel3.target Чтоб X по умолчанию был включен: systemctl set-default multi-user.target Runlevel в Unix/Linux Копия Опять же, повторюсь, стопроцентно это сработает только если X-server запущен вручную (или через скрипты), когда система находится в runlevel 3. - Придушить X-сервер совсем: killall Xorg - Более аккуратно придушить иксы (для систем с systemd). Надо отправить команду завершения оконному менеджеру. В общем виде: systemctl stop display-manager.service Вместо display-manager.service подставляем свой оконный менеджер (наверное, не все поддерживают, но у меня systemd нет, так что не тестировал):systemctl stop gdm - Способ для xfce :xfce4-session-logout --logout --display :0.0 Корректно срабатывает только с локальной консоли. Удаленно может не работать. В некоторых системах до сих пор работает старый способ переключиться в голую консоль, не завершая X-сервер. Для этого надо нажать Ctrl+Alt+F2...F6 и вам откроется чистый терминал. На Ctrl+Alt+F7 обычно сидят сами иксы, и таким образом, можно к ним вернуться. А первый терминал (Ctrl+Alt+F1) иксы занимают под служебные нужды. В некоторых системах для выхода из иксов срабатывает такой способ: 1. Переключиться в первую консоль (Ctrl+Alt+F1) 2. Нажать Ctrl+C/Ctrl+Break В некоторых системах для выхода из иксов может сработать комбинация Ctrl+Alt+Backspace В системах, запускающихся в графическом runlevel по умолчанию, это можно использовать для перезагрузки графического окружения, если X зависли (как soft-restart в Windows 98). Так же можно использовать и команду killall Xorg Это репост с сайта http://tolik-punkoff.com Оригинал: http://tolik-punkoff.com/2020/01/25/vyho Установка и настройка I2P в Slackware Linux
![]() I2P это такая скрытая пиринговая сеть, подробнее можно узнать в Википедии или на официальном сайте. В отличии от TOR, она обеспечивает не анонимный доступ в Интернет, а доступ к собственным ресурсам (сайтам, файлообменникам и т.д.), скрытым из обычной сети. Гейты в "большой" Интернет в ней есть, но они кривые, косые и пользоваться ими не рекомендуется. Расскажу, как ее установить и настроить на Slackware, заодно разрешив пользователям из локальной сети также получать к ней доступ. Клиент сети написан на Java, потому ее надо сначала установить. На официальном сайте есть рекомендации о необходимой версии: Java Runtime Version 7 or higher. (Oracle, OpenJDK, or IcedTea Java Version 7 or 8 recommended. Сама установка довольно проста: 1. Идем, например сюда 2. Скачиваем jdk-8u162-i586-2gds.txz 3. Устанавливаем стандартным образом: installpkg jdk-8u162-i586-2gds.txz 4. Добавляем в автозагрузку (если вы не сделали отдельного скрипта для запуска сервера, то /etc/rc.d/rc.local ) пути к java:echo "Add JAVA paths..." 5. Перезагружаем машину. 6. Вводим в консоли команду java без параметров. Если все было сделано правильно, то вы должны увидеть вывод краткой справки по параметрам java.Понятно, что операции с пользователями надо делать под root или с sudo .1. Создаем отдельную группу для I2P: groupadd i2pgrp 2. Создаем интерактивного (пока, потом мы вырубим ему всю интерактивность) пользователя, например i2psrv :useradd -g i2pgrp -m -d /home/i2psrv -s /bin/bash i2psrv где: -g i2pgrp - группа пользователя (i2pgrp )-m - создать домашний каталог-d /home/i2psrv - путь к домашнему каталогу (/home/i2psrv )-s /bin/bash - установить пользователю оболочку, в данном случае фиктивную (/bin/bash )i2psrv - имя пользователя3. Задаем ему пароль: passwd i2psrv В интерактивном режиме повторяем пароль 2 раза, о сложности можно не беспокоиться - все равно потом отключим. 1. Скачиваем установщик для Linux с официального сайта 2. Копируем в директорию пользователя ( /home/i2psrv ) и меняем владельца файла:chown i2psrv:i2pgrp i2pinstall_0.9.44.jar 3. Логинимся под новым пользователем. 4. Запускаем установку (через консоль): java -jar i2pinstall_0.9.44.jar -console 5. Приводят возможность выбрать язык: Select your language Оставляем английский (нажимая ENTER). 6. Далее предлагают продолжить установку: Нажимаем 1 [ENTER] 7. Опять лицензия и всякая хрень: Нажимаем 1 [ENTER] 8. Выбор пути для установки. Поскольку устанавливаем в каталоге нового пользователя, пусть так и делает - нажимаем [ENTER] 9. Далее нажимаем O и [ENTER] (в прошлых версиях было меньше гемора и подтверждений, а сейчас словно анкету в ментовку работать заполняешь :)10. Еще раз предлагают подтвердить, что все ОК (1 и [ENTER]) 11. Наконец, тебе говорят, что все ОК: ==================== 12. Тебе говорят, что все совсем ОК: Installation was successful Если вы намерены использовать I2P только на локальном компьютере, этот шаг можно пропустить. 1. Идем в файл /home/i2psrv/i2p/i2ptunnel.config , предварительно его куда-нибудь скопировав, и меняем в нем все 127.0.0.1 на адрес нашего компьютера в локальной сети (например на 192.168.0.20 , см. адрес вашего компьютера), таким образом все сервисы I2P будут доступны с любой машины в локальной сети.2. В том же файле смотрим порты, если где-то у нас какой-то порт для чего-то занят, например на том же порту уже висит HTTP или TOR-proxy, смело меняем порт. I2P - порядочный сервис, и сам умеет переключать пользователя, под которым запускается. Некоторые даже рекомендуют завести двух пользователей, одного для запуска, другого для установки I2P, но мы, ради экономии времени, делать этого не будем - и запуск и установка будут под одним пользователем. Тем не менее, необходимо отредактировать скрипт i2prouter (в /home/ip2srv/i2p ):1. Ищем строку, содержащую RUN_AS_USER= 2. Раскомментируем ее (удаляем # в начале строки).3. Дописываем после знака = имя пользователя (в этом примере "i2psrv" ).Отслеживание статуса соединения с сетью I2P, ошибки и основные настройки доступны через Web-интерфейс, который запускается на локальной машине на порту 7657 , но если физического доступа к той машине, на которой установлен I2P нет (или лень), то можно управлять ей и с любого компьютера локальной сети.Внимание! Это не очень одобряется официальными инструкциями. По идее можно сделать безопасный SSL-туннель, как это описывалось в одной из старых инструкций. Но я опишу самый простой вариант, просто поменяю конфиг. Заходим в clients.config (/home/i2psrv/i2p ), предварительно сделав бэкап. И опять меняем 127.0.0.1 на 192.168.0.20 , т.е. меняем адрес машины, по которому должна появиться консоль.Далее меняем clientApp.4.startOnLoad=true на clientApp.4.startOnLoad=false , т.к. на сервере нет смысла открывать панель управления после старта I2P.( Дальнейшая настройка под катом ) Переходим по адресу http://i2p-projekt.i2p ![]() I2P довольно медленная сеть и работает с некоторыми перебоями, так что если вместо сайта вы увидите надпись "Сайт недоступен. Возможно, сайт отключен, сеть перегружена или ваш маршрутизатор недостаточно интегрирован с другими пирами. Вы можете повторить операцию.", то действительно, скорее всего, операцию нужно повторить. На самом деле интерактивный доступ к системе для пользователя i2psrv был нужен только на этапе установки сервиса I2P, и я оставлял его до конца настройки на случай, если I2P понадобится переустановить. Теперь консоль пользователю i2psrv более не нужна. Отключаем:Редактируем (под root 'ом) файл /etc/passwd .Находим в этом файле строку, начинающуюся с имени пользователя ( i2psrv ) и в конце строки меняем /bin/bash на /bin/false .Сохраняем файл. Остались нераскрытыми темы подписок (как добавлять I2P-сайты неизвестные вашему маршрутизатору I2P), интересные I2P-сайты, другие сервисы I2P, кроме WWW. Может быть когда-нибудь вернусь к этому вопросу, а пока рекомендую детально ознакомиться с документацией на сайте https://geti2p.net/, http://i2p-projekt.i2p и в консоли I2P. Это репост с сайта http://tolik-punkoff.com Оригинал: http://tolik-punkoff.com/2019/12/19/usta |