Debian и Ubuntu, напильник, рецепты, часть 2 ознакомиться
Руководство по установке Debian GNU/Linuxhttps://debian-handbook.info/browse/ru-RU/stable/Дистрибутив
образы OShttps://www.debian.org/devel/debian-installer/http://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/mini.iso netinstall amd64debian mini netinstall i386https://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/uefibootefibootmgr --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.phpsudo 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 из Grub2Boot iso images from hdd (Grub2)Multiboot USB Stick GRUB Stanzashttps://sysadministrivia.com/news/howto-grubrescuehttps://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=2386080lsmod | 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_Stretchhttps://devuan.org/ работа с systemd работа с пакетами debianhttps://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.gitcd 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-temporariCould 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/listhttps://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/UnofficialRepositorieshttps://wiki.debian.org/ru/Backportshttp://linuxoid.in/Полезные_репозитории_для_Debianhttps://sites.google.com/site/mydebiansourceslist/https://sparkylinux.org/wiki/doku.php/repositoryhttps://docs.kali.org/general-use/kali-linux-sources-list-repositorieshttps://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.htmlhttps://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/javahttps://java.com/en/download/installed.jsp http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.htmlsudo 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-ipmihttps://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-brauzerahttps://www.java.com/ru/download/faq/java_webstart.xmlhttps://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=%s6. Закрыть Настройки.
chrome portable список плагинов для chromechrome 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/Xfcehttps://wiki.xfce.org/ru/howto/install_new_themeshttps://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/tcpdumptcpdump -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-etfdzhttps://www.wallpapertip.com/wpic/mTooox_debian-gnu-linux/https://wallpaper-house.com/group/debian-wallpaper/index.phphttps://www.wallpaperflare.com/search?wallpaper=debianhttps://www.desktopnexus.com/search/debian/http://www.73lab.com/distant_file/dessins/wallpaper/02_ayo-debian-theme_1280_1024.pnghttp://www.73lab.com/distant_file/dessins/wallpaper/01_ayo-debian-theme_1280_1024.pnghttp://www.73lab.com/distant_file/dessins/wallpaper/01_debian_expo_1280_1024.pnghttp://www.73lab.com/distant_file/dessins/wallpaper/01_debian_chrome_1280_1024.png ubuntu 16.04 и напильник