Заметки на полях

Материал из Rosalab Wiki
Версия от 19:03, 25 октября 2022; Noname (обсуждение | вклад) (Добавлены новые заметки)

Перейти к: навигация, поиск

1

btrfs

Создание резервной копии снимка btrfs

Создаем read-only снимок - send требует, чтобы отправляемый снимок был read-only

   # btrfs subvolume snapshot -r /mnt/@ /mnt/ss/@-ss-date-main
   # sync
   # btrfs send /mnt/ss/@-ss-date-main | zstd -16 -T0 -vv -o /files/.backups/root-distr-date-main.btrfs.zst

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

   # zstd -d /files/.backups/root-distr-date-main.btrfs.zst | btrfs receive /path
   # sync

ubuntu-wiki: btrfs#снимки

Дефрагментация

   # btrfs fi defrag -r /mnt

Перебалансировка системы

   # btrfs balance start /mnt

uuencode/uudecode, xxd

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

   uuencode -m input-file set-file-name >output-file
   xxd -p input-file >output-file

Преобразовать текст в двоичный файл

   uudecode -o output-file input-file
   xxd -p -r input-file >output-file

чтобы преобразовать stdin нужно использовать параметр xxd с параметром -ps


cdemu

удалить виртуальное cd/dvd-rom устройство

   $ cdemu remove-device

добавить виртуальное cd/dvd-rom устройство

   $ cdemu add-device


chattr - изменение атрибутов файлов

   # chattr +i /path/to/file
   # chattr -i /path/to/file

атрибут +i запрещает любое изменение, переименование и удаление файла/каталога, -i - разрешает.


exiftool

Удалить метаданные фото

   $ exiftool -all= *
   В росе нужно установить пакет perl-Image-ExifTool


ext4

Дефрагментация

   $ sudo e4defrag -c /    # анализ корневого раздела
   $ sudo e4defrag /       # дефрагментация корневого раздела

Уменьшить размер зарезервированного места

   $ sudo tune2fs -m 0.1 /dev/sda1


find

найти исполняемые файлы с шаблоном *.zip

   $ find /path -type f -perm /a=x -name '*.zip'

найти исполняемые файлы и напечатать

   $ find /path -type f -perm /a=x

найти исполняемые файлы и сделать неисполняемыми

   $ find /path -type f -perm /a=x -exec chmod -x '{}' \;

найти все файлы и напечатать

   $ find /path -type f -print

найти все файлы и вывести их кол-во

   $ find /path -type f -print | wc -l

найти файлы по шаблону и показать их суммарный размер

   $ find /path -type f -name "Dana*" -print0 | xargs -0 du -ch | tail -n 1 | awk '{print $1}'

найти все файлы, подсчитать хеш-сумму и записать результат в файл

   $ find /path -type f -print0 | xargs --null md5sum > /tmp/listsums

найти файлы по шаблону и удалить их

   $ find /path -type f -name "*.directory" -exec rm {} \;

найти все файлы в текущем каталоге и получить все доступные ссылки из расширенных аттрибутов (необходимо установить пакет attr)

   $ find . -maxdepth 1 -type f -print0 | xargs -0 getfattr -d | grep -e 'origin.url' | awk -F "\"" '{print $2}'

не учитывать регистр при поиске

   $ find /path -type f -iname '*name-file*' 

рекурсивный расчет контрольных сумм файлов каталога

   $ find /path -type f -print0 | xargs --null md5sum

исключить из поиска определенную директорию

   $ find . -type f -not -path './dir/*' -iname name

найти все файлы и каталоги принадлежащие указанному uid и изменить uid и gid

   # find /path -uid 500 -print0 | xargs -0 sudo chown -h 1000:1000
   # find /path -uid 500 -exec sudo chown -h 1000:1000 '{}' \;

find и rsync

   $ find . -type d -printf "%P\n" | rsync -avn --delete --exclude-from=- . ../output_dir/

т.к. параметр **--delete** не работает с **--no-recursive** исключать директории нужно с помощью программы **find** и параметра **--exclude-from**

   $ rsync -avn --delete --exclude-from=<(find . -type d -printf "%P\n") . ../output_dir/


minidlna

1. Сначала необходимо установить пакет minidlna.
2. Потом нужно добавить в файл **/etc/minidlna.conf** под **#media_dir=/opt**:

      media_dir=A,/home/username/Музыка
      media_dir=V,/home/username/Видео
      media_dir=P,/home/username/Изображения

3. А после выполнить команду

      $ sudo systemctl start minidlna.service


virtualbox

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

   $ sudo usermod -a -G vboxusers $USER

Для включения режима USB 2.0 и USB 3.0 необходимо установить VirtualBox Extension Pack с сайта [1]

Для работы с общими папками необходимо внести пользователя гостевой системы в группу vboxsf

   $ sudo usermod -a -G vboxsf $USER


qemu

Установка

   $ sudo dnf install qemu qemu-kvm

Проверить загрузочную флешку в qemu

   $ sudo qemu-system-x86_64 -enable-kvm -m 1024 -usb /dev/sdb

virt-manager

Virt-Manager не может подключиться к QEMU/KVM

   Не удалось подключить сокет к «/var/run/libvirt/virtqemud-sock»: Нет такого файла или каталога  

Чтобы решить эту проблему нужно запустить libvirtd:

   $ sudo systemctl start libvirtd


yakuake

Добавить действия в дельфине

Чтобы в дельфине в контекстное меню добавить действия "Запустить в Yakuake" и "Открыть Yakuake в этой папке" надо сделать следующее:

   $ git clone https://github.com/aplatanado/yakuake-session.git
   $ sudo cp yakuake-session /usr/bin
   $ cp ServiceMenus/yakuakehere.desktop ServiceMenus/yakuakerun.desktop ~/.local/share/kservices5/ServiceMenus/

Удалить из yakuake кнопку закрытия программы

Нужно закомментировать в файле title.skin выбранной темы блок QuitButton. В ConfigButton значению x присвоить 30, а в FocusButton - 53. Скины yakuake в Росе находятся в каталоге /usr/share/yakuake/skins

Запуск программ в Yakuake при старте KDE

   $ qdbus org.kde.yakuake /yakuake/sessions runCommand rtorrent # запуск команды rtorrent в текущей сессии
   $ qdbus org.kde.yakuake /yakuake/sessions addSession # добавление новой сессии
   $ qdbus org.kde.yakuake /yakuake/sessions runCommand htop # запуск команды htop в добавленной сессии


zsh

Установка

   $ sudo dnf install zsh

Установка oh-my-zsh

   $ sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

Чтобы сделать zsh шеллом по умолчанию нужно выполнить:

   $ sudo usermod -s /bin/zsh $USER (Роса)
   $ sudo usermod -s /usr/bin/zsh $USER (ubuntu)


2

Комбинации клавиш в терминале

  • ctrl+l -- очистить экран (bash, zsh)
  • ctrl+a -- перейти в начало строки (bash, zsh)
  • ctrl+e -- перейти в конец строки (bash, zsh)
  • ctrl+u -- вырезать все слева от курсора (bash, zsh удаляет всю строку)
  • ctrl+k -- вырезать все справа от курсора ((bash, zsh))
  • ctrl+w -- вырезать слово слева от курсора (bash, zsh)
  • ctrl+y -- вставить вырезанный текст
  • ctrl+d -- если строка пуста - завершить текущий сеанс в терминале, иначе - удалить символ справа от курсора (bash, zsh)
  • ctrl+r -- поиск по ранее запущенным командам (bash, zsh)
  • ctrl+shift+- -- отменить последнее действие (bash, zsh)
  • ctrl+x+e -- открыть текстовый редактор для изменения введенной строки
  • alt+u -- перевести текст после курсора в верхний регистр (bash, zsh)
  • alt+d -- удалить слово после курсора
  • alt+backspace -- удалить слово перед курсором
  • alt+. -- вставить последний аргумент из предыдущей команды