Архив автора: admin

Установите комплект для превращения Librem 5 в ноутбук

Лапдок

Лапдок — это док-станция (или «док») в сочетании с чехлом для ноутбука.

Компания Purism, разрабатывающая смартфон Librem 5 и серию ноутбуков, серверов и мини-ПК с Linux и CoreBoot, представила комплект Lapdock.

Lapdock позиционируется как комплект, позволяющий пользователю использовать свой смартфон Librem 5 как полноценный ноутбук.



Читать →

Chrome OS 110 уже выпущена и это ее новости

Ноутбук с ОС Chrome

ChromeOS — это операционная система на базе Linux, разработанная Google.

Несколько дней назад было объявлено о запуске новой версии Chrome OS 110, и в этой новой версии мы можем обнаружить, что переработан механизм автодополнения ввода при поиске в интерфейсе лаунчера (Launcher).

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



Читать →

Джами «Vilagfa» прибывает с улучшениями для групповых разговоров и многим другим

Джами

«Джами» — SIP-совместимая одноранговая раздача и мессенджер на базе SIP.

В выпуск новой версии децентрализованная коммуникационная платформа Jami, распространяемая под кодовым названием «Вилагфа», Он поставляется с бесчисленными исправлениями ошибок и улучшениями существующих функций, но самым большим нововведением в этом выпуске является Swarm для небольших групп.

Тем, кто не знаком с проектом, следует знать, что Jami стремится создать систему связи P2P что позволяет как общаться большими группами, так и совершать индивидуальные звонки с высоким уровнем конфиденциальности и безопасности. Jami, ранее известный как Ring и SFLphone, является частью проектов GNU.



Читать →

SOPS + Age: Шифруем секреты

Это краткая напоминалка для шифрования YAML-файлов с секретами, которые публикуются в Git. Удобно для дальнейшей интеграции с Flux2ArgoCD (через Helm Secrets плагин)




Вместо тысячи слов: Age is a simple, modern and secure file encryption tool, format, and Go library. Рекомендуется пользоваться age вместо GPG – по крайней мере, так рекомендуют сами разработчики sops.




Инструкция ниже была выполнена на Ubuntu 20.04 в WSL2




Getting started




  • Необходимо сформировать приватный и публичный ключи, на основе которых будет производиться шифрование:




# создать каталог, где age по умолчанию будет искать ключи

mkdir -p $HOME/.config/sops/age/

 

# сгенерировать ключи

age-keygen -o $HOME/.config/sops/age/keys.txt

 

# добавить публичный ключ в переменную

PUB_KEY=$(cat $HOME/.config/sops/age/keys.txt | grep "public" | awk '{print $4}')




  • В данном примере будут шифроваться yaml файлы с чувствительными данными. Поэтому для необходимых полей yaml необходимо создать маску. В encrypted_regex добавить необходимые значения полей, а в age – публичный ключ, сформированный на предыдущем шаге в файле $HOME/.config/sops/age/key.txt:




cat > $HOME/.sops.yaml << EOF

creation_rules:

  - encrypted_regex: '^(data|key|password)$'

    age: $(echo $PUB_KEY)

EOF




К файлу .sops.yaml и keys.txt sops будет обращаться при каждом выполнении.




Так как $HOME/.config/sops/age/keys.txt – путь по умолчанию, sops не требуется явно передавать путь к файлу ключей. Но при необходимости его также можно задавать через переменную окружения – export SOPS_AGE_KEY_FILE=$HOME/.config/sops/age/keys.tx




  • Теперь можно создать файл-пример:




cat > $HOME/secret.yaml << EOF

apiVersion: v1

kind: Secret

metadata:

  name: mysecret

type: Opaque

data:

  USER_NAME: bob

  PASSWORD: strongpass

EOF




  • И при наличии всех необходимых данных выполнить шифрование:




sops -e -i secret.yaml




  • На выходе будет файл с тем же именем, но с шифрованным содержимым в поле data:




cat secret.yaml

apiVersion: v1

kind: Secret

metadata:

    name: mysecret

type: Opaque

data:

    USER_NAME: ENC[AES256_GCM,data:BQ6O,iv:XyjcRI5/TzDykCQo6a9FoDotHjJlYNGH+4Yq30F+5k4=,tag:YNyd8LnwMnmHe0TUm5wKhg==,type:str]

    PASSWORD: ENC[AES256_GCM,data:dD3prw2Cs9VOxw==,iv:2adiZTUmXrIHnpwrgAvJvsMafvrG+DDGXhUKD/C9nio=,tag:Xbl9NCuVdFRwED1AuXFtQA==,type:str]

sops:

    kms: []

    gcp_kms: []

    azure_kv: []

    hc_vault: []

    age:

        - recipient: age10teuyr66yq0glkkdp8w8adpvuty7xl4vhp6ergna8k95r68g9p7q5gvt94

          enc: |

            -----BEGIN AGE ENCRYPTED FILE-----

            YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGdVRaTU1OT2g2SkhhK2tm

            ckpCZ0pWanBTYXJBdloybXVvYzNKeUFLM3lnCnUvd2FtbDAzZFlIY2ZHTEwyYmFs

            MWl0VmNldnk0VzBzSUdCZmJzZ0VZaU0KLS0tIFJ6ZzJyZmxKYUE5cjRVdVViVzV6

            ZFVLN3V0N3dUQ1lPSjUxZE0xMXh0SjgKFNwNL2bDPhuTZU7qb46ZPQ+qWm0dcSUf

            mt2xZismI0/g9oZH1K4CzMkrgYHDketCDPFLDZ9lRPha7jZzY9lKNA==

            -----END AGE ENCRYPTED FILE-----

    lastmodified: "2022-12-29T10:46:46Z"

    mac: ENC[AES256_GCM,data:ZEKJyGWWvKlP2/nrxosy7tLbiNx0p6Eu0+wYLz69NHjwa1bzIWAzVNXKQgZy1fWLT/AGlgwqTfx5zg8bg0iv43dHqL+NhIhTrqMLPlmYO/IiCn9PBfSY0UVdUwoz2E9QLCDHFaBvOqK5Q9EVkAApjsTwC39KlofPkwB5f+5FKqY=,iv:6hfqwbsUWHxkEWILMa5SrRnpPM81W2lX4gNntbxvoW0=,tag:lWl47uddfa4N/lQ0J+0fBA==,type:str]

    pgp: []

    encrypted_regex: ^(data|key|password)$

    version: 3.7.3




  • Для расшифровки:




sops -d -i secret.yaml

 

apiVersion: v1

kind: Secret

metadata:

    name: mysecret

type: Opaque

data:

    USER_NAME: bob

    PASSWORD: strongpass




  • При необходимости можно задать расширение (например, enc), указав, что файл зашифрован:




sops -e secret.yaml > secret.yaml.enc




  • И дешифровать




sops -d --input-type yaml --output-type yaml secret.yaml.enc




Важно указать явно input и output формат – yaml. Этого нет в документации, см issue




VSCode extensions




Для удобства работы с шифрованными секретами можно установить плагин для VSC, который позволяет налету производить расшифровку. Плагин не требует настройки, если путь для хранения публичныхприватных ключей в linux лежит по пути $HOME/.config/sops/age/ – можно сразу открывать шифрованные файлы после установки и работать с ними.




Источник: https://it-lux.ru/sops-age/



2023-02-23T02:40:42
DevOps

Linux 6.2 теперь доступен, и это его новости

Такс, талисман ядра Linux

Ядро Linux является основой операционных систем (ОС) Linux и основным интерфейсом между аппаратным обеспечением компьютера и его процессами.

Объявлен Линус Торвальдс в воскресенье общедоступность стабильной версии Linux 6.2 с набором значительных улучшений в оборудовании, производительности и безопасности.

Новый выпуск ядра Linux 6.2 включает поддержку графической карты Intel Arc и, опять же с Intel, поддержку драйвера Intel On-Demand (его функция «покупать по запросу дополнительные функции процессора») на процессорах Xeon четвертого поколения. Linux 6.2 приходит на смену Linux 6.1 в качестве ядра LTS 2022 года, которое будет поддерживаться как минимум до конца 2026 года.



Читать →

Шпарагалка по Mysqldump

Утилита mysqldump позволяет получить дамп содержимого базы данных или совокупности баз для создания резервной копии или пересылки данных на другой SQL-сервер (не обязательно MySQL-сервер). Дамп будет содержать набор команд SQL для создания и/или заполнения таблиц.




Так же mysqldump имеет возможность развертывания баз данных из созданного sql-файла.




Создание дампа




Разберем пример простейшее использования, задампим базу данных “database” при помощи перенаправления потока в файл “database.sql”:




mysqldump -u root -h 82.82.82.82 -p database > database.sql




  • -u или —user=… – имя пользователя



  • -h или —host=… – удаленный хост (для локального хоста можно опустить этот параметр)



  • -p или —password – запросить пароль



  • database – имя базы данных



  • database.sql – файл для дампа




Развертывание дампа




Перенаправляем поток в обратную сторону и развертываем базу данных:




mysql -uroot -h 82.82.82.82 -p database < database.sql




Или через mysql console:




mysql> use database; 
mysql> source database.sql




Пример использование некоторых параметров




Например, нам нужны данные с “продакшен версии базы” для “версии разработчика”, то есть нам нужна “песочница”. Выбираем не более 100 записей:




mysqldump - uroot -h 82.82.82.82 -p --where="true limit 100" database > database.sql




Или нам нужна только структура, без данных:




mysqldump -u root -h 82.82.82.82 -p --no-data database > database.sql




Делаем дамп в архив:




mysqldump -u root -p database | gzip > ~/database.sql.gz




Шпаргалка по параметрам




Приведу некоторые параметры, которые могут понадобится при работе с утилитой mysqldump.




  • —add-drop-database Добавляет оператор DROP DATABASE перед каждым оператором CREATE DATABASE.



  • —add-drop-table Добавляет оператор DROP TABLE перед каждым оператором CREATE TABLE.



  • —add-locks Добавляет оператор LOCK TABLES перед выполнением и UNLOCK TABLE после выполнения каждого дампа таблицы (для ускорения доступа к MySQL).



  • —all-databases, -A Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.



  • —allow-keywords Разрешить создавать имена столбцов, которые совпадают с ключевыми словами. Отсутствие конфликтов обеспечивается прибавлением имени таблицы в качестве префикса к имени каждого столбца.



  • —comments, -i Данный параметр позволяет добавить в дамп дополнительную информацию, такую, как версия mysqldump, версия MySQL, имя хоста, на котором расположен сервер MySQL.



  • —compact Данный параметр требует от mysqldump создать дамп, используя как можно более компактный формат. Параметр является противоположным —comments.



  • —compatible=name Параметр генерирует вывод, который совместим с другими СУБД или более старыми версиями MySQL. Вместо ключевого слова name можно использовать: “ansi”, “mysql323”, “mysql40”, “postgresql”, “oracle”, “mssql”, “db2”, “maxdb”, “no_key_options”, “no_table_options”, “no_field_options”. Можно использовать несколько значений, разделив их запятыми.



  • —complete-insert, -c Используется полная форма оператора INSERT (с именами столбцов).



  • —create-options Добавляет дополнительную информацию в операторы CREATE TABLE. Это может быть тип таблицы, начальное значение AUTO_INCREMENT и другие параметры.



  • —databases, -B Параметр позволяет указать имена нескольких баз данных, для которых необходимо создать дамп.



  • —delayed Использовать команду INSERT DELAYED при вставке строк.



  • —delete-master-logs На главном сервере репликации автоматически удаляются бинарные логи (logbin) после того, как дамп был успешно создан при помощи mysqldump. Этот параметр автоматически включает параметр “—master-data”.



  • —disable-keys, -K Для каждой таблицы, окружает оператор INSERT выражениями /!40000 ALTER TABLE tbl_name DISABLE KEYS /; и /!40000 ALTER TABLE tbl_name ENABLE KEYS /; в выводе результата дампа. Это ускорит загрузку данных на сервер для таблиц типа MyISAM, так как индексы создаются после внесения всех данных.



  • —extended-insert, -e Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).



  • —flush-logs, -F Записать на диск данные системного журнала из буфера MySQL-сервера перед началом выполнения дампа.



  • —force, -f Продолжать даже если в процессе создания дампа произошла ошибка.



  • —hex-blob Параметр позволяет представить бинарные данные в полях типа BINARY, VARBINARY, BLOB и BIT в шестнадцатеричном формате. Так последовательность “abc” будет заменена на 0x616263.



  • —ignore-table=db_name.tbl_name Позволяет игнорировать таблицу tbl_name базы данных db_name при создании дампа. Если из дампа необходимо исключить несколько таблиц, необходимо использовать несколько параметров “—ignore-table”, указывая по одной таблице в каждом из параметров.



  • —insert-ignore Добавляет ключевое слово IGNORE в оператор INSERT.



  • —lock-all-tables, -x Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.



  • —lock-tables, -l Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.



  • **—no-autocommit Включает все операторы INSERT, относящиеся к одной таблице, в одну транзакцию, что приводит к увеличению скорости загрузки данных.



  • —no-create-db, -n Подавляет создание в дампе операторов CREATE DATABASE, которые автоматически добавляются при использовании параметров —databases и —all-databases.



  • —no-data, -d Подавляет создание операторов INSERT в дампе, что может быть полезно при создании дампа структуры базы данных без самих данных.



  • —opt Параметр предназначен для оптимизации скорости резервирования данных и является сокращением, включающим следующие опции: —quick —add-drop-table —add-locks —create-options —disable-keys —extended-insert —lock-tables —set-charset. Начиная с MySQL 4.1, параметр —opt используется по умолчанию, т.е. все вышеперечисленные параметры включаются по умолчанию, даже если они не указываются. Для того чтобы исключить такое поведение, необходимо воспользоваться параметров —skip-opt



  • —order-by-primary Указание параметра приводит к тому. что каждая таблица сортируется по первичному ключу или первому уникальному индексу.



  • —port, -P Номер TCP порта, используемого для подключения к хосту.



  • —protocol={TCP|SOCKET|PIPE|MEMORY} Параметр позволяет задать протокол подключения к серверу.



  • —quick, -q Позволяет начать формирование дампа, не дожидаясь полной загрузки данных с сервера и экономя тем самым память.



  • —quote-names, -Q Помещает имена баз данных, таблиц и столбцов в обратные апострофы `. Начиная с MySQL 4.1, данный параметр включен по умолчанию.



  • —replace Добавляет ключевое слово REPLACE в оператор INSERT. Данный параметр впервые появился в MySQL 5.1.3.



  • —result-file=/path/to/file, -r /path/to/file Параметр направляет дамп в файл file. Этот параметр особенно удобен в Windows, без использования командной строки. когда можно перенаправить результат в файл при помощи последовательностей > и >>.



  • —routines, -R Данный параметр создает дамп хранимых процедур и функций. Доступен с MySQL 5.1.2.



  • —single-transaction Параметр создает дамп в виде одной транзакции.



  • —skip-comments Данный параметр позволяет подавить вывод в дамп дополнительной информации.



  • —socket=/path/to/socket, -S /path/to/socket Файл сокета для подсоединения к localhost.



  • —tab=/path/, -T /path/ При использовании этого параметра в каталоге path для каждой таблицы создаются два отдельных файла: tbl_name.sql, содержащий оператор CREATE TABLE, и tbl_name.txt, который содержит данные таблиц, разделенные символом табуляции. Формат данных может быть переопределен явно с помощью параметров —fields-xxx и —lines-xxx.



  • —tables Перекрывает действия параметра —databases (-B). Все аргументы, следующие за этим параметром, трактуются как имена таблиц.



  • —triggers Создается дамп триггеров. Этот параметр включен по умолчанию. для его отключения следует использовать параметр —skip-triggers.



  • —events, -E Создается дамп событий. Смотрите MySQL Event Scheduler или встроенный диспетчер событий в MySQL.



  • —tz-utc при использовании данного параметра в дамп будет добавлен оператор вида SET TIME_ZONE=‘+00:00’, который позволит обмениваться дампа в различных временных зонах.



  • —verbose, -v Расширенный режим вывода. Вывод более детальной информации о работе программы.



  • —version, -V Вывести информацию о версии программы.



  • —where=‘where-condition’, -w ‘where-condition’ Выполнить дамп только выбранных записей. Обратите внимание, что кавычки обязательны.



  • —xml, -X Представляет дамп базы данных в виде XML.



  • —first-slave, -x Блокирует все таблицы во всех базах данных.



  • —debug=…, –# Отслеживать прохождение программы (для отладки).



  • —help Вывести справочную информацию и выйти из программы.




Источник: http://ajaxblog.ru/mysql/cheatsheet-on-mysqldump/



2023-02-21T16:17:44
Утилиты командной строки