Архив метки: Linux

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

Лапдок

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

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

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



Читать

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

Ноутбук с ОС Chrome

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

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

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



Читать

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

Добавить репозиторий Debian

Debian — это хорошо известная операционная система (ОС) с открытым исходным кодом для компьютеров, использующих Unix-подобное ядро, обычно Linux, в сочетании с другими программными элементами, большинство из которых происходит из проекта GNU. Системы Debian используют разные репозитории для определенных наборов задач.

Репозиторий Debian — это набор пакетов Debian, доступных для скачивания и установки. Эти пакеты организованы по таким категориям, как “main”, “contrib”, и “non-free”, и обычно размещаются на серверах, доступных через Интернет. В этом руководстве обсуждается, как мы можем добавить репозиторий Debian в систему Linux.

Читать

Taskset — привязка процесса к ядрам CPU

По умолчанию процессы используют все ядра процессора, но иногда необходимо освободить 0 ядро, которое обычно больше всего загружено или назначить некоторые процессы только на второй CPU и т.д., в этом случае поможет taskset.




Переключимся на root пользователя:




sudo -i




Просмотр краткой справки по taskset:




taskset -h




Узнаем ID процесса bird или любого другого нужного процесса:




pidof bird




Посмотрим каким ядрам назначен этот процесс:




taskset -pc 744

taskset -p -c 744




Можно указать все в одной команде:




taskset -cp `pidof bird`




Например у меня отобразилось, что на все ядра:




pid 744’s current affinity list: 0-27




Посмотрим сколько ядер имеет процессор и сколько есть процессоров:




lscpu | grep -i numa




Например у меня отобразилось:




NUMA node(s): 2
NUMA node0 CPU(s): 0-13
NUMA node1 CPU(s): 14-27




В моем случае второй процессор загружен на 10% меньше чем первый, поэтому я привязал процесс к ядрам второго процессора:




taskset -pc 14-27 `pidof bird`




Или укажем на все кроме 0:




taskset -pc 1-27 `pidof bird`




В ответ у меня отобразилось:




pid 17092’s current affinity list: 0-27
pid 17092’s new affinity list: 14-27




Проверим:




taskset -pc `pidof bird`




Если с указанным именем запущено несколько процессов, то можно использовать скрипт (на примере процесс ixnfo_com):




(for thread in $(ps -T -C ixnfo_com | awk '{print $2}' | grep -E '[0-9]'); do /usr/bin/taskset -pc $thread; done)




Например у меня отобразилось:




pid 2455's current affinity list: 0-27

pid 2458's current affinity list: 0-27

pid 2459's current affinity list: 0-27

pid 2460's current affinity list: 0-27

pid 2461's current affinity list: 0-27

pid 2463's current affinity list: 0-27




Теперь привяжем все эти процессы к нужным ядрам:




(for thread in $(ps -T -C ixnfo_com | awk '{print $2}' | grep -E '[0-9]'); do /usr/bin/taskset -pc 14-27 $thread; done)




Чтобы изменения не сбросились после перезапуска операционной системы, укажем команду например в файле /etc/rc.local.




Источник: https://ixnfo.com/taskset.html



2023-02-16T01:55:10
Утилиты командной строки