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. Файлы для автоматического запуска (autorun) можно скопировать из общей папки /usr/share/applications/ в профиль пользователя: ~/.config/autorun/.

Например:
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

32) Если после замены "железа" (материнской платы и процессора) не запускается Linux (на черном экране мигает курсор), нужно в меню Grub выбрать режим восстановления, войти как root и удалить файл xorg.conf, т.к. он мешает обнаружению видеокарты. В большинстве дистрибутивов, например, в популярном Linux Mint, данной файл xorg.conf не нужен. (Генерация его происходит командой Xorg -configure - вручную, не требуется)

rm /etc/X11/xorg.conf

33) Чтобы вывести прямые зависимости пакета (от каких установленных пакетов зависит данный пакет):

apt-cache depends --installed snap
  • snap зависит от libc6

34) Чтобы вывести обратные зависимости пакета (какие установленные пакеты зависят от данного пакета):

apt-cache rdepends --installed snap
  • от snap зависят множество пакетов, таких как snapd-xdg-open, gnome-software-plugin-snap, ...

35) Вывести на экран UUID разделов дисковых накопителей (в Windows и Linux):

Windows, вывести UUID томов жестких дисков:

wmic volume get Driveletter, DeviceID

Linux, вывести UUID томов жестких дисков:

ls -l /dev/disk/by-uuid/

36) Если выводится сообщение об ошибке "Unable to determine SOCKS version from socks" при запуске "pip3 install"

Нужно очистить переменную окружения "all_proxy".

export all_proxy=""

37) Где находится автозагрузка в Linux LITE?

cd ~/.config/autostart
ls

В каталоге лежат файлы .desktop. Пример файла psensor.desktop для запуска мониторинга температуры процессора psensor.

[Desktop Entry]                                                                                                                                              
Type=Application                                                                                                                                             
Version=1.0                                                                                                                                                  
Name=Psensor
GenericName=Psensor
Comment=Psensor is a graphical temperature monitor for Linux
Keywords=temperature;fan;monitoring;indicator;
Icon=psensor
TryExec=psensor
Exec=psensor
Categories=System;Monitor;
X-GNOME-Autostart-Delay=30
StartupNotify=true

38) Как остановить и отключить службу и значок AnyDesk?

После установки AnyDesk, нет возможности не запускать сервис при помощи AutoStart.
Появление значка на системной панели происходит при запуске anydesk.service.

systemctl stop anydesk.service
systemctl disable anydesk.service
systemctl status anydesk.service

Настройки AnyDesk находятся в папке ~/.anydesk, в файле cat system.conf.

39) Гостевая сеть в маршрутизаторе Keenetic иногда не может получить доступ к Интернет. Клиент не может получить IP адрес от сервера DHCP. IP адреса клиента гостевой сети не может быть получен. Решение:

Нужно подключиться по Telnet к роутеру и выполнить две команды (сначала одну, затем вторую):

interface Bridge1 up
system configuration save

Последнее изменение: 25.08.2025



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