21
октябрь
2022
15:12

Короткие советы

21 октябрь 2022 15:12

Сборник коротких советов.

1) Если после некорректного выключения компьютера Linux не запускается, на чёрном фоне мигает курсор: загрузиться с USB флешки в режиме Live, запустить Терминал и выполнить проверку разделов жесткого диска:

lsblk
sudo fsck /dev/sda5
sudo fsck /dev/sda6

где sda5 и sda6 - разделы "/" и "/home", соответственно.

Новое (03/2024): исправление загрузки с помощью boot-repair.
Нужно загрузиться с LiveCD (после включения ПК нажать F9 - в меню "Please select boot device выбрать привод DVD "UEFI" или обычный - в зависимости от стиля разбивки диска)) и загрузить графический режим. В терминале выполнить команды для установки и запуска утилиты boot-repair. Подключить Интернет и выполнить действия:
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt update
sudo apt install -y boot-repair
sudo boot-repair

Нажать кнопку "Рекомендуемый способ восстановления (Устраняет наиболее часто встречающиеся проблемы".

2) Создание образа жесткого диска с игнорированием ошибок (например, для восстановления фотографий):

sudo dd if=/dev/sdb of=ndd.img conv=noerror,sync

Улучшенный способ спасения данных с сильно поврежденного раздела жесткого диска /dev/sdc1 на другой диск, смонтированный в каталог "/media/user/foto", в файл petrov.img:

sudo ddrescue -f /dev/sdc1 /media/user/foto/petrov.img mapfile

Восстановление фотографий из файла образа диска: сканировать спасенный раздел (результат восстановления в файле petrov.img) глубоким поиском с помощью программы https://recuva.ru/ для Windows.

3) Чтобы убрать надоедливое видео, которое каждый раз запускается на сайте, установите расширение FireFox "Block Site" (https://add0n.com/block-site.html) и добавьте домен, с которого воспроизводится это видео, в список "Existing Rules". Пример такого правила: *://vp.rambler.ru/*.

Также, можно использовать "заглушки" в файле /etc/hosts. Например, сроки:
127.0.0.1 dsp-rambler.ru
127.0.0.1 zoomdecorate.rambler.ru
В браузере FireFox в настройках "Приватность и защита" включаем "Строгую" защиту.

4) Вывести список всех служб менеджера systemd, а также список сервисов, которые запускаются при каждой загрузке (Источник: linuxhandbook.com)

systemctl list-units --type=service
systemctl list-unit-files --type=service --state=enabled

5) Попытаться запустить службу и посмотреть ошибку в журнале:

systemctl start ‹service_name›
systemctl status ‹service_name›
journalctl -xe

6) Выключение ПК Linux из командной строки

sudo shutdown -P now

7) Если из командной строки не работают команды host и nslookup (ошибка "bash: nslookup: команда не найдена"), нужно установить пакет "dnsutils".

sudo apt-get install dnsutils

8) Команда, обратная по действию add-apt-repository:

Как удалить PPA-репозиторий из операционной системы:

sudo apt-get update
sudo apt-get install ppa-purge
sudo ppa-purge ppa:something/ppa

9) Самое быстрое ядро Linux для старых процессоров - 5.10.0-051000-generic
(Версия 6.0 принесла исправление ошибок (bugfixes), но скорость выполнения программ несколько упала. Более старая версия 5.6 тоже медленней, чем 5.10).
Установка ядер 5.10, или 5.11.17 или 5.12.0 одной командой - на GitHub
Взято с GitHub, установка ядра 5.10:
mkdir -p /tmp/ && cd /tmp/ && \
wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.10/amd64/linux-headers-5.10.0-051000_5.10.0-051000.202012132330_all.deb && \
wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.10/amd64/linux-headers-5.10.0-051000-generic_5.10.0-051000.202012132330_amd64.deb && \
wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.10/amd64/linux-image-unsigned-5.10.0-051000-generic_5.10.0-051000.202012132330_amd64.deb && \
wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.10/amd64/linux-modules-5.10.0-051000-generic_5.10.0-051000.202012132330_amd64.deb && \
sudo dpkg -i *.deb

Примечание: В Ubuntu 22.04 (и Linux Mint 21 "Vanessa") пакет linux-headers-5.10.0-051000-generic установится с ошибкой т.к. пакет окажется сломанным, из-за неудовлетворенной зависимости от библиотеки libssl1.1. Решил проблему следующим образом: после выбора в меню дополнительного варианта загрузки 5.10, загрузки с ядром 5.10:

  • починил пакеты командой sudo apt-get install -f (при этом неисправный пакет linux-headers-5.10 был удалён)
  • скачал libssl1.1.deb для своей архитектуры (AMD64)
  • установил двойным щелчком мыши libssl1.1_1.1.1n-0+deb10u3_amd64.deb
  • скачал linux-headers-5.10.0-051000-generic...amd64.deb
  • установил двойным щелчком мыши linux-headers-5.10.0-051000-generic
  • перезагрузил ПК, загрузился в то же ядро 5.10. Теперь sudo apt-get install -f не даёт ошибок, а linux-headers-5.10.0-051000-generic установлен.

10) Если в журнале dmesg видна ошибка r8169 0000:03:00.0: Unable to load firmware rtl_nic/rtl8168g-2.fw (-22), решение проблемы: sudo apt-get update && sudo apt-get reinstall firmware-realtek

11) Пересобрать intiramfs в текущем ядре или освежить initramfs всех ядер в системе. (Регенерация начальной файловой системы в оперативной памяти (RAMdisk) -файлов initramfs с именами initrd.img-* ):
sudo update-initramfs -c -k $(uname -r)
sudo update-initramfs -c -k all

12) Если обновление sudo apt-get update зависло на этапе настройки параметров пакетов, процесс можно прервать Ctrl+C и продолжить выполнение обновления командой:

sudo dpkg --configure -a

"Битые" же пакеты исправляются командой

sudo apt-get install -f

13) Массовое переименование файлов по маске из командной строки Linux:

 sudo apt-get install mmv

 mmv '*.png' 'img#1.png'

Результат: файл 1.png будет переименован в img1.png, 2.png в img2.png и т.д..
(Источник)

14) Включить более агрессивную выгрузку из оперативной памяти в SWAP, чтобы освободить ОЗУ.
Считаю, параметр swapiness следует увеличить с 60 до 100 при включенном сжатии ОЗУ при помощи ZSwap.

Просмотреть параметр swapiness:

cat /proc/sys/vm/swappiness 

Установить новое значение (от 0 до 100):

sudoedit /etc/sysctl.conf

На устаревших ПК с малым объёмом ОЗУ, но быстрым диском SSD добавьте в конец файла "/etc/sysctl.conf" строку
vm.swappiness = 100
а на мощных ПК с ОЗУ от 16 Гбайт и выше - можно уменьшить использование файла подкачки до нуля.
vm.swappiness = 0
и перезагрузите ОС. Проверка: free -m
Значение swapiness по умолчанию - 60.

Примечание. Параметр swappiness = 0 или 1 рекомендуется для серверов баз данных, с большим объёмом ОЗУ

Следующие команды, отключающие команды включения и отключения SWAP, перемещают страницы памяти из файла подкачки обратно в ОЗУ (для мощных рабочих станций и серверов):

sudo swapoff --all
sudo swapon --all

15) Вывести статистику использования жесткого диска: размер каталогов первого уровня.

sudo du --max-depth=1 -h /

или

sudo tree -hF /

Подсчитать размер домашней папки:

sudo tree -hf /home

16) Проверка воспроизведения звука через Интернет

mpv https://hls-01-radiorecord.hostingradio.ru/record-eurodance/112/playlist.m3u8

17) Спасти раздел /dev/sdc3 неисправного HDD диска (с бэд-блоками) в файл file.img на внешний USB диск,
смонтированный в папку /media ...

while true; do sudo ddrescue -r 0 -a 10 /dev/sdc3 /media/vladimir/NTFS/file.img log.logfile; done

18) (Windows) Борьба с утечкой памяти WMI, процессом wmiapsrv,exe: добавить задание в Планировщик с запуском от имени Администратора с наивысшими правами, ежедневно, команды:

taskkill /im wmiapsrv,exe /f

19) Чтобы сократить время загрузки Linux, можно отключить поиск и сканирование файловых систем BTRFS, для чего нужно удилить пакет btrfs-progs:

sudo apt remove btrfs-progs

20) При запуске браузера Chrome выводится окно «Разблокирование связки ключей для входа в систему

Требуется аутентификация

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

Пароль: |

Отменить Разблокировать»

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

rm ~/.local/share/keyrings/login.keyring

При следующем запуске Chrome, система запросит пароль для новой связки ключей. Не вводить — нажать «Продолжить» - Хранить пароли незашифрованными? - «Продолжить».

21) Узнать модель материнской платы из командной строки:

sudo dmidecode -t 2

22) Повысить качество звука в Linux максимально, для прослушивания музыки в хороших наушниках (Hi-Fi):

sudo nano /etc/pulse/daemon.conf


resample-method = soxr-vhq

resample-method = speex-float-10

default-sample-format = float32le
default-sample-rate = 44100
alternate-sample-rate = 48000

Местный файл ~/.pulse/daemon.conf нужно удалить, если он есть. Перезапуск службы pulseaudio:

pulseaudio -k && pulseaudio --start    

Последнее, самое незначительное улучшение - в конфигурационном файле alsa:

sudo nano /usr/share/alsa/alsa.conf

defaults.pcm.dmix.rate 44100

Идея состоит в том, чтобы избегать передискретизации (программного изменения частоты дискретизации), как при воспроизведении, так и при микшировании источников. Проверка параметров звука в реальном времени:

cat /proc/asound/card0/pcm0p/sub0/hw_params

Должно быть: rate: 44100 (44100/1).

23) Поиск в папке "/var" изменных файлов за сегодня

find /var -type f -mtime -1

То же самое, но с подавленем ошибок "Отказано в доступе":

find /var 2>/dev/null -type f -mtime -1

То же семое, исключая папки /var/log и /var/spool

find /var 2>/dev/null -type f -mtime -1 | grep -vP "/var/log|/var/spool"

24) Поиск установленных в ОС пакетов по маске (например, содержащие слово golang)

 apt list --installed | grep golang

25) Проверка "флешки" с файловой системой FAT32:

sudo dosfsck -w -a -v /dev/sdX

где sdX - имя диска, заменить на /dev/sdd и т.д. (выводятся командой lsblk)
-w записывать изменения немедленно,
-a - применять "лечение" автоматически ,
-v - выводить дополнительную информацию.

26) Проверка "флешки"с файловой системой NTFS

sudo apt-get install ntfs-3g

sudo ntfsck /dev/sdX

где sdX - имя диска, заменить на /dev/sdd и т.д. (выводятся командой lsblk)

27) Замечание по редактированию ~/.xinitrc:

Имя рабочего стола выводится при помощи команды
echo $XDG_CURRENT_DESKTOP

если LXQt - то в .xinitrc вызов exec startlxqt
если LXDE - то в .xinitrc вызов exec startlxde
если xfce4 - то в .xinitrc вызов exec startxfwm4
и т.д.

28) В ОС подобных Ubuntu, запуск программ в начале сессии происходит с помощью папки ~/.config/autorun с файлами *. desktop. Файлы для аатозапуска можно скопировать из папки /usr/share/applications/.

Например:
cp /usr/share/applications/firefox.desktop ~/.config/autorun/

  • для запуска Mozilla Firefox в начале сессии пользователя.

29) Подключение файла IMG образа диска, монтироване, исправление файловой системы DOS

dd if=/dev/sdd of=disk.img conv=sync,noerror
sudo losetup /dev/loop10 disk.img
sudo mkdir /mnt/myimg
sudo mount /dev/loop10 /mnt/myimg
sudo dosfsck /mnt/myimg

Другой способ (работает не со всеми файловыми системами):
Вначале отключаем старое подключение
sudo umount /mnt/myimg
sudo losetup -d /dev/loop10
Узнать смещение xxxx от начала диска
fdisk -lu disk.img
sudo mount -o loop,offset=xxxx ~/img.img /mnt/myimg

sudo apt-get autoclean
sudo apt-get -f install
sudo apt-get update
sudo apt-get dist-upgrade
sudo dpkg --configure -a

30) Ремонт пакетов

sudo apt-get autoclean
sudo apt-get -f install
sudo apt --fix-broken install
sudo apt-get update
sudo apt-get dist-upgrade
sudo dpkg --configure -a

31) Разборка и сборка пакета DEB, при помощи утилиты dpkg-deb, с целью исправления версии в зависимостях
(Данный способ не рекомендуется к частому применению: лучше установить более новую версию программы, тогда она не будет требовать зависимости от старых библиотек).

mkdir tmp
cd tmp__
wget http://....имя_пакета.deb
dpkg-deb -e имя_пакета.deb 
nano ./DEBIAN/control  # здесь исправил номер версии в зависимостях
dpkg-deb -b . имя_пакета.deb
dpkg -i имя_пакета.deb


Похожие публикации