Заметки на полях — различия между версиями
Noname (обсуждение | вклад) (Новая страница: «== btrfs - файловая система == === Создание резервной копии снимка btrfs === Создаем read-only снимок -…») |
Noname (обсуждение | вклад) (Добавлены новые заметки) |
||
Строка 1: | Строка 1: | ||
− | == btrfs | + | = 1 = |
+ | |||
+ | == btrfs == | ||
=== Создание резервной копии снимка btrfs === | === Создание резервной копии снимка btrfs === | ||
Строка 16: | Строка 18: | ||
[https://help.ubuntu.ru/wiki/btrfs#снимки ubuntu-wiki: btrfs#снимки] | [https://help.ubuntu.ru/wiki/btrfs#снимки ubuntu-wiki: btrfs#снимки] | ||
+ | === Дефрагментация === | ||
− | == chattr - изменение атрибутов | + | # 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 | ||
# chattr -i /path/to/file | # chattr -i /path/to/file | ||
Строка 23: | Строка 56: | ||
− | == exiftool | + | == exiftool == |
Удалить метаданные фото | Удалить метаданные фото | ||
$ exiftool -all= * | $ exiftool -all= * | ||
− | |||
+ | В росе нужно установить пакет perl-Image-ExifTool | ||
− | == | + | |
+ | == ext4 == | ||
+ | Дефрагментация | ||
+ | |||
+ | $ sudo e4defrag -c / # анализ корневого раздела | ||
+ | $ sudo e4defrag / # дефрагментация корневого раздела | ||
+ | |||
+ | Уменьшить размер зарезервированного места | ||
+ | |||
+ | $ sudo tune2fs -m 0.1 /dev/sda1 | ||
+ | |||
+ | |||
+ | == find == | ||
найти исполняемые файлы с шаблоном *.zip | найти исполняемые файлы с шаблоном *.zip | ||
Строка 90: | Строка 135: | ||
$ rsync -avn --delete --exclude-from=<(find . -type d -printf "%P\n") . ../output_dir/ | $ rsync -avn --delete --exclude-from=<(find . -type d -printf "%P\n") . ../output_dir/ | ||
+ | |||
+ | |||
+ | == minidlna == | ||
+ | 1. Сначала необходимо установить пакет minidlna.<br /> | ||
+ | 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 с сайта [https://www.virtualbox.org/] | ||
+ | |||
+ | Для работы с общими папками необходимо внести пользователя гостевой системы в группу 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+.''' -- вставить последний аргумент из предыдущей команды |
Версия 19:03, 25 октября 2022
Содержание
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
Дефрагментация
# 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+. -- вставить последний аргумент из предыдущей команды