Debian и Ubuntu, напильник, рецепты, часть 1

Sep 07, 2016 16:32






Debian и Ubuntu, напильник, рецепты, часть 2

ознакомиться
Руководство по установке Debian GNU/Linux
https://debian-handbook.info/browse/ru-RU/stable/
Дистрибутив

образы OS
https://www.debian.org/devel/debian-installer/
http://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/
mini.iso netinstall amd64
debian mini netinstall i386
https://files.devuan.org/

http://cdimage.ubuntu.com/releases/
http://cdimage.ubuntu.com/netboot/
http://archive.ubuntu.com/ubuntu/dists/focal/main/installer-amd64/current/legacy-images/netboot/

https://snapshot.debian.org/

Установка
Руководство по установке Debian GNU/Linux
Установка ubuntu 20.04 с корнем на шифрованном ZFS зеркале и UEFI загрузкой
Загрузка и Запуск Программы Установки
https://wiki.debian.org/ru/Debootstrap
Установка Debian GNU/Linux из системы Unix/Linux
Подготовка файлов для загрузки с карты памяти USB
Как установить Debian Linux на USB-накопитель с зашифрованным корневым разделом (с использованием UUID, Initramfs-tools и Dm-Crypt)
Установка и настройка инструментов, позволяющих использовать Debian систему в качестве источника PXE загрузки ОС (Linux, Windows и прочее.)
PXEBootInstall Installing Debian using network booting
Загрузка по TFTP
как собрать настраиваемый initramfs
Установка Ubuntu Linux с винчестера. Скрипт
Ставим Ubuntu/Debian через debootstrap из другой Linux-системы
Загрузочный сервер - как загрузочная флешка, только сервер и по сети
PXE Boot за 15 минут
Мультизагрузочный PXE-реаниматор
Настройка сетевой загрузки (PXE) на CentOS7 для загрузки живой системы или загрузочного образа.
Загрузка iso образа настроенной под себя Ubuntu по сети.
PXE Boot. Бездисковые устройства. Загружаемся по сети.
https://wiki.archlinux.org/index.php/PXE_(Русский)
Установка Debian удалённо: PXE + SSH
Установка Debian 9 (Stretch) через PXE сервер сетевой загрузки
Минимальный Debian

http://help.ubuntu.ru/wiki/uefiboot
efibootmgr --help
проверка используем BIOS или UEFI.
test -d /sys/firmware/efi && echo UEFI || echo BIOS

efibootmgr # получили список всех возможных загрузчиков для efi
efibootmgr -B -b XXXX # удалили ненужную запись
efibootmgr -c -L "..." -l "..." # добавили новую
efibootmgr --bootorder XXXX,YYYY,ZZZZ # изменили порядок загрузки
efibootmgr -o 0003,0001,0004,0000
rm -rf /sys/firmware/efi/efivars/* # выстрелить себе в ногу и биться головой об стол

Инструкция по установке с EFI

Активация discard (TRIM) на Linux для SSD

протестировать следующий выпуск
http://cdimage.debian.org/cdimage/weekly-builds/
посмотреть ошибки в нём
https://www.debian.org/releases/stretch/

записать на флешку, софт для записи, ошибки при установке

отключить вывод логов в консоли
sudo dmesg -n 1

клава
https://wiki.debian.org/ru/Keyboard

dpkg-reconfigure keyboard-configuration
service keyboard-setup restart
apt install configure-debian

vi /etc/default/keyboard

XKBMODEL="pc105"
XKBLAYOUT="us,ru"
XKBVARIANT=","
XKBOPTIONS="grp:alt_shift_toggle,grp_led:scroll"

BACKSPACE="guess"

grub2
восстановление Grub
загрузится с https://gparted.org/download.php
sudo fdisk -l
sudo mount /dev/sdb1 /mnt/
sudo mount --bind /dev /mnt/dev
sudo mount --bind /sys /mnt/sys
sudo mount --bind /proc /mnt/proc
chroot /mnt /bin/bash
source /etc/profile
sudo grub-install /dev/sd* # имя вашего жесткого диска
sudo grub2-mkconfig -o /boot/grub/grub.cfg
sudo grub-update

если lvm
lvscan
vgchange -ay

убрать заставку grub2
nano /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
изменить на
GRUB_CMDLINE_LINUX_DEFAULT=""
update-grub

в grub отключить Plymouth с помощью следующих параметров ядра:
plymouth.enable=0 disablehooks=plymouth

добавить загрузку с iso в grub2
multiboot usb-drive. своими руками
Загрузка Live.ISO из Grub2
Boot iso images from hdd (Grub2)
Multiboot USB Stick GRUB Stanzas
https://sysadministrivia.com/news/howto-grubrescue
https://wiki.archlinux.org/title/Multiboot_USB_drive

сделать симлинк папки iso в /boot/iso
sudo apt install grub-imageboot
sudo nano /etc/grub.d/40_custom

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.

menuentry "SystemRescueCd amd64" {
set isofile="/iso/systemrescue-10.00-amd64.iso"
search --no-floppy --file --set=root ${isofile}
probe -u $root --set=imgdevuuid
set imgdevpath="/dev/disk/by-uuid/$imgdevuuid"
loopback loop (hd0,2)$isofile
#loopback loop $isofile
linux (loop)/sysresccd/boot/x86_64/vmlinuz archisobasedir=sysresccd img_dev=$img
initrd (loop)/sysresccd/boot/intel_ucode.img (loop)/sysresccd/boot/amd_ucode.img
}

menuentry "GParted Live amd64" {
set isofile="/iso/gparted-live-1.2.0-1-amd64.iso"
loopback loop (hd0,2)$isofile
loopback loop $isofile
linux (loop)/live/vmlinuz boot=live union=overlay username=user config components quiet noswap ip= net.ifnames=0 nosplash findiso=${isofile}
initrd (loop)/live/initrd.img
}

menuentry "clonezilla-live-2.7.1-22-amd64.iso" {
set gfxpayload="keep"
set isofile="/iso/clonezilla-live-2.7.1-22-amd64.iso"
loopback loop (hd0,2)$isofile
loopback loop $isofile
linux (loop)/live/vmlinuz boot=live components config ip=frommedia toram=filesystem.squashfs union=overlay username=user locales=ru_RU.UTF-8 findiso=$isofile
initrd (loop)/live/initrd.img
}

menuentry "Kali Live system" {
set isofile="/iso/kali-linux-2021.1-live-amd64.iso"
loopback loop (hd0,2)$isofile
set gfxpayload="keep"
#linux (loop)/live/vmlinuz-5.10.0-kali3-amd64 boot=live components quiet nosplash noeject findiso=${isofile}
#initrd (loop)/live/initrd.img-5.10.0-kali3-amd64
linux (loop)/live/vmlinuz boot=live components quiet nosplash noeject findiso=${isofile}
initrd (loop)/live/initrd.img
}

menuentry "BlackArch Linux Live ISO" {
set imgdevpath='/dev/sda2'
set isofile="/iso/blackarch-linux-slim-2021.03.01-x86_64.iso"
loopback loop (hd0,2)$isofile
set gfxpayload="keep"
linux (loop)/blackarch/boot/x86_64/vmlinuz-linux img_dev=$imgdevpath img_loop=$isofile archisobasedir=blackarch archisolabel=BLACKARCH_202012
initrd (loop)/blackarch/boot/intel-ucode.img (loop)/blackarch/boot/amd-ucode.img (loop)/blackarch/boot/x86_64/initramfs-linux.img
}

menuentry "Fedora Live Xfce" {
set isofile="/iso/Fedora-Xfce-Live-x86_64-33-1.2.iso"
loopback loop (hd0,2)$isofile
loopback loop $isofile
linux (loop)/images/pxeboot/vmlinuz root=live:CDLABEL=Fedora-Xfce-Live-33-1-2 rd.live.image quiet iso-scan/filename=${isofile}
initrd (loop)/images/pxeboot/initrd.img
}

menuentry "Calculate Linux Desktop 20.6 Cinnamon LiveDVD" {
set isofile="/iso/cldc-20.6-x86_64.iso"
loopback loop (hd0,2)$isofile
linux (loop)/boot/vmlinuz root=live:LABEL=CLDC-20200619 init=/linuxrc rd.live.squashimg=livecd.squashfs nodevfs quiet \
noresume nosplash ${bootparams} ${noefi_opt} ${no_gfxmode} iso-scan/filename=${isofile}
initrd (loop)/boot/initrd
}

menuentry "Calculate Linux Desktop 20.6 Xfce LiveDVD" {
set isofile="/iso/cldx-20.6-x86_64.iso"
loopback loop (hd0,2)$isofile
linux (loop)/boot/vmlinuz root=live:LABEL=CLDX-20200619 init=/linuxrc rd.live.squashimg=livecd.squashfs nodevfs quiet \
noresume nosplash ${bootparams} ${noefi_opt} ${no_gfxmode} iso-scan/filename=${isofile}
initrd (loop)/boot/initrd
}

menuentry "Calculate Linux Desktop 20.6 KDE LiveDVD" {
set isofile="/iso/cld-20.6-x86_64.iso"
loopback loop (hd0,2)$isofile
linux (loop)/boot/vmlinuz root=live:LABEL=CLD-20200619 init=/linuxrc rd.live.squashimg=livecd.squashfs nodevfs quiet \
noresume nosplash ${bootparams} ${noefi_opt} ${no_gfxmode} iso-scan/filename=${isofile}
initrd (loop)/boot/initrd
}

menuentry "Void Linux 5.10.17_1 (x86_64) Xfce" {
set gfxpayload="keep"
set isofile="/iso/void-live-x86_64-20210218-xfce.iso"
loopback loop (hd0,2)$isofile
linux (loop)/boot/vmlinuz root=live:CDLABEL=VOID_LIVE ro init=/sbin/init rd.luks=0 rd.md=0 rd.dm=0 loglevel=4 gpt add_efi_memmap \
vconsole.unicode=1 vconsole.keymap=us locale.LANG=ru_RU.UTF-8 rd.live.overlay.overlayfs=1 iso-scan/filename=${isofile}
initrd (loop)/boot/initrd
}

menuentry "Void Linux 5.10.17_1 (x86_64) LXDE" {
set isofile="/iso/void-live-x86_64-20210218-lxde.iso"
loopback loop (hd0,2)$isofile
set gfxpayload="keep"
linux (loop)/boot/vmlinuz root=live:CDLABEL=VOID_LIVE ro init=/sbin/init rd.luks=0 rd.md=0 rd.dm=0 loglevel=4 gpt add_efi_memmap \
vconsole.unicode=1 vconsole.keymap=us locale.LANG=ru_RU.UTF-8 rd.live.overlay.overlayfs=1 iso-scan/filename=${isofile}
initrd (loop)/boot/initrd
}

menuentry 'Q4OS Live' {
set imgdevpath='/dev/sda2'
set isofile="/iso/q4os-3.14-x64-tde.r4.iso"
loopback loop (hd0,2)$isofile
set gfxpayload="keep"
set loopback="findiso=${iso_path}"
set background_color=black
# background_image
linux (loop)/live/vmlinuz boot=live components "${loopback}" quiet nosplash nox11autologin username=adminq user-fullname="Admin_Q4OS" loglevel=3 systemd.log_color=0 systemd.show_status=1 findiso=${isofile}
initrd (loop)/live/initrd.img
}

menuentry 'archlinux-2021.04.01-x86_64.iso' {
set imgdevpath='/dev/sda2'
set isofile='/iso/archlinux-2021.04.01-x86_64.iso'
loopback loop (hd0,2)$isofile
linux (loop)/arch/boot/x86_64/vmlinuz-linux img_dev=$imgdevpath img_loop=$isofile earlymodules=loop
initrd (loop)/arch/boot/intel-ucode.img (loop)/arch/boot/amd-ucode.img (loop)/arch/boot/x86_64/initramfs-linux.img
}

menuentry "ALT Workstation 10.0 x86_64 build 2021-12-10" {
isofile="/iso/alt-workstation-10.0-x86_64.iso"
#loopback loop "${isofile}"
loopback loop (hd0,2)$isofile
linux (loop)/boot/vmlinuz fastboot automatic=method:disk,disk:sdb,partition:sdb1,directory:"${isofile}" stagename=altinst ramdisk_size=475545 vga=normal splash lowmem
initrd (loop)/boot/full.cz
}

menuentry "Hirens.BootCD.15.2.iso" {
set root='(hd0,2)'
linux16 /iso/syslinux/memdisk iso
initrd16 /iso/Hirens.BootCD.15.2.iso
}

menuentry "FreeDos" {
set root='(hd0,2)'
linux16 /iso/syslinux/memdisk iso
initrd16 /iso/FD13LIVE.ISO
}

menuentry "ubcd539.iso" {
set root='(hd0,2)'
linux16 /iso/syslinux/memdisk iso
initrd16 /iso/ubcd539.iso
}

menuentry "dart10.iso" {
set root='(hd0,2)'
linux16 /iso/syslinux/memdisk iso
initrd16 /iso/dart10.iso
}

sudo update-grub

если выдало:
"Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry."

то раскомментировать GRUB_DISABLE_OS_PROBER=false
и сделать sudo update-grub

для загрузки windows и тд надо скачать https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/syslinux-5.10.zip в каталоге memdisk, находится файл memdisk, нужно скопировать файл в каталог iso/syslinux/

https://wiki.debian.org/DualBoot/Windows10
Ошибка grub не видит Windows 10
Как добавить загрузку Windows в grub?

добавить раздел с Windows в grub

если не были добавлены разделы ntfs при установке, то
sudo blkid
ls -l /dev/disk/by-uuid/
/etc/fstab

/dev/NTFS-part /mnt/windows ntfs-3g defaults 0 0
или по UUID
UUID=107E835A7E83378C /mnt/windows ntfs-3g defaults,locale=ru_RU.UTF-8,windows_names 0 0

/etc/grub.d/40_custom

menuentry "Windows 10" {
insmod ntfs
set root='(hd1,1)'
search --no-floppy --fs-uuid --set 2EE6EE17E6EDDF59
chainloader +1
}

долгий старт при логине в TTY и по SSH
зайти в /etc/update-motd.d и убрать права на запуск у скриптов, которые там находятся (у всех или частично)
chmod -x /etc/update-motd.d/*

Ускорение выключения зависшего процесса(по умолчанию стоит 90 секунд)
sudo vi /etc/systemd/system.conf
DefaultTimeoutStartSec=5s
DefaultTimeoutStopSec=10s

Блокировка экрана lightdm
sudo apt purge light-locker

«.profile» не загружается при входе в систему с помощью lightdm
https://github.com/canonical/lightdm/issues/96

sudo wget -P /usr/sbin https://raw.githubusercontent.com/canonical/lightdm/main/debian/lightdm-session && sudo chmod +x /usr/sbin/lightdm-session

отредактировать /etc/lightdm/lightdm.conf, раскомментировать session-wrapper=lightdm-session
перезагрузиться

автологин в lightdm

nano /usr/share/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.conf
[Seat:*]
greeter-session=lightdm-gtk-greeter
autologin-user=пользователь

сейчас (файла нет, не рекомендуется использовать в XUbuntu 18.04 и во всех последних дистрибутивах.)
# nano /etc/lightdm/lightdm.conf
[SeatDefaults]
autologin-user=пользователь
autologin-user-timeout=0
user-session=имя_сессии

ls /usr/share/xsessions/
user-session=имя_сессии

service lightdm stop
service lightdm start

nano /etc/X11/default-display-manager
/usr/sbin/lightdm

dpkg-reconfigure lightdm
dpkg-reconfigure wdm #(есди надо поменять)

для владельцев нетбуков и клавиатур без NumLock
nano /usr/share/lightdm/lightdm.conf.d/50-xubuntu-numlock.conf
И измените строку
greeter-setup-script=xubuntu-numlockx
на
greeter-setup-script=/usr/bin/numlockx off

loginctl list-sessions
loginctl unlock-session [id]

killall light-locker
apt-get install light-locker-settings python-gi

rm ~/.config/autostart/light-locker.desktop

(не обязательно)
sudo apt-get update && sudo apt-get install --no-install-recommends xscreensaver xscreensaver-screensaver-bsod && sudo apt-get purge light-locker

sudo service lightdm restart

автологин в sddm
надо создать конфиг по пути /usr/lib/sddm/sddm.conf.d/autologin с содержанием:
[Autologin]
User=user
Session=openbox

работа с сетевыми интерфейсами

настройка сети для убунтовых
https://netplan.io/examples

netplan --debug apply
systemctl restart systemd-networkd
networkctl status -a

для виртуалок
https://ubuntuforums.org/showthread.php?t=2386080
lsmod | grep vhost если нет то
modprobe vhost_net
если не сохраняется при перезагрузке то
echo vhost_net >> /etc/modules

установка XRDP x11vns и сервера ssh на Debian и Ubuntu

Файл подкачки
# fallocate --length 2GiB /swapfile
# chmod 600 /swapfile
# mkswap /swapfile
# swapon /swapfile
# swapon -s
# echo "/swapfile none swap sw 0 0" >> /etc/fstab

Удаление файла подкачки
# swapoff -a
# rm -f /swapfile

на файловых системах с btrfs
на файловых системах с btrfs
https://wiki.archlinux.org/title/Btrfs_(Русский)
Установка Rosa в btrfs с подтомами на этапе установки
https://github.com/sebastian-philipp/btrfs-swapon

https://btrfs.readthedocs.io/en/latest/Swapfile.html
# btrfs filesystem mkswapfile --size 2G swapfile
# swapon swapfile
Файл подкачки на btrfs Д.С. Кулябов
загружаюсь с livesd и создаю swap на отдельном подтоме btrfs

mkdir /mnt/debian
mount -tbtrfs /dev/nvme0n1p2 /mnt/debian/
btrfs subvol create @swap
umount /mnt/debian
mkdir /swap
mount -o subvol=@swap /dev/nvme0n1p2 /swap
chattr +C /swap
truncate -s 0 /swap/swapfile
btrfs property set /swap/swapfile compression ""
chmod 600 /swap/swapfile
fallocate -l 24G /swap/swapfile
mkswap /swap/swapfile
swapon /swap/swapfile
cat /proc/swaps
swapoff /swap/swapfile
umount /swap

загружаюсь в систему
редактирую /etc/fstab

https://wiki.debian.org/Hibernation/Hibernate_Without_Swap_Partition
получаю UUID
findmnt / -o UUID -n
получаю смещение resume_offset
btrfs inspect-internal map-swapfile -r /swap/swapfile

UUID="d9c5aa5a-f7ee-4773-a057-15683519930c" /swap btrfs relatime,discard,autodefrag,compress=zstd:9,subvol=@swap 0 0
/swap/swapfile none swap sw 0 0

можно и проще

UUID=d9c5aa5a-f7ee-4773-a057-15683519930c /swap btrfs defaults,subvol=@swap 0 0
/swap/swapfile none swap defaults 0 0

проверяю
findmnt --verify --verbose
В выводе не должно быть ошибок, кроме предупреждения, что файл используется напрямую без привязки (bind):

none
[W] non-bind mount source /swapfile is a directory or regular file
0 parse errors, 0 errors, 1 warning

перезагружаюсь, проверяю
cat /proc/swaps
swapon --show
lsblk -f

добавляю в /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet resume=UUID=d9c5aa5a-f7ee-4773-a057-15683519930c resume_offset=5776640

изменяю /etc/initramfs-tools/conf.d/resume

RESUME=UUID=d9c5aa5a-f7ee-4773-a057-15683519930c resume_offset=5776640

update-grub
update-initramfs -k all -u

перезагружаюсь и проверяю
systemctl hibernate

но лучше выбрать другую файловую систему
или использовать swapspace

apt-get install swapspace
nano /etc/swapspace.conf
раскомментировать параметры
service s swapspace restart

использовать OOM Killer чтобы система не висла
$ sudo apt install earlyoom
$ sudo nano /etc/default/earlyoom

работа с LVM томами
Делаем машину времени с Btrfs
Перенос снапшотов(snapshots) btrfs на другой раздел в отдельном файле

выпилить systemd
http://without-systemd.org/wiki/index.php/Debian_Stretch
https://devuan.org/

работа с systemd

работа с пакетами debian
https://wiki.debian.org/ru/AptPreferences
Создание deb-пакетов. Первые шаги в PPA
Aptly - свой репозиторий с контролем версий
Памятка по управлению пакетами в Debian и Ubuntu

установка дров
ubuntu-drivers devices
ubuntu-drivers autoinstall

запрет обновление пакета
apt-mark hold pppoe - блокируем обновление пакета pppoe
apt-mark unhold pppoe - снимаем блокировку обновления пакета pppoe
apt-mark showhold - показать все пакеты с меткой hold

откат обновления
http://vasilisc.com/problem-apt-get

Для пользователей систем с yum можно откатиться так:
yum history
yum history undo {ЧИСЛО}

в Debian и Ubuntu
grep -A 2 'Start-Date: 2016-01-21 09:42:42' /var/log/apt/history.log | tail -1 >/tmp/packages.txt

Удалим слово
sed -i 's/Install://' /tmp/packages.txt

Нам нужно только имя пакета.
tr ',' '\n' < /tmp/packages.txt | sed '/automatic)/d' | awk '{ print $1}' > /tmp/final.packages.txt

Теперь можно попробовать удалить поставленное. Подумать сто раз над выводом и убрать -s (симуляция) оставляю на вашей совести.
sudo apt-get -s purge `cat /tmp/final.packages.txt | xargs`

назначить приложение по умолчанию
sudo apt-get install galternatives
sudo galternatives

ls -al /etc/alternatives/
sudo update-alternatives --config x-www-browser

это лучше работает
sudo update-alternatives --set gnome-www-browser /usr/bin/chromium
sudo update-alternatives --set x-www-browser /usr/bin/chromium

если не помогает (вместо хрома запускается фирефокс), хотя выставлено Debian Sensible Browser /usr/bin/sensible-browser то в файле x-www-browser заменить firefox-esr на sensible-browser или x-www-browser
либо cp /etc/mailcap ~/.mailcap и заменить там

sudo apt install command-not-found
sudo update-command-not-found

заодно
sudo apt install configure-debian

Обновление
https://www.debian.org/releases/testing/i386/release-notes/ch-upgrading.ru.html
Перед обновлением системы до stretch, рекомендуется удалить из системы старые файлы настроек (такие как *.dpkg-{new,old} в /etc.

find /etc/ -name "*.dpkg-dist" -o -name "*.dpkg-new" -o -name "*.dpkg-old" -o -name "*.ucf-dist" -o -name "*.ucf-new" -o -name "*.ucf-old" | sort

Следующие команды отображают список всех удалённых пакетов, чьи файлы настройки всё ещё остаются в системе (если таковые имеются):

sudo dpkg -l | awk '/^rc/ { print $2 }'

Эти пакеты могут быть удалены с помощью команды apt-get purge.

sudo apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }')

Для истинных джедаев Убунту
git clone https://github.com/wimpysworld/rolling-rhino.git
cd rolling-rhino
less ./rolling-rhino

скрипт обновления системы
nano ~/bin/upd.sh

#!/bin/bash

sudo apt-btrfs-snapshot delete-older-than 3d
sudo apt-btrfs-snapshot list

sudo rm -f /var/crash/*

echo "--- apt update ---"
sudo apt update
apt list --upgradable

echo "--- apt full-upgrade ---"
sudo apt -y -d full-upgrade
sudo apt -y full-upgrade

echo "--- apt clean ---"
sudo apt clean

echo "--- apt autoremove ---"
sudo apt -y autoremove

echo "--- snap refresh ---"
sudo snap refresh

echo "--- flatpak update ---"
sudo flatpak update

В моей системе используется файловая система btrfs и поэтому страхуюсь снимками, которые автоматически создаются при работе утилит apt, dpkg и т.д. Удаляю снимки старше 3 дней. Эти строки не актуальны для ext4

sudo apt-btrfs-snapshot delete-older-than 3d
sudo apt-btrfs-snapshot list

снятие блокировки apt-get
sudo fuser /var/cache/debconf/config.dat
kill -9 №такой_то
sudo dpkg --configure -a
sudo apt-get -f install

sudo killall apt apt-get
sudo rm /var/lib/dpkg/lock*
sudo rm /var/cache/apt/archives/lock
sudo dpkg --configure -a
sudo apt clean

https://askubuntu.com/questions/1109982/e-could-not-get-lock-var-lib-dpkg-lock-frontend-open-11-resource-temporari
Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
sudo killall apt apt-get
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock*
sudo dpkg --configure -a
sudo apt update

Репозитории
Мировые серверы-зеркала Debian
https://www.debian.org/mirror/list.ru.html

Debian Sources List Generator

список реп
https://www.debian.org/mirror/list
https://ftp.cica.es/Guadalinex/mirror/debian/README.mirrors.txt

найти самые быстрые репы
netselect-apt testing -n -c ru

/etc/apt/sources.list

# deb http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware
# deb-src http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware

# deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
# deb-src http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

# deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
# deb-src http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware

# deb http://ftp.dk.debian.org/debian/ bookworm main contrib non-free non-free-firmware
# deb-src http://ftp.dk.debian.org/debian/ bookworm main contrib non-free non-free-firmware

# deb http://ftp.dk.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
# deb-src http://ftp.dk.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

# Debian packages for bookworm
deb http://ftp.fi.debian.org/debian/ bookworm main contrib non-free non-free-firmware
deb-src http://ftp.fi.debian.org/debian/ bookworm main contrib non-free non-free-firmware

# Security updates for stable
deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
deb-src http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

#################################################################################

## deb-multimedia
# apt-get update -oAcquire::AllowInsecureRepositories=true
# apt-get install deb-multimedia-keyring -oAcquire::AllowInsecureRepositories=true
# deb https://www.deb-multimedia.org bookworm main non-free

## WI-FI
# deb http://httpredir.debian.org/debian/ bookworm main contrib non-free non-free-firmware

ошибки
Невозможно инициализировать соединение с debian.map.fastlydns.net:80 (2a04:4e42:14::644). - connect (101: Сеть недоступна) Не удалось соединиться с debian.map.fastlydns.net:80 (151.101.86.132): время ожидания для соединения истекло

https://www.reddit.com/r/linux4noobs/comments/13y8wk7/facing_issue_0_connecting_to/
0% [Соединение с debian.map.fastlydns.net (2a04:4e42:14::644)] [Соединение с debian.map.fastlydns.net (2a04:4e42:14::644)] [Ожидание заголовков]
это происходит из-за ограничения fup моего провайдера

https://www.linux.org.ru/forum/general/16900016
Репозиторий «http://ftp.ru.debian.org/debian-security bookworm Release» не содержит файла Release.
в местной сетке оборудование в режиме MiM, подменяет траффик
Пропиши https://ftp.debian.org/debian в своём репозитории (https вместо http)

https://wiki.debian.org/ru/UnofficialRepositories
https://wiki.debian.org/ru/Backports
http://linuxoid.in/Полезные_репозитории_для_Debian
https://sites.google.com/site/mydebiansourceslist/
https://sparkylinux.org/wiki/doku.php/repository
https://docs.kali.org/general-use/kali-linux-sources-list-repositories
https://debgen.simplylinux.ch/
Репозитории для Debian
Полезные репозитории для Debian
apt-get и виндовые прокси ( NTLM-proxy, MS Proxy Server ISA ...)
локальный репозиторий debian или ubuntu
добавление ppa репозитория в debian
как добавить ключ репозитория в debian или ubuntu
Добавление ключей репозитория, когда другие способы не помогли
Зеркалирование репозитория Debian - это просто!

Aptly - свой репозиторий с контролем версий
Резервное копирование Ubuntu

добавить недостающие ключи (ppa)

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com `sudo aptitude update 2>&1 | grep -o '[0-9A-Z]\{16\}$' | xargs`

http://snapshot.debian.org/

добавить репозитарий
add-apt-repository ppa:mozillateam/ppa

удалить репозитарий
sudo ppa-purge ppa:mozillateam/ppa

Ядро

https://www.kernel.org/
https://mirrors.edge.kernel.org/pub/linux/kernel/
https://www.kernelconfig.io/index.html

http://compizomania.blogspot.com/2016/07/linux-kernel-47-ubuntu.html
https://codebeer.ru/obnovlenie-yadra-debian/
https://kernel.ubuntu.com/mainline/
http://kernel.ubuntu.com/~kernel-ppa/mainline/
https://backports.debian.org/Instructions/

apt-get -t jessie-backports install "package"                    
   apt-get install linux-image-686-pae -t jessie-backports

или

TEMP_DIR=$(mktemp -d); pushd $TEMP_DIR; \
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.10.8/linux-headers-4.10.8-041008_4.10.8-041008.201703310531_all.deb \
http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.10.8/linux-headers-4.10.8-041008-generic_4.10.8-041008.201703310531_i386.deb \
http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.10.8/linux-image-4.10.8-041008-generic_4.10.8-041008.201703310531_i386.deb; \
sudo dpkg -i *.deb; popd; rm -rf $TEMP_DIR

или

wget -qO - https://dl.xanmod.org/archive.key | sudo gpg --dearmor -vo /usr/share/keyrings/xanmod-archive-keyring.gpg
echo 'deb [signed-by=/usr/share/keyrings/xanmod-archive-keyring.gpg] http://deb.xanmod.org releases main' | sudo tee /etc/apt/sources.list.d/xanmod-release.list
sudo apt update && sudo apt install linux-xanmod-x64v2

linux-xanmod-x64v2 вам следует изменить номер версии после v на номер вашего процессора см. тут https://en.wikipedia.org/wiki/List_of_Intel_CPU_microarchitectures

https://help.ubuntu.ru/wiki/сборка_ядра (устарело)
fakeroot make-kpkg -j `nproc` --initrd --append-to-version=-custom kernel_image kernel_header

https://kernel-team.pages.debian.net/kernel-handbook/ch-common-tasks.html

Как скомпилировать и установить последнюю версию ядра Linux на Debian 11

apt install build-essential dwarves python3 libncurses-dev libssl-dev libelf-dev flex bison bc autoconf bison bc flex gettext make bc

sudo make ARCH=x86 menuconfig
sudo make clean
sudo make bzImage
sudo make modules
sudo make modules_install
sudo find /lib/modules/5.16.5/ -name *.ko -exec strip --strip-unneeded {} +
sudo make install
update-initramfs -uk all
sudo update-grub

Нет правила для сборки цели «debian/canonical-certs.pem», требуемой для «certs/x509_certificate_list». Останов
scripts/config --disable SYSTEM_TRUSTED_KEYS
scripts/config --disable SYSTEM_REVOCATION_KEYS

Удаление старых ядер ( linux-kernel ) одной командой

apt autoremove

старое

dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge

apt-get install byobu
purge-old-kernels --keep 3

Как отключить cloud-init в Ubuntu
https://cloudinit.readthedocs.io/en/latest/topics/boot.html
Предотвратить запуск:
Создайте пустой файл, чтобы запретить запуск службы
sudo touch /etc/cloud/cloud-init.disabled

Удалить:
отключить все службы (снимите все, кроме «Нет»):
dpkg-reconfigure cloud-init

удалить пакет и папки
sudo dpkg-reconfigure cloud-init
sudo apt-get purge cloud-init
sudo rm -rf /etc/cloud/ && sudo rm -rf /var/lib/cloud/

перезагрузить
sudo reboot

Свежий soft

свежая java

su -
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee /etc/apt/sources.list.d/webupd8team-java.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
apt-get update
apt-get install oracle-java8-installer
exit

если не находит окружение

export JAVA_HOME=$(readlink -f $(dirname $(readlink -f $(which java) ))/../)

java а браузере
https://ftp.mozilla.org/pub/firefox/releases/
https://ftp.mozilla.org/pub/firefox/releases/51.0.1/linux-x86_64/ru/
sudo ppa-purge ppa:mozillateam/ppa

https://help.ubuntu.ru/wiki/java
https://java.com/en/download/installed.jsp

http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default

find /usr/lib/ -name java.security
locate java.security
nano /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/java.security

https://www.java.com/ru/download/help/enable_browser_ubuntu.xml
/etc/alternatives/mozilla-javaplugin.so
ln -s /usr/lib/jvm/java-8-oracle/jre/lib/amd64/libnpjp2.so /usr/lib/mozilla/plugins/libjavaplugin.so
или
ln -s /usr/local/lib/IcedTeaPlugin.so ~/.mozilla/plugins

https://www.reg.ru/support/hosting-i-servery/dedicated/reshenie-problem-pri-rabote-s-dedicated/ne-rabotayet-kvm-ipmi
https://support.nine.ch/articles/remote-console-ip-kvm

jcontrol
javaws https://docs.oracle.com/javase/tutorialJWS/samples/deployment/NotepadJWSProject/Notepad.jnlp

https://linux-faq.ru/page/ustanovka-virtualnoy-mashiny-java-s-plaginom-dlya-veb-brauzera
https://www.java.com/ru/download/faq/java_webstart.xml
https://icedtea.classpath.org/wiki/IcedTea-Web

свежий php

свежий pip pyenv (и версии python)

свежая Node

Браузер
запуск хрома в другой сессии из snap (сходный механизм и у других приложений)
nano $HOME/bin/chromium.sh

export PATH="/snap/bin/:$PATH"; xhost +si:localuser:$USER; export DISPLAY=$DISPLAY && chromium &

chmod +x $HOME/bin/chromium.sh

Убрать пароль для разблокировки связки ключей Ubuntu при запуске Chrome
sudo nano /usr/share/applications/google-chrome.desktop
Найдите строку начинающуюся на Exec= и добавьте к ней значение --password-store=basic
Находим в тексте строку:
Exec=/opt/google/chrome/google-chrome %U
И меняем её на:
Exec=/opt/google/chrome/google-chrome --password-store=basic %U

либо удалить gnome-keyring

Chromium «Показать в папке», выделение файла
если хром из снапа не открывает сохранённый файл, то
apt install xdg-desktop-portal-gtk

добавить "Google" как поисковую систему в Chromium
1. В Chromium кликнуть на три вертикальные точки вверху справа. Откроются "Настройки".
2. В списке слева выбрать "Поисковая система", откроются две строки.
3. Кликнуть по нижней строке "Управление поисковыми системами и поиском по сайту".
4. В абзаце "Поисковые системы" кликнуть по "карандашу".
5. Под "Поисковая система" написать google.ru или google.com, то есть то, что требуется, и потом кликнуть на "Сохранить".
Если этого нет, то нажать "добавить" и в поле "URL с параметром %s вместо запроса" ввести
https://www.google.com/search?q=%s
6. Закрыть Настройки.

chrome portable
список плагинов для chrome
chrome ppa
FirefoxPortable

браузер полегче
https://github.com/minbrowser/min/releases
http://get.geo.opera.com/pub/opera/sdlbream/
https://www.opera.com/ru/developer/mobile-emulator

flash player chromium 32 bits
установка flashplugin для chromium 32 bits в Debian 8 Jessie

открывать папки в браузере:
Настройка xdg-open под свой файловый менеджер
Chromium «Показать в папке», выделение файла

телега
после установки https://telegram.org/dl/desktop/linux и запуска, в директории ~/.local/share/applications
появится org.telegram.desktop._какой_то_хеш.desktop с правами 755
содержание:

[Desktop Entry]
Name=Telegram Desktop
Comment=Official desktop version of Telegram messaging app
TryExec=/директория_установки/Telegram/Telegram
Exec=/директория_установки/Telegram/Telegram -- %u
Icon=telegram
Terminal=false
StartupWMClass=TelegramDesktop
Type=Application
Categories=Chat;Network;InstantMessaging;Qt;
MimeType=x-scheme-handler/tg;
Keywords=tg;chat;im;messaging;messenger;sms;tdesktop;
Actions=quit;
DBusActivatable=true
SingleMainWindow=true
X-GNOME-UsesNotifications=true
X-GNOME-SingleWindow=true

[Desktop Action quit]
Exec=/директория_установки/Telegram/Telegram -quit
Name=Quit Telegram
Icon=application-exit

в ~/.local/share/applications/mimeinfo.cache появится запись

x-scheme-handler/tg=org.telegram.desktop._какой_то_хеш.desktop;

vi $HOME/.config/mimeapps.list

application/x-xdg-protocol-tg=org.telegram.desktop._какой_то_хеш.desktop
x-scheme-handler/tg=org.telegram.desktop._какой_то_хеш.desktop

проверить открытие ссылок:
xdg-open tg://resolve?domain=какой_то_адрес
открыть в браузере ссылку https://t.me/какой_то_адрес

свежая либра

s1=http://download.documentfoundation.org/libreoffice/stable/6.0.1/deb/x86/LibreOffice_6.0.1_Linux_x86_deb.tar.gz;
s2=http://download.documentfoundation.org/libreoffice/stable/6.0.1/deb/x86/LibreOffice_6.0.1_Linux_x86_deb_helppack_ru.tar.gz;
s3=http://download.documentfoundation.org/libreoffice/stable/6.0.1/deb/x86/LibreOffice_6.0.1_Linux_x86_deb_langpack_ru.tar.gz;
mkdir -p $HOME/tmp/LOO1/DEBS; cd $HOME/tmp/LOO1; wget {$s1,$s2,$s3};for name in *.tar.gz ; do tar -xvpf $name -C . ; done; find . -name \*.deb -exec mv '{}' DEBS \;; cd DEBS; sudo dpkg -i *deb; cd ../..; rm -rf LOO1

zip архивы без кракозябр
nano /etc/apt/sources.list

Краткая памятка по работе с архиваторами из консоли в Linux

## Zip/unzip internationalization
deb http://ppa.launchpad.net/frol/zip-i18n/ubuntu trusty main
deb-src http://ppa.launchpad.net/frol/zip-i18n/ubuntu trusty main

## file-roller path (unzip)
deb http://ppa.launchpad.net/hanipouspilot/file-roller/ubuntu trusty main
deb-src http://ppa.launchpad.net/hanipouspilot/file-roller/ubuntu trusty main

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com `sudo aptitude update 2>&1 | grep -o '[0-9A-Z]\{16\}$' | xargs`

поставить file-roller без хлама:

apt-get install --no-install-recommends file-roller

подходящий WM
fvwm-crystal как описано тут
https://uzverss.livejournal.com/63477.html
результат вот, забирайте
gtk3 мышка колёсико WM
как добавить выключение и перезагрузку в меню fluxbox
автомонтирование в pcmanfm

подходящее DE
https://wiki.debian.org/ru/Xfce
https://wiki.xfce.org/ru/howto/install_new_themes
https://aur.archlinux.org/packages/gtk-theme-numix-solarized/
как обновить xfce с 4.10 до 4.12 версии?
Управление электропитанием в Linux (Xfce)

разница между DE и WM, а также работа в голых иксах
установка сервера терминалов XRDP на Debian 9.
Пользовательские настройки Bash

менюшка:
sudo apt-get install xfce4-whiskermenu-plugin

поскольку редактор меню в xfce4 отсутствует (а вроде должно быть..)
https://wiki.xfce.org/ru/howto/customize-menu
то
sudo apt-get install menulibre

Безопасность
изменение времени файлов, удаление истории посещения и команд в linux
Поиск и удаление вредоносных программ из Linux
Как узнать, какие USB устройства подключались к Linux
21 пример использования iptables для администраторов.
Фаервол UFW. Базовая настройка.
Использование утилиты UFW на Linux
firewall-cmd настройка брадмаузера
Как удалить пользователя в Linux (и удалить все его «хвосты»)

Запуск su только пользователями из группы wheel
доступ к sudo без ввода пароля.

sudo addgroup wheel
sudo usermod -a -G wheel пользователь
gpasswd -a пользователь wheel

проверить права
id пользователь

Сменить имя и группу пользователя

Изменить только имя пользователя:
usermod --login new_username old_username

Чтобы изменить имя пользователя и имя домашнего каталога:
usermod --login new_username --move-home --home /home/dir_old_username old_username

Вы также можете изменить имя группы, связанной с пользователем:
groupmod --new-name new_username old_username

Как в Linux сменить пароль пользователя, с зашифрованной (ecryptfs) домашней папкой.
Задаем новый пароль пользователя:
passwd user1

Монтируем зашифрованный каталог:
ecryptfs-mount-private

Задаем контрольную фразу, аналогичную заданному паролю пользователя:
ecryptfs-rewrap-passphrase .ecryptfs/wrapped-passphrase

nano /etc/pam.d/su
раскоментировать строчку
# auth required pam_wheel.so
либо
# auth required pam_wheel.so use_uid

список всех групп
getent group

узнать членов группы developers
getent group developers

(настройка прав)
chmod ug=rw,o=r -R папка
chmod +x файл

Шифрование разделов
Шифрование файлов

gpg -c файл файл
gpg --decrypt-files файл.gpg

Создание "неудаляемой" папки или файла в Linux
Удаление большого количества файлов в директории

Заблокировать выбранную сессию, указав её номер:
loginctl list-sessions
sudo loginctl lock-session 3

Разблокировать выбранную сессию, указав её номер:
loginctl list-sessions
sudo loginctl unlock-session [id]

блокировка экрана
cat /etc/default/acpi-support
ctrl+alt+L
/usr/bin/xflock4
light-locker-command --lock

fail2ban
https://wiki.archlinux.org/title/Fail2ban_(Русский)
fail2ban vpn pptp openvpn centos7

/etc/fail2ban/jail.local

[DEFAULT]
ignoreip = 127.0.0.1/8 ::1
bantime = 1d
findtime = 10m
maxretry = 5
## почта
## необходимо установить SMTP на вашем сервере
# action = %(action_mw)s # отправляет электронное письмо с отчетом whois
# action = %(action_mwl)s # дополнительно включает соответствующие журналы в электронное письмо
## адреса электронной почты для отправки и получения:
# destemail = вашеимя@example.com
# sender = вашеимя@example.com

[sshd]
enabled = true
filter = sshd
banaction = iptables
backend = systemd
## если в течении 1 часа:
findtime = 1h
## произведено 6 неудачных попыток логина:
maxretry = 6
## то банить IP на 2 недели:
bantime = 2w
ignoreip = 127.0.0.1/8 ::1 192.168.122.1/24

если в /etc/ssh/sshd_config был изменён Port по умолчанию, для подключения по ssh
то в /etc/fail2ban/jail.local нужно также изменит порт, иначе не будет блокировать
[sshd]
port = номер_порта

systemctl restart fail2ban
systemctl status fail2ban

статус тюрьмы
fail2ban-client status
fail2ban-client status sshd

разблокировать IP
sudo fail2ban-client set sshd unbanip IP_адрес

запретить IP
sudo fail2ban-client set sshd banip IP_адрес

быстро включаем и выключаем ответ на пинги нашей машинкой с Debian
https://debian.pro/408
Делаем так, чтобы наша машинка не отвечала на пинги (по ipv4):
root@host:~# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
Возвращаем всё на место:
root@host:~# echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

Ну и более кошерный способ на машинках с нестабильным аптаймом (запускать именно от рута):
root@host:~# echo "net.ipv4.icmp_echo_ignore_all=1" >> /etc/sysctl.conf
И применим правило:
root@host:~# sysctl -p

Чтобы обратно всё вернуть - замените 1 на 0 в последней строке и сделайте sysctl -p. После ребута правила из sysctl.conf поднимутся.

Если вы всё же упрямый и вам хочется сделать это через iptables, то:
root@host:~# iptables -A INPUT -p icmp -icmp-type 8 -j DROP

Хотя у iptables есть и полезное применение в этом направлении. Чтобы запретить пинги на интерфейс eth0:
root@host:~# iptables -A INPUT -i eth0 -p icmp -icmp-type 8 -j DROP

Исходящие пинги при всём этом работают отлично.

https://wiki.dieg.info/tcpdump
tcpdump -i enp3s0 -n -s 0 port 5060 -vvv -w /home/user/file
tcpdump port 80 or port 3128
tcpdump -A -vv -i enp3s0 ip dst 172.16.0.1
tcpdump -vv -nn -e -XX -i enp3s0 ip dst 172.16.0.1
echo "hello" > /dev/udp/172.16.0.1/22
echo "hello" > /dev/tcp/172.16.0.1/80

21 пример использования iptables для администраторов.

Команда для очистки ARP кэша в Linux
ip neig flush all

Команда для очистки DNS кэша в Linux
systemd-resolve --flush-caches
systemctl restart systemd-resolved

Приватность
https://incenp.org/notes/2015/gnupg-for-ssh-authentication.html

Разблокировка связки ключей.
$ rm -rf ~/.local/share/keyrings/

редактирование ключа
$ gnupg --edit-key <ключ> passwd

запуск запоминалки
$ gpg-connect-agent /bye

вручную остановить работающий агент
$ gpgconf --kill gpg-agent
$ killal gpg-agent

SSH keys
Перечислить автоматически загруженные ключи:
$ ssh-add -L
Отключить все ключи:
$ ssh-add -D

старый рецепт
добавить в .profile или .bashrc или .xsessionrc (по вкусу)

# запоминалка паролей для GnuPG
#
if [ -z "$(ps -u gor | grep gpg-agent)" ]
then rm $HOME/.gnupg/S.gpg-agent
/usr/bin/gpg-agent --daemon --use-standard-socket > /dev/null
echo gpg-agent started
fi

сейчас достаточно
$ sudo apt install seahorse

Оформление

Сайты
https://www.opendesktop.org/
http://debian-art.org/
https://debianforum.ru/index.php?board=45.0
Подборка сайтов с темами оформления KDE, Gnome, XFCE, Qt, GTK и тд

Обои
просмотр и конвертация .webp

https://www.wallpaperbetter.com/en/hd-wallpaper-etfdz
https://www.wallpapertip.com/wpic/mTooox_debian-gnu-linux/
https://wallpaper-house.com/group/debian-wallpaper/index.php
https://www.wallpaperflare.com/search?wallpaper=debian
https://www.desktopnexus.com/search/debian/
http://www.73lab.com/distant_file/dessins/wallpaper/02_ayo-debian-theme_1280_1024.png
http://www.73lab.com/distant_file/dessins/wallpaper/01_ayo-debian-theme_1280_1024.png
http://www.73lab.com/distant_file/dessins/wallpaper/01_debian_expo_1280_1024.png
http://www.73lab.com/distant_file/dessins/wallpaper/01_debian_chrome_1280_1024.png

ubuntu 16.04 и напильник

linux, ноут, ubuntu, debian, dpkg

Previous post Next post
Up