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

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
Утилиты командной строки

Что происходит с удаленными файлами?

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

Что происходит, когда вы удаляете файл?

Когда вы удаляете файл с устройства хранения, например жесткого диска, твердотельного накопителя, USB-накопителя или SD-карты, вы можете подумать, что он исчез навсегда. Однако, даже если вы удалите его из корзины, правда в том, что файл физически не стирается с диска.

При удалении файлов их содержимое не стирается сразу

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

Вам интересно, как операционная система это делает? Ответ прост: чтобы узнать, где находятся файлы на ваших дисках, в Windows и других операционных системах, назначьте им указатели. Когда вы удаляете файл, Windows помечает его как свободное место, удаляя только его указатель и ничего больше. Содержимое файла все еще там, физически.

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

Как вы восстанавливаете файлы, удаленные с ваших дисков?

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

Удаленные файлы иногда можно восстановить с помощью специализированных приложений.

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

Восстановление потерянных файлов не всегда возможно! Если Windows перезаписывает пространство, занимаемое удаленным файлом, исходный файл больше нельзя будет восстановить. Это потому, что содержимого исходного файла больше нет. Новая информация сохранялась поверх ее содержимого, поэтому старая информация уничтожалась.

Удаленный и перезаписанный файл больше не может быть восстановлен

Удаленный и перезаписанный файл больше не может быть восстановлен

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

На что следует обратить внимание при попытке восстановить удаленные файлы

Есть две вещи, которые вы всегда должны помнить, когда вы удалили файлы и пытаетесь их восстановить:

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

Когда вы удаляете файлы по ошибке и продолжаете использовать жесткий диск или раздел, на котором они были обнаружены, существует значительная вероятность того, что они будут перезаписаны новыми файлами и станут невосстановимыми. Даже если вы не копируете и не создаете новые файлы на этом диске или разделе, операционная система может создать временные файлы или файл подкачки, используя свободное пространство, которое когда-то было файлом, который вы удалили. Так что нельзя терять время, и вы должны попытаться восстановить удаленные файлы как можно быстрее.

При попытке восстановить удаленные файлы восстанавливайте их на другой диск

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

У вас есть другие вопросы об удаленных файлах?

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



2023-02-21T10:58:10
Вопросы читателей