Php Zip Overwrite

echo -e "Favorite sites:\nlinuxtalks.co\n" >> test_file.md

августа 3, 2022 · 1 мин · Alexander Popov

CryFS — быстрый старт

Пошёл я, ага… activate boost-1.78.0-x86_64-2_slack15.0.xzm cryptopp-8.2.0-x86_64-3.xzm Можно работать дальше :) CryFS — FUSE-based cryptographic filesystems. Можно использовать в том числе для хранения защищённых данных в Dropbox, iCloud, OneDrive и сотни других хранилищ. Подготовка к работе простая… необходимо запустить одну команду, ввести пароль и пользоваться. По умолчанию используется метод шифрования aes-256-gcm. cryfs /basedir/ /mountdir/ /basedir/ - директория, в которой хранятся зашифрованные данные /mountdir/ - директория, в которой хранятся расшифрованные данные. cryfs ~/....

августа 3, 2022 · 1 мин · Alexander Popov

Detect Musl

Пост — чистейшая копипаста с SoF. #! /bin/sh tmpf=/tmp/musl.log # Detect Musl C library. libc=$(ldd /bin/ls | grep 'musl' | head -1 | cut -d ' ' -f1) if [ -z $libc ]; then # This is not Musl. rm -f ${tmpf} exit 1 fi $libc >${tmpf} 2>&1 vstr=$(cat ${tmpf} | grep "Version" | cut -d ' ' -f2) v_major=$(echo $vstr | cut -d '.' -f1) v_minor=$(echo $vstr | cut -d '....

июля 31, 2022 · 1 мин · Alexander Popov

Установить пакет из edge в Alpine Linux

Пердисловие Стало мне необходимо обновить язык программирования Crystal до версии 1.5.0. Имеем версию дистрибутива 3.16: cat /etc/os-release NAME="Alpine Linux" ID=alpine VERSION_ID=3.16.0 PRETTY_NAME="Alpine Linux v3.16" HOME_URL="https://alpinelinux.org/" BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues" Crystal 1.5.0 лежит в edge, а в Alpine Linux 3.16 на момент напиcания статьи версия пакета 1.4.1. Добавляем новый репозиторий и устанавливаем (обновляем) пакет Списки репозиториев хранятся в файле /etc/apk/repositories: cat /etc/apk/repositories https://dl-cdn.alpinelinux.org/alpine/v3.16/main https://dl-cdn.alpinelinux.org/alpine/v3.16/community Добавляем новый: echo "@edge https://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories Подробнее здесь - Repository pinning....

июля 31, 2022 · 1 мин · Alexander Popov

Обновление Minecraft Launcher до 1.19.1

Вышла новая версия моего лаунчера для Minecraft, написанная на bash для Linux/macOS и cmd.exe для Windows. Данный релиз приечателем тем, что сделана отдельная версия для macOS. К сожалению у меня протестировать её возможности нет. Если встретите ошибку, прошу написать об этом. Давно хотел разбить переменную LIBRARIES_LIST на много строк, чтобы не срать в Git и было проще отслеживать изменения версий зависымых библиотек. Строку LIBRARIES_LIST в Windows версии лаунчера порежу к следующем релизу....

июля 30, 2022 · 1 мин · Alexander Popov

Утилиты для создания пакетов в Porteus

dir2xzm Утилита dir2xzm конвертирует директорию в zstd или xz сжатый модуль (.xzm). usage: /usr/bin/dir2xzm <-option> source_directory output_file.xzm options: -x : use xz compression. options: -z : use zstd compression. if no option is given xz is used. tgz2xzm && txz2xzm Скрипт для конвертации Slackware’s TXZ пакетов в сжатые .xzm модули. xzm2dir Скрипт для извлечения .xzm модуля в директорию. Extract .xzm module to folder Usage: xzm2dir moduleName.xzm [outputFolder] Example: xzm2dir module.xzm Example: xzm2dir module....

июля 28, 2022 · 1 мин · Alexander Popov

Цветной выхлоп на Си

Лучи благодарности LINUXTALKS-CO/ LINUX-ORG-RU. #include <stdio.h> /*--------------Тут просто кишки----------------*/ /*просто цвета*/ #ifndef color_off #define cired() "\x1B[31m" #define cigre() "\x1B[32m" #define ciyel() "\x1B[33m" #define ciaqu() "\x1B[36m" #define cidef() "\x1B[39m" #else #define cired() #define cigre() #define ciyel() #define ciaqu() #define cidef() #endif /*цвета + начертания - жирно*/ #ifndef bold_off #define b_cired() "\x1B[1;31m" #define b_cigre() "\x1B[1;32m" #define b_ciyel() "\x1B[1;33m" #define b_ciaqu() "\x1B[1;36m" #define b_cidef() "\x1B[1;39m" #define boldoff() "\x1B[0m" #else #define b_cired() cired() #define b_cigre() cigre() #define b_ciyel() ciyel() #define b_ciaqu() ciaqu() #define b_cidef() cidef() #endif /*цвета + начернтание - курсив*/ #ifndef cur_off #define c_cired() "\x1B[3;31m" #define c_cigre() "\x1B[3;32m" #define c_ciyel() "\x1B[3;33m" #define c_ciaqu() "\x1B[3;36m" #define c_cidef() "\x1B[3;39m" #define cursoff() "\x1B[0m" #else #define c_cired() cired() #define c_cigre() cigre() #define c_ciyel() ciyel() #define c_ciaqu() ciaqu() #define c_cidef() cidef() #endif /*---------------------тут API само-----------------------*/ #define red(message) cired() message cidef() #define gre(message) cigre() message cidef() #define def(message) cidef() message cidef() #define yel(message) ciyel() message cidef() #define aqu(message) ciaqu() message cidef() #define b_red(message) b_cired() message cidef() boldoff() #define b_gre(message) b_cigre() message cidef() boldoff() #define b_def(message) b_cidef() message cidef() boldoff() #define b_yel(message) b_ciyel() message cidef() boldoff() #define b_aqu(message) b_ciaqu() message cidef() boldoff() #define c_red(message) c_cired() message cidef() cursoff() #define c_gre(message) c_cigre() message cidef() cursoff() #define c_def(message) c_cidef() message cidef() cursoff() #define c_yel(message) c_ciyel() message cidef() cursoff() #define c_aqu(message) c_ciaqu() message cidef() cursoff() enum { RED = 31, GREEN = 32, YELLOW = 33, BLUE = 34, PURPULE = 35, AQUA = 36, DEFAULT = 39, }; static void colorset(int color) { printf("\x1B[%dm",color); } int main(int argc, char *argv[]) { const char text[] = aqu("А я томат!...

июля 26, 2022 · 2 мин · Alexander Popov

NO_COLOR в Crystal

В Crystal 1.5.0 появилась поддержка NO_COLOR. Спасибо @didactic-drunk. Пулл-реквест #11984. Чувак реализовал в библиотеке Colorize поддержку NO_COLOR без лишних телодвижений для разработчика. NO_COLOR это вроде движения, стандарт который урегулирует тенденцию добавления в утилиты цветного выхлопа в консоль. Сайт проекта — https://no-color.org/. Кратко о том, как это работает ПО, которое по умолчанию добавляет цвет ANSI к своим выводам, должно проверять наличие переменной среды NO_COLOR. Если она присутствует, а не является пустой строкой (независимо от ее значения), предотвращает добавление цвета ANSI....

июля 26, 2022 · 1 мин · Alexander Popov

Porteus Autologin

В Porteus настройка пользователей в KDE не работает. Если открыть Users в System Settings получаем ошибку Invalid KPackage: 'kcm_users'. Вот, что выводится в терминале: $ systemsettings5 QQmlEngine::setContextForObject(): Object already has a QQmlContext file:///usr/share/kpackage/kcms/kcm_landingpage/contents/ui/main.qml:127:9: QML FormLayout (parent or ancestor of QQuickLayoutAttached): Binding loop detected for property "preferredHeight" file:///usr/share/kpackage/kcms/kcm_landingpage/contents/ui/main.qml:57:9: QML FormLayout (parent or ancestor of QQuickLayoutAttached): Binding loop detected for property "preferredHeight" org.kde.kcm_users: "The name org.freedesktop.Accounts was not provided by any .service files" Error loading the module "kcm_users" : invalid KPackage Я написал багрепорт на форум дистрибутива, где мне ответили, что про эта настройка не работает в Porteus....

июля 8, 2022 · 1 мин · Alexander Popov

Лечим ошибку /tmp/xdg-runtime-guest в Porteus

После очередного перезапуска Porteus, у меня вылезла ошибка. Запускал я не чистую систему, а из savefile. INIT: Entering runlevel: 4 chown: changing ownership of `/tmp/xdg/runtime-guest`: Operation not permitted chmod: changing permissions of `/tmp/xdg/runtime-guest`: Operation not permitted Решение Решение достаточно простое rm -rf /tmp/xdg/runtime-guest И для профилактики, всё равно систему засоряет rm -rf /home/guest/* rm -rf /home/guest/.*

июля 8, 2022 · 1 мин · Alexander Popov