посмотреть
очистка от предыдущей версии



(глянуть что сносит и нужное поставить опять)

можно конечно воспользоваться ppa:




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

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




но мы пойдём другим путём:




или как сделано тут Простой способ установки самой новой версии LibreOffice на Linux




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

поскольку нам необходимо чтобы программы LOO завускались из консоли, то добавим переменную в $PATH




проверим наличие




и создадим пакет, в котором будут ссылки на программы из /opt/libreoffice6.0/program/

структура пакета
DEBIAN/control и opt/libreoffice/bin/файлы




в каталоге /opt/libreoffice/bin будут лежать файлы следующего содержания:



делаем файлы исполняемыми




в случае изменения версии LOO




делаем бинарик для каждой программы из каталога




готовим пакет




вот результат, забирайте

этот пакет нужен если возникнет желание воспользоваться libreoffice в консоли, напр. для конвертации

libreoffice --headless --convert-to pdf:writer_pdf_Export --outdir $HOME/tmp/convert *.html

оптимизация pdf

http://linux-notes.org/poisk-i-zamena-slov-v-fajlah-linux/
http://forum.ubuntu.ru/index.php?topic=171497.0

Возникла необходимость фиксировать локальный репозиторий разработчиков на конкретную дату, сравнивать эти состояния, откатываться назад и возвращаться к текущему состоянию, публиковать нужную версию.
Для этой цели отлично подошел продукт под названием Aptly.
развернуть
Принцип работы таков:

  • создается зеркало локального репозитория;

  • фиксируется текущее состояие созданием снмка (snapshot);

  • cнимки могут быть объеденены между собой (merge), сравнены (diff) и прочее;

  • публикуется выбранный снимок.




Очень хорошая, понятная документация на самом официальном сайте проекта: http://www.aptly.info/doc/overview/

Установка Aptly на Ubuntu 14.04:


Так как в основном репозитории Ubuntu нет пакета Aptly, для начала добавьте репозиторий разработчика в /etc/apt/sources.list прямым редактированием файла добавив в конец строку:

deb http://repo.aptly.info/ squeeze main

или выполнив команду:

# add-apt-repository 'deb http://repo.aptly.info/ squeeze main'

Не беспокойтесь на счет squeeze в названии репозитория: пакет Aptly будет работать на Debian squeeze+, Ubuntu 10.0+

Импортирйте ключ для репозитория:

# gpg --keyserver keys.gnupg.net --recv-keys 2A194991
# gpg -a --export 2A194991 | sudo apt-key add -

После этого можно устанавливать Aptly как любой другой пакет:

# apt-get update
# apt-get install aptly

установяться так же и зависимости: bzip2, gnupg and gpgv.

В целях безопасности команды aptly не следует выполнять из-под учетной записи root. Для этих целей создайте нового пользователя, например:

# adduser repokeeper

и залогиньтесь под ним:

# su repokeeper

Далее сгенерируйте gpg ключ для подписи своего репозитория. Делать это нужно именно из под учетной записи того пользователя, от имени которого впоследствии будут публиковаться снимки:

# gpg --gen-key

Если интропия вашкго компьютера достаточна, а именно более 800, то ключ благополучно сгенерируется. Сохраните пароль ключа в надежном месте.

Посмотреть уровень текущей интропии можно открыв еще одну консоль и выполнив:

cat /proc/sys/kernel/random/entropy_avail

Если долго ничего не происходит и вываливается ошибка:



это означает, что ваш компьютер бездействует и уровень интропии недостаточен.
Запустите какой-нибудь длительный тяжелый процесс на сервере, что бы его нагрузить или запустите в соседней консоли:

# cat /dev/urandom > randomfile

подождите пару минут, чтобы на диске создался файл приличного размера, затем прервите операцию нажав Ctrl+C.
Далее выполните:

# dd if=random of=/dev/null iflag=direct

и снова смотрите в файл /proc/sys/kernel/random/entropy_avail. В какой-то момент уровень энтропии поднимется до 800 и GPG сможет сгенерировать свой ключ.
Сохраните ключ в надежном месте. Для этого заархивируйте файл .gnupg в домашнем каталоге пользователя repokeeper и скопируте его для хранения или передачи иному пользователю.

# tar -czvf gnupg.tar.gz ~/.gnupg

На этом установка aptly закончена.

Настройка и работа с Aptly


Создание зеркала

Допустим имеется репозиторий разработчиков, который надо поставить на контроль версий публикуемых пакетов и вести его мониторинг. Для этого на нашем сервере с помощью установленного пакета Aptly создадим зеркало исходного репозитория разработчиков.
Перед созданием зеркала, сначала нужно импортировать открытый ключ удаленного репозитория в хранилище ключей:

# wget -O - http://repo.dev.domain.ru/repo.gpg.key | gpg --no-default-keyring --keyring trustedkeys.gpg –-import

Основной конфиг создайте из автосоздаваемого ~/aptly.conf в /etc/aptly.conf с указанием корневого каталога. В домашней папке конфиг удалите. Дело в том, что aptly сначала ищет конфигурационный файл в домашнем каталогк, затем в директории /etc.
Содержание файла aptly.conf:

cat /etc/aptly.conf



Создайте зеркало нужной ветки:

# aptly mirror create -architectures=amd64 repo-precise-1-main http://repo.dev.domain.ru/repo precise-1 main

где repo-precise-1-main произвольное имя нашего зеркала.
Aply любезно сообщит, что можно сделать дальше: "You can run 'aptly mirror update repo-precise-1-main' to download repository contents."

Запустите обновление зеркала:

# aptly mirror update repo-precise-1-main

Файлы сохраняются в rootdir/.aptly/pool/ в нашем случае в /var/cache/aptly/pool

Информация о зеркале:

# aptly mirror show repo-precise-1-main

Редактировать зеркало:

# aptly mirror edit -architectures="i386,amd64" repo-precise-1-main

Создание снимка (snapshot)


Создайте snapshot:

# aptly snapshot create repo-precise-1-main-20150505 from mirror repo-precise-1-main
где repo-precise-1-main-20150505 произвольное имя снимка.

Снэпшот не занимает дополнительного места на диске, хранит только список пакетов.
Можно создавать снэпшот в любое время. Затем можно объеденить (MERGE) несколько снепшотов в один с разной стратегией (Flag -latest chooses merge strategy: package with latest version “wins”):

# aptly snapshot merge -latest wheezy-final-20141009 wheezy-main-7.6

Проверка:

# aptly package show -with-references 'Name (nginx)'

Посмотреть список снепшотов:

# aptly snapshot list

Сравнить снепшоты:



Публикация снепшота


Опубликовать репозиторий из снепшота:

# aptly publish snapshot -architectures="i386,amd64" repo-precise-1-main-20150506

Указание -architectures="i386,amd64" обязательно, несмотря на то, что в документации сказано, что по умолчанию публикуются все доступные архетектуры.

При запросе ввести пароль (2 раза) от ключа GPG созданного ранее.
Если публикуется объедененный снепшот, то имя ветки нужно указать явно, например:

# aptly publish snapshot -distribution=wheezy wheezy-final-20141009

Посмотреть какой снепшот опубликован на текущий момент:

# aptly publish list

Сравнить с предыдущим снепшотом:

# aptly snapshot diff repo-precise-1-main-20150505 repo-precise-1-main-20150506-1

При наличии изменений опубликовать новый снепшот вместо предыдущего:

# aptly publish switch precise-1 repo-precise-1-main-20150506-1

При запросе ввести пароль (2 раза) от gpg ключа.

Удалить снепшот:

# aptly snapshot drop repo-precise-1-main-20150506

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

Поместите публичный ключ в public:

# gpg --export --armor > /var/cache/aptly/public/repo.gpg.key


Доступ к репозиторию по протоколу HTTP


Для того, что наш репозиторий был доступен из браузера по http нужно установить и настроить вебсервер Apache.

# apt-get install apache2

Теперь нужно настроить вебсеревер так, что бы опубликовать директорию с нашим репозиторием '/var/cache/aptly/public' с опцией autoindexing.

Для этого создайте файл /etc/apache2/sites-available/aptly.conf следующего содержания:



Файлы логов должны быть созданы заранее и доступны для записи пользователю, от имени которго запускается Apache. В ubuntu это www-data:

# touch /var/log/apache2/aptly-error.log
# touch /var/log/apache2/aptly-access.log

Находясь в директории /etc/apache2/sites-available/ выполните:

# a2ensite aptly.conf

эта команда создаст алиас для файла конфигурации в /etc/apache2/sites-enabled/.

Перезапустите Apache:

# service apache2 reload

Теперь репозиторий будет доступен из браузера по адресу: http://your-server
Не забудьте проверить настройки файрвола.

Настройки на стороне клиента


Что бы подключить к нашему репозиторию новую машину и устанавливать из него пакеты добавьте в /etc/apt/sources.list прямым редактированием файла строку:

deb http://your-server/ precise-1 main
или выполнив команду:

# add-apt-repository 'deb http://your-server/ precise-1 main'
И импортируйте ключ репозитория:

# wget -O - http://repo.domain.ru/repo.gpg.key | sudo apt-key add -
или добавить ключ локально:

# apt-key add repo.gpg.key


Прочие дополнения


Для удобства пользователей можно разместить напоминание в виде html странички о том, как установить GPG ключ. Для этого в корне директории /var/cache/aptly/public/создайте файл readme.html:

sudo nano /var/cache/aptly/public/readme.html



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


Формирование картинки:

# aptly graph
Созданный .png файл скопируйте к себе на рабочий стол, например с помощью WinSCP.

Вот, что может получиться:



Troubleshooting


Ошибка при смене снэпшота:

# aptly publish switch trusty repo-trusty-1-main-20150904-01
Loading packages...
Generating metadata files and linking package files...
ERROR: unable to publish: unable to process packages: error linking file to /var/cache/aptly/public/pool/main/a/activiti/activiti.deb: file already exists and is different

Это происходит, когда версия файла в исходном репозитории сменилась, а сам файл остался тот же. В этом случае удалить файл по указанному пути и переопубликовать снепшот:

# aptly publish switch trusty repo-trusty-1-main-20150904-01

Публикации по теме:
Об Aptly: http://habrahabr.ru/post/225825/
Генерация gpg ключа: https://debian.pro/1424

Aptly – свой репозиторий с контролем версий
Настройка и управление репозиторием Debian с помощью Aptly
локальный репозиторий debian или ubuntu
Оригинал взят у [livejournal.com profile] viking_k в Управление VirtualBox из консоли
Установка VirtualBox

Редактируем список репозитариев:

nano /etc/apt/sources.list

------
# Oracle virtualbox
deb             http://download.virtualbox.org/virtualbox/debian wheezy contrib
------


Устанавливаем:
apt-get update
apt-get install virtualbox
adduser user vboxusers

Устанавлием плагины:
VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.1.42-103435a.vbox-extpack

Импорт/Экспорт ВМ

Экспортируем ВМ
vboxmanage export VMNAME --output vmname.ova
Импорируем ВМ
vboxmanage import vmname.ova --vsys 0 --vmname VMNAME2
Клонирование
vboxmanage clonevm VMNAME --name VMNAME2 --register
Переименование
vboxmanage modifyvm VMNAME --name VMNAME2

Создание ВМ
Смотрим список шаблонов ВМ
vboxmanage list ostypes | egrep ^ID
Создаем новую виртуалку:
vboxmanage createvm --name ubuntu1604 --ostype Ubuntu_64 --register
Меняем параметры ВМ — указываем количество памяти и тд:
vboxmanage modifyvm ubuntu1604 --cpus 1 --memory 512 --audio none --usb off --acpi on --boot1 dvd --nic1 nat
Создаем жесткий диск размером 10 Гб (место по дэфолту не преаллоцируется):
vboxmanage createhd --filename /home/eax/virtualbox/ubuntu1604/ubuntu1604.vdi --size 10000
Цепляем созданный жесткий диск к виртуалке:
vboxmanage storagectl ubuntu1604 --name ide-controller --add ide
vboxmanage storageattach ubuntu1604 --storagectl ide-controller \
--port 0 --device 0 --type hdd --medium /home/eax/virtualbox/ubuntu1604/ubuntu1604.vdi
Цепляем к ВМ ISO-образ, с которого будет происходить установка системы:
vboxmanage storageattach ubuntu1604 --storagectl ide-controller \
--port 0 --device 1 --type dvddrive --medium /home/eax/data/iso/ubuntu-16.04.1-server-amd64.iso
Когда диск нам будет не нужен его можно вынуть
vboxmanage storageattach archlinux1 --storagectl ide-controller \
--port 0 --device 1 --type dvddrive --medium emptydrive

Включаем удаленный доступ к ВМ

Подключение в ВМ стандартными RDP средствами.
vboxmanage modifyvm ubuntu1604 --vrde on
vboxmanage modifyvm ubuntu1604 --vrdeaddress 0.0.0.0
vboxmanage modifyvm ubuntu1604 --vrdeport 3001

Проброс SSH ssh -p 2222 root@localhost
vboxmanage modifyvm ubuntu1604 --natpf1 "ssh-forwarding,tcp,,2222,,22"
Запуск/Остоновка ВМ

Запуск в фоне
vboxmanage startvm --type headless VMNAME
Пауза
vboxmanage controlvm VMNAME pause
Возобновление
vboxmanage controlvm VMNAME resume
Остановка
vboxmanage controlvm VMNAME poweroff

Изменение

Подключаем виртуальный сетевой кабель на 1 интерфейсе
vboxmanage modifyvm gate --cableconnected1 on
Меняем тип сетевой карты на 1 интерфейсе
vboxmanage modifyvm gate --nictype1 Am79C973
Устанавливаем режим бриджа  на 1 интерфейсе
vboxmanage modifyvm gate --nic1 bridged --bridgeadapter1 lan.200
Устанавливаем режим НАТа  на 1 интерфейсе
vboxmanage modifyvm gate --nic1 nat

Созадем правило разначивания
vboxmanage modifyvm ubuntu1604 --natpf1 "ssh-forwarding,tcp,,22001,,22"
Удаляем это правило
vboxmanage modifyvm ubuntu1604 --natpf1 delete ssh-forwarding
Информация

Список всех виртуалок:
vboxmanage list vms
Список запущенных виртуалок:
vboxmanage list runningvms
Настройки VirualBox:
vboxmanage list systemproperties
Настройки ВМ:
vboxmanage showvminfo gate

Удаляем ВМ
vboxmanage unregistervm VMNAME2 --delete




Если вам требуется перекодировать видео, вынуть из него скриншот, нарезать видеофайл или объединить, то ffmpeg — это то, что вам нужно! В Debian Jessie этот пакет исключили из официального репозитория и вместо него оставили avconv(Libav), который является форком и был рождем из-за конфликта внутри команды разработчиков. Конечно можно использовать и его или сделать линк в папке /usr/local/bin, но многие плагины требуют по привычке ffmpeg. Поэтому давайте рассмотрим несколько способо установки этого замечательного пакета.
Read more... )
https://www.assetbank.co.uk/support/documentation/install/ffmpeg-debian-squeeze/ffmpeg-debian-jessie/
https://horhul.me/2016/02/ffmpeg-установка-на-debian-gnulinux-8-jessie/
http://www.k-max.name/linux/upravlenie-programmnym-obespecheniem-v-linux/
https://habrahabr.ru/post/130868/


поскольку с флешем у 32 битного chromiuma беда, выполняем следующие действия:



после того как остановится написав:
libpepflashplayer.so
manifest.json

скопировать и вставить это:



нажать ENTER и Ctrl+C (закончить ввод и выйти)
затем в консоль вставить это:



перегрузить chromium введя в адресную строку
chrome://restart
затем посмотреть плагины:
chrome://plugins/
chrome://flash/


адрес для загрузки смотрится с помощью CurlWget на странице загрузки Adobe Flash Player
или
https://helpx.adobe.com/flash-player/kb/archived-flash-player-versions.html

https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_sa_linux.x86_64.tar.gz





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

ознакомиться
Ошибки
https://askubuntu.com/
https://askubuntu.ru/
https://ask-ubuntu.ru/

grub
Grub2 не обнаруживает раздел btrfs



если grub rescue
ls
set root=hd0,1
linux /boot/vmlinuz root=/dev/sda1 ro
initrd /boot/initramfs.img
boot


root не видит программ в sbin
echo "export PATH=$PATH:/sbin:/usr/sbin" >> /root/.bashrc

заодно, если нет, в $HOME/.bashrc
export PATH="$HOME/bin:$HOME/.local/bin:$PATH"

зависает намертво

проверить хватает ли питания материнке:
вытащить клаву и подвигать мышку

затем отключить аппаратное ускорение в хроме
Откройте «Настройки» Google Chrome.
нажмите «Показать дополнительные настройки».
В разделе «Система» отключите пункт «Использовать аппаратное ускорение

удалить nouveau (если глючит видеокарта и поставить пропиетарный)
sudo aptitude install ubuntu-restricted-extras
lspci -k | grep -EA2 'VGA|3D'
lspci -vnn | grep -i VGA
ubuntu-drivers devices
sudo ubuntu-drivers autoinstall
или через
sudo add-apt-repository ppa:graphics-drivers/ppa

Проверка состояния жесткого диска
Проверка состояния жесткого диска
проверить диск на бедблоки
sudo fdisk -l
sudo umount /dev/sda

https://man7.org/linux/man-pages/man8/badblocks.8.html
https://www.opennet.ru/man.shtml?topic=badblocks&category=8&russian=0
sudo badblocks -vn /dev/sda -o ~/bad_sectors.txt
sudo badblocks -sv /dev/sda

sudo badblocks -w -svb4096 /dev/sda
не применяйте параметр -w на устройстве, которое содержит используемую файловую систему. Этот параметр приводит к уничтожению информации на диске

sudo fsck -f -c /dev/sda
sudo e2fsck -cfpv /dev/sda
sudo apt install smartmontools
sudo smartctl –info /dev/sde
sudo smartctl -s on -a /dev/sde
sudo smartctl -H /dev/sda
sudo smartctl -iHA /dev/sdb           # Посмотреть данные SMART
sudo smartctl -t long /dev/sdb        # запуск теста
sudo smartctl -l selftest /dev/sda    # посмотреть как выполняется
sudo smartctl -a /dev/sdb

Наиболее важные атрибуты отмечены как pre_fail в колонке TYPE.
1 Raw_Read_Error_Rate — количество ошибок чтения. На дисках Seagate и Samsung большие значения - норма.

2 Spin_Up_Time — время раскрутки диска из состояния покоя до рабочей скорости. Растет при износе диска.

5 Rellocated Sector Count — количество переназначенных секторов. Если диск обнаружил ошибку чтения/записи он перенесет сектор в резерв. Чем меньше значение, тем лучше.

7 Seek Error Rate — частота ошибок при позиционировании блока магнитных головок. Чем их больше, тем хуже состояние механики или поверхности жёсткого диска.

196 Rellocation Event Count - число операций переназначения. Raw Value хранит общее число попыток переноса информации с переназначенных секторов в резервную область как успешных так и провальных.

sudo apt install safecopy
sudo safecopy /dev/sda /home/
lsblk -Df
sudo hdparm -i /dev/sdb1 | grep -i Fw
systemctl status fstrim.timer


работа с LVM томами

не пускает при авторизации (через lightdm)
залогинится в виртуальной консоли и удалить файлы
rm ~/.ICEauthority ~/.Xauthority

если сессия заблокирована
loginctl list-sessions
sudo loginctl unlock-session [id]

Регулировка яркости ноута в убунте, если отлетели Fn

Если пропало поле ввода для быстрого поиска в Synaptic

sudo aptitude install apt-xapian-index
sudo update-apt-xapian-index -vf

ошибки обновления и установки пакетов
Как исправить ошибку «E: Sub-process /usr/bin/dpkg returned an error code (2)»
Для начала попробуйте выполнить следующие команды:
sudo rm /var/lib/dpkg/available
sudo touch /var/lib/dpkg/available
sudo sh -c 'for i in /var/lib/apt/lists/*_Packages; do dpkg --merge-avail "$i"; done'

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

sudo dpkg --configure -a
sudo apt -f install
sudo apt clean
sudo apt update && sudo apt-get upgrade

Если и это не помогло, то присмотритесь внимательно к ошибке — упоминается ли в ней имя какой-либо программы (пакета)? Если да то перейдите в директорию /var/lib/dpkg/info
cd /var/lib/dpkg/info

Теперь удалите файлы ПАКЕТА, который вызывает ошибку:
sudo rm ПАКЕТ*

Вновь запускаем команду исправления:
sudo apt install -f && sudo dpkg --configure -a

Затем устанавливаем пакет по новой.
Если проблема по-прежнему осталась, то запускаем команду в режиме отладки и смотрим на выводимые сообщения:
sudo DEBCONF_DEBUG=developer apt install -f

"Не удалось получить доступ к файлу блокировки /var/lib/dpkg/lock"
sudo apt install psmisc (нужно установить ДО этого случая)
sudo fuser -vki /var/lib/dpkg/lock

                     ПОЛЬЗ-ЛЬ    PID ДОСТУП КОМАНДА
/var/lib/dpkg/lock:  root       4581 F.... dpkg
Завершить процесс 4581? (y/N) Y



кракозябры в консоли

sudo dpkg-reconfigure console-setup
выбрать Terminus 8x16
https://mnorin.com/console-cyrillic-i-systemd-v-debian.html
Ubuntu. Русификация консоли в 2016 году

помогло
https://www.linux.org.ru/forum/general/13535609

nano /etc/systemd/system/multi-user.target.wants/console-setup.service
Изменить

ExecStart=/lib/console-setup/console-setup.sh
на
ExecStart=/bin/setupcon

\u043d\u0430\u0439\u0434\u0435\u043d\u0430 в консоли

https://forum.ubuntu.ru/index.php?topic=301157.0
mcedit /etc/default/console-setup

конфиг
ACTIVE_CONSOLES="/dev/tty[1-6]"

CHARMAP="UTF-8"

CODESET="CyrSlav"
#FONTFACE="TerminusBold"
FONTFACE="VGA"
FONTSIZE="8x16"

VIDEOMODE=


apt-get install language-pack-ru
locale
locale -a
localectl
vi /etc/locale.gen
locale-gen

mcedit /etc/default/locale

конфиг
LANG="ru_RU.UTF-8"
LANGUAGE="ru:en"


испробованное

Русификация

dpkg-reconfigure locales
dpkg-reconfigure console-setup
dpkg-reconfigure keyboard-configuration

«Cyrillic — Slavic languages (also Bosnian and Serbian Latin)»

набрать в консоле cyr

в /etc/rc.local написать setupcon в отдельной строке до exit 0

http://help.ubuntu.ru/wiki/russian_font_in_console
echo 'FRAMEBUFFER=Y' >> /etc/initramfs-tools/initramfs.conf

_________________________________

sudo nano /etc/crontab
@reboot root setupcon --force

apt install console-cyrillic
-------------------------------------
https://help.ubuntu.ru/wiki/russian_font_in_console
https://mycyberuniverse.com/ru/linux/krakozyabryi-v-konsoli-ubuntu-debian.html


кракозябры в zip-архивах debian и ubuntu
file-roller кракозябры лечение:
sudo add-apt-repository ppa:hanipouspilot/file-rolle

зависание fvwm-menu-desktop во время создания меню и сбой с исключением python при использовании --get-menus
ValueError: Name node can't be used with "'True'" constant
https://gitlab.freedesktop.org/xdg/pyxdg/-/commit/9b913229ace838958e51a16cabc41905a2460f7b
Начиная с Python 3.8.4, когда ast.Name экземпляр создается с помощью True, Falseи None, возникает ошибка ValueError [1][2]

xfce блокировка экрана нельзя ввести пароль
https://bugzilla.redhat.com/show_bug.cgi?id=1955993
В сеансе Xfce одновременное использование xscreensaver и xfce4-screensaver может привести к тому, что экран блокировки xfce4-screensaver не будет принимать ввод пароля.
нужно удалить что нибудь из них

xfce при нажатии на Terminal вызывается окно с хренью, вместо терминала
виноват exo-open --launch TerminalEmulator а точнее zutty, который вызывался им
sudo update-alternatives --config x-terminal-emulator

криво стартует teamviewer
sudo systemctl stop teamviewerd.service
sudo systemctl mask teamviewerd.service
(впрочем mask не нужно: достаточно перезапустить демона)

не запустить xinit в tty
usermod -aG audio,video,tty,input пользователь

sudo dpkg-reconfigure xserver-xorg-legacy
выбираем "кто угодно" (если надо запуск через xrdp), или пользователь

https://wiki.archlinux.org/title/Xorg_(Русский)
чтобы запустить X через xinit
vi /etc/X11/Xwrapper.config
allowed_users=anybody
needs_root_rights=yes

после xrdp сессии
если возникает ошибка невозможно получить доступ к '/home/пользователь/thinclient_drives': Отказано в доступе
то sudo umount -f thinclient_drives
после этого вы должны переименовать thinclient_drives в .thinclient_drives

vi (m) /etc/xrdp/sesman.iniфайл.
В [Chansrv] добавить: FuseMountName=/tmp/%u/thinclient_drives
Выйдите из системы и войдите снова. Теперь thinclient_drives будут смонтированы /tmp/{uid}/thinclient_drives.
Можно rmdir thinclient_drives в своем хомедире.

ошибка при запуске с sudo или su
"Не удалось подключиться к: В соединении отказано Ошибка инициализации GTK."
вбить
xhost si:localuser:root
после
sudo программа

ругается JAVA
The JAVA_HOME environment variable is not defined
лечение в файл запуска программы или ~/.profile
export JAVA_HOME=$(readlink -f $(dirname $(readlink -f $(which java) ))/../)

посмотреть что ещё в автозагрузке
systemctl list-units --type service --all – отображение статуса всех сервисов
Шпаргалка по управлению сервисами CentOS 7 с systemd

тормозит запуск консоли

1) посмотреть что в
~/.bashrc
~/.profile
/etc/profile
/etc/bash.bashrc

2) терминал может тормозить если машина не прописана у себя в /etc/hosts, /etc/hostname

3) сделать tail -f ~/.xsession-errors, ошибки убрать

4) если после установки nvm будет тормозить запуск терминала (Node.js Version Control), то нужно закоментировать в .bashrc строки

export NVM_DIR="/home/пользователь/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

и снимать коментарий только когда нужна node

5) если после установки pyenv подтормаживает, то заккоментить в .bashrc строки

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

снять, когда нужен pyenv и перезапустить оболочку
$ exec "$SHELL"

6) если это не локальная машина, то sudo apt-get install conspy


ругань dmesg

dmesg | egrep -i --color 'errors|critical|failed'

Error: Driver 'pcspkr' is already registered, aborting
отключить загрузку драйвера системного динамика PC Speaker.
Для этого необходимо добавить запрет на загрузку в файл /etc/modprobe.d/fbdev-blacklist.conf:
blacklist pcspkr
либо можно тоже самое сделать в файле /etc/modprobe.d/blacklist:
blacklist snd-pcsp
При следующей загрузке, данного сообщения больше не будет.

Error “User limit of inotify watches reached”
you system is not configured with enough inotify watches, this means we will be unable to track file system changes, and some features may not work. We can attemp to increase the limit from 8192 to 65536 for you. the requires root permission
https://stackoverflow.com/questions/47075661/error-user-limit-of-inotify-watches-reached-extreact-build
cat /proc/sys/fs/inotify/max_user_watches
If you are running Debian, RedHat, or another similar Linux distribution, run the following in a terminal:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
If you are running ArchLinux, run the following command instead (see here for why):
echo fs.inotify.max_user_watches=524288 | sudo tee /etc/sysctl.d/40-max-user-watches.conf && sudo sysctl --system

Программы, синхронизирующие файлы, такие как dropbox, git и т. Д., Используют inotify, чтобы замечать изменения в файловой системе. Предел можно увидеть по -

cat /proc/sys/fs/inotify/max_user_watches
Если этого предела недостаточно для отслеживания всех файлов внутри каталога, его необходимо увеличить, чтобы Listen работал правильно.

Вы можете установить новый временный лимит с помощью:

$ sudo sysctl fs.inotify.max_user_watches=524288
$ sudo sysctl -p
Если вы хотите сделать свой лимит постоянным, используйте:

$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
$ sudo sysctl -p
Вам также может потребоваться обратить внимание на значения max_queued_events и max_user_instances, если Listen продолжает жаловаться.

root не умеет в sbin и tab
vim /root/.profile



/root/.bashrc




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

Alt + SysRq + B. Равнозначно нажатию кнопки Reset. Нежелательно, ибо высока вероятность потерять несохранённые данные.
https://eax.me/linux-kernel-debug/
sudo sh -c 'echo b > /proc/sysrq-trigger' # reboot
Alt + SysRq + O. Выключает систему корректным образом.
Alt + SysRq + S. Синхронизует систему. Если выполнить перед первой командой, то можно не бояться за данные.
Alt + SysRq + K. Перезагружвет графическую оболочку. Выполнять, если всё зависло и не отвечает.
Alt + SysRq + R. Если не хочешь перезагружать иксы, отвиснет твою мышку и клавиатуру.
Alt + SysRq + H. Выводит вышеуказанные и все прочие доступные команды.


моник
https://www.nvidia.com/en-us/drivers/unix/legacy-gpu/

X11
ls /dev/dri/
ls -l /sys/class/drm/renderD*/device/driver
ls -l /sys/class/drm/card0/device/driver

libinput
https://www.linux.org.ru/forum/general/13866425
Как запретить X-серверу использовать для обработки событий ввода драйвер libinput?
Или как указать X-серверу использовать для обработки событий ввода драйвер libinput?



ls /dev/dri/
ls -l /sys/class/drm/renderD*/device/driver
ls -l /sys/class/drm/card0/device/driver

если
UnloadModule: "libinput"
ls -l /sys/class/drm/card0/device/driver


HDR
Как включить 10-битную глубину цвета в Linux (и нужно ли включать 30-битный цвет)
определить количество цветов (бит на пиксель) в X11
xwininfo -root | grep Depth

поддерживаемые значения разрядности для корневого окна:
xdpyinfo | grep depths

Для включения 30-битной глубины цвета в Linux достаточно в конфигурационный файл в директории /etc/X11/xorg.conf.d/ добавить строку:
"DefaultDepth 30"

для интегрированной графики Intel или AMD, создайте файл /etc/X11/xorg.conf.d/30-screensetup.conf:
sudo vim /etc/X11/xorg.conf.d/30-screensetup.conf




Для графики NVIDIA создайте файл xorg.conf следующей командой:
sudo nvidia-xconfig
Откройте файл xorg.conf командой
sudo vim /etc/X11/xorg.conf
Пролистните вниз файла и найдите цифру '24' в разделе «screen». Замените все найденные '24' на '30'.
Сохраните файл и перезагрузите компьютер

xwininfo -root | grep Depth
Теперь глубина цвета равноа 30:
Depth: 30

xdpyinfo | grep depths
Вместо 7, теперь показано 8 поддерживаемых значений глубины цвета, причём используется 30-битная глубина:
depths (8): 30, 1, 4, 8, 15, 16, 24, 32

Google Chrome серый при включении 10-битного цвета
chrome://flags
флаг «Force color profile» «Display P3 D65»

На что нужно обращать внимание при покупке телевизора (монитора) для HDR

мыльные шрифты
https://tehnojam.pro/category/software/delaem-krasivye-shrifty-s-novym-freetype2-v-linux.html
sudo nano /etc/profile.d/freetype2.sh
Раскоментируем и выставляем: truetype:interpreter-version=38
("Infinality" subpixel mode)

тиринг

sudo mkdir -p /etc/X11/xorg.conf.d/
sudo nano /etc/X11/xorg.conf.d/20-intel.conf

вставить текст в файл
Section "Device"
   Identifier  "Intel Graphics"
   Driver      "intel"
   Option      "TearFree"    "true"
EndSection



Debian. Два монитора.

сенсорный экран
калибровка сенсорного экрана raspberry pi и поворот экрана
Сенсорный экран перевернут
DIALOGUE INC PenMount USB неправильная калибровка сенсорного экрана
Как установить и откалибровать сенсорный экран PenMount в IVI Tizen Linux?

cat /sys/class/input/event*/device/name
xinput_calibrator --list
xinput --list
xinput_calibrator -v --device номер_устройства

перевернуть на 180
Option "TransformationMatrix" "-1 0 1 0 -1 1 0 0 1"

вместо установки пропиетарщины или удаления xserver-xorg-input-libinput достаточно добавить Driver "evdev" в
/etc/X11/xorg.conf.d/99-calibration.conf




lenovo
Вход в биос (UEFI) по HDMI
Нужно изменить в биос режим загрузки компьютера Fast Boot на Legasy Support, выйти с сохранением настроек

чтобы lenovo не включался при поднятии крышки ноутбука
во вкладке в "BIOS Setup" в меню "Configuration" пункт "Flip to Boot" изменить на "Disabled".

разрешение экрана в tty


wifi & bluetooth

узнаём имя беспроводного интерфейса:
iw dev
активируем, если погашен
sudo ip link set ИНТЕРФЕЙС up
сканирование сетей:
sudo iw dev ИНТЕРФЕЙС scan -u

https://wiki.archlinux.org/title/Bluetooth_(Русский)
https://sites.google.com/site/grabliubuntu/networking/wi-fi-nastrojki
https://debianforum.ru/index.php?topic=5874.0
https://wiki.debian.org/rtl819x
http://www.adminia.ru/nastroyka-wi-fi-v-linux-debian/
Настраиваем Bluetooth в Linux
Настройка Bluetooth в Linux
https://discussion.fedoraproject.org/t/bluethooth-ramdomly-fails/74804
https://askubuntu.com/questions/1168123/how-do-i-get-my-bluetooth-device-working
Памятка по Wi-Fi в Linux: подсказки и решение проблем
Виртуальные Wi-Fi интерфейсы для одновременного использования Wi-Fi адаптера в разных режимах
Как сделать Wi-Fi без роутера в Linux

iwlist wlan0 scan
aptitude search firmware
apt-get install firmware-linux-free firmware-linux-nonfree firmware-realtek wireless-tools broadcom-sta-dkms wpasupplicant
в биосе включить wifi ?
если слетел wi fi
sudo service network-manager stop
sudo rm /var/lib/NetworkManager/NetworkManager.state
sudo service network-manager start
reboot

bluetooth
https://wireless.wiki.kernel.org/en/users/drivers
lsusb -t
rfkill
hciconfig
hciconfig -a
hciconfig -a hci0
lspci | grep Network
dmesg | grep Bluetooth
sudo apt install rtl8821ce-dkms
apt install bluetooth pulseaudio-module-bluetooth bluez-tools blueman

если blueman-manager не видит устройств:
sudo rfkill block bluetooth;sudo rfkill unblock bluetooth;sudo systemctl restart bluetooth.service

lsusb
lspci -k
hcitool dev
lsmod | grep -i blue
journalctl -f
journalctl --grep=hci0
journalctl -u bluetooth
bluetoothctl show
systemctl restart bluetooth
bluetoothctl
scan on
blueman-manager
btmon
hcitool scan
hciconfig hci0 piscan
hciconfig -a
hciconfig hci0 up
hciconfig hci0 name
bluetoothctl list
hcitool dev
hciconfig hci0 reset
invoke-rc.d bluetooth restart
rfkill unblock bluetooth
modprobe --show-depends bluetooth
hostnamectl

modprobe -r btusb && modprobe btusb
sudo btmon -w /dev/shm/trace.log

https://gist.github.com/andrebrait/961cefe730f4a2c41f57911e6195e444
Disable Autosuspend for USB Bluetooth dongles
echo "options btusb enable_autosuspend=n" | sudo tee /etc/modprobe.d/btusb_disable_autosuspend.conf
sudo update-initramfs -u
sudo modprobe -r btusb
sudo modprobe btusb
sudo systemctl restart bluetooth
sudo rfkill block bluetooth;sudo rfkill unblock bluetooth;sudo systemctl restart bluetooth.service

modprobe -r btusb && modprobe btusb
systemctl restart bluetooth
hciconfig hci0 reset


[Testing - Bookworm] Bluetooth problems - Failed to load Intel firmware file intel/ibt-0040-0041.sfi

$ hcitool dev
## to see if the Device was detected

$ hcitool scan
## to see if the Device is able to do anything, got an error:
Device is not available: No such device

# hciconfig hci0 up
## to power on the device, got an error:
Can't init device hci0: Device or resource busy (16)

# hciconfig hci0 piscan
Can't set scan mode on hci0: Network is down (100)

# hciconfig hci0 reset
Can't init device hci0: Device or resource busy (16)

https://anduin.linuxfromscratch.org/sources/linux-firmware/intel/
find /usr -name 'ibt-0040-0041.sfi'

сработало
git clone https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
cd linux-firmware
sudo make install
если ругается на дубликаты
sudo ./copy-firmware.sh /lib/firmware --ignore-duplicates
update-initramfs -uk all

не видит usb wifi RTL8188GU

установить ядро ​​​​Linux 6.3 со встроенной поддержкой RTL Wi-Fi
https://xanmod.org/
Help installing driver of RTL8188GU USB wifi adapter
Как установить последние версии ядра Linux в Debian и основанные на Debian дистрибутивы

wget -qO - https://dl.xanmod.org/archive.key | sudo gpg --dearmor -o /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 вам следует изменить номер версии после v на номер вашего процессора.
глянь сюда https://en.wikipedia.org/wiki/List_of_Intel_CPU_microarchitectures

перезагрузить
Теперь ваш Wi-Fi должен обязательно работать. Можно попробовать и другие методы, но этот обязательно сработает.


nmcli
iwconfig
lsusb -t
lspci -knn | grep Net -A3; rfkill list

https://launchpad.net/~kelebek333/+archive/ubuntu/kablosuz

https://devicetests.com/fix-rtl8188gu-wireless-usb-adapter-ubuntu
sudo apt-get install build-essential git dkms
git clone https://github.com/McMCCRU/rtl8188gu.git
cd rtl8188gu
make
sudo make install

проверка после ребута



после каждого обновления ядра следует переустанавливать rtl8188gu

nmcli dev wifi rescan
nmcli dev wifi
nmcli -f ALL dev wifi
nmcli -m multiline -f ALL dev wifi
nmcli -t -f ALL dev wifi

iwconfig
iw dev ИНТЕРФЕЙС scan

iwlist scan

https://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?t=2747
https://onedev.net/post/916
lsusb -vd 0bda:b711

Переключение режима USB модема из Mаss Storage в GSM modem в Linux
usb_modeswitch -W -v 0bda -p b711 -H

перезагрузить usb
sudo /usr/sbin/usb_modeswitch -W -v 0bda -p b711 -R

Загрузить драйвер модема и detach накопитель
sudo modprobe usbserial vendor=0x0bda product=0xb711
--------------------------------------------------------

https://losst.ru/nasrojka-wifi-v-ubuntu
https://wiki.debian.org/rtl819x
https://wireless.wiki.kernel.org/en/users/drivers
rfkill unblock wlan

nano /etc/apt/sources.list
deb http://httpredir.debian.org/debian/ stretch main contrib non-free
apt-get update && apt-get install firmware-realtek
apt install net-tools broadcom-sta-dkms

lspci | grep Network
iwlist scan

systemctl restart NetworkManager


COM порт в debian

Звук
pactl list sinks

lspci -v
lspci -k | grep -i -A2 "multimedia\|audio"
cat /proc/asound/cards
cat /proc/asound/card*/codec* |grep Codec
cat /proc/asound/modules
cat /proc/asound/card0/id
cat /proc/asound/pcm
arecord -l
aplay -L

https://www.alsa-project.org/main/index.php/SoundcardTesting
http://avreg.net/manual_applications_audio2tcp.html
arecord -vv -fdat foo.wav # или просто arecord foo.wav
aplay -vv foo.wav # aplay foo.wav

послушать как поёт ядро
cat /boot/vmlinuz-4.15.0-32-generic | aplay

вариант
chmod 755 /dev/dsp*
chmod 755 /dev/audio*
chmod 755 /dev/mixer*
chmod 777 /dev/snd/*
но лучше
usermod -a -G audio,video,disk,cdrom,floppy,plugdev,dialout,sambashare,lpadmin,scanner,sudo,shutdown пользователь
или
gpasswd -a пользователь audio

http://unixforum.org/index.php?showtopic=139114
В консоли alsamixer - и посмотреть, включен ли звук (кнопка M - mute), по умолчанию у меня Дебиан звук отключает.

Если включен, а звука снова нет (или звук появляется, но после перезагрузки снова mute), то я бы установил pavucontrol pavumeter и посмотрел в "Регулятор громкости Pulseaudio" вкладка "Конфигурация" - какие там есть устройства звука. Оставил бы одно, нужное, остальные бы отключил. Обычно это решает все проблемы.

решилось:
apt-get purge pulse*
apt-get autoremove
apt-get install apulse

https://launchpad.net/~kirillshkrogalev/+archive/ubuntu/apulse
http://linuxnow.ru/view.php?id=115
http://computing.help.inf.ed.ac.uk/alsa-mixer
https://wiki.archlinux.org/index.php/Advanced_Linux_Sound_Architecture_(Русский)
http://linuxoidblog.blogspot.ru/2015/06/pulseaudio.html

systemctl status alsa-state alsa-restore alsa-store
alsactl store

не сохраняются настройки alsamixer
виноват pulseaudio, рыть тут /usr/share/pulseaudio/alsa-mixer/paths/

если pulsaudio захлёбывается
https://2ch.hk/s/res/2424741.html#2427317
cp /etc/pulse/daemon.conf /etc/pulse/daemon.conf_old
sudo nano /etc/pulse/daemon.conf

И добавляем в конец:
resample-method = src-sinc-best-quality
default-sample-format = s24le
default-sample-rate = 96000
После чего рестартуем PuleAudio:
pulseaudio -k
pulseaudio --start

InitAudi: Cannot open OSS audio device /dev/dsp
sudo apt-get install pulseaudio
sudo apt-get install libpulse-dev
sudo apt-get install osspd

wget -qO - http://radio.goha.ru:8000/grindfm.ogg |ffmpeg -i - -f u8 -ac 1 -ar 8000 -> /dev/dsp

https://www.opennet.ru/openforum/vsluhforumID3/120480.html#52
pactl list sinks
device.buffering.buffer_size (параметр)
https://wiki.archlinux.org/index.php/PulseAudio_(Русский)/Troubleshooting_(Русский)#Глюки,_пропуски_или_потрескивания
Не работает микрофон в Linux (РЕШЕНО)


Чем слушать музон

apt-cache search audio player
apt-cache search video player

deb http://www.deb-multimedia.org jessie main non-free
deb-src http://www.deb-multimedia.org jessie main non-free
apt-get install deb-multimedia-keyring

FFmpeg - установка на Debian GNU/Linux 8 (Jessie)
Восстановление видео файлов
ffmpeg -y -i input.avi -codec:v copy -codec:a copy output.avi

видеоплеер Parole не показывает видео

MPD решил не ставить (захотелось чего полегче)
https://uzverss.livejournal.com/tag/mpd
поставил moc
http://help.ubuntu.ru/wiki/mocp
http://tdkare.ru/sysadmin/index.php/Moc
sudo apt-get install moc moc-ffmpeg-plugin
(Выбрать тему mocp можно комбинацией клавиш Shift+T)
и управлялку в трее
https://bitbucket.org/blaze/exo
apt-key adv --recv-keys --keyserver pgp.mit.edu 1A723A3BC08FD054
удалил кракозябры в плейлисте
https://uzverss.livejournal.com/75287.html

sudo apt-get install python-mutagen
find ./ -iname "*.mp3" -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1 -d

FFmpeg - установка на Debian GNU/Linux 8 (Jessie)


звонки по телефону
apt-get install sflphone-gnome
или
http://www.zoiper.com/en/voip-softphone/download/zoiper3

принтер
1) печатаю отчёт о конфигурации
2) sudo apt install system-config-printer
3) подключаюсь по wifi к сети принтера, для этого нужен "Секретный код" из отчёта
4) вхожу на вебморду и подключаю принтер к локальной wifi сети, настраиваю Сетевой интерфейс SSID пароль и тд
5) захожу в браузере на вебморду по сетевому адресу, если в firefox возникает ошибка SSL_ERROR_UNSUPPORTED_VERSION то в about:config у security.tls.version.enable-deprecated поставить true


Сканер
http://www.sane-project.org/sane-mfgs.html
http://tdkare.ru/sysadmin/index.php/Сканирование_в_linux

sudo apt-get install sane-utils xsane
sudo gpasswd -a пользователь scanner

перелогиниться и проверить
groups

sudo echo "айпи_адрес_сканера" >> /etc/sane.d/net.conf

nano /etc/sane.d/dll.conf добавить net если там нету

проверить доступность сканера
scanimage -Lq


Настройка самбы

Монтирование устройств Android в Ubuntu
https://www.opennet.ru/tips/2724_mtp_android_mount_linux_disk.shtml

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

sudo apt install libmtp9 fuse gvfs gvfs-fuse gvfs-backends gmtp mtp-tools jmtpfs

sudo apt-get install go-mtpfs
Для монитрования раздела вручную следует использовать команду:
go-mtpfs /media/MyAndroid

Для отмонтирования:
fusermount -u /media/MyAndroid

Определение устройства:
mtp-detect

графический клиент
sudo apt-get install gmtp


Ждущий режим
apt-get install acpi-support

sudo nano /etc/default/grub
GRUB_CMDLINE_LINUX="initrd=/install/initrd.gz resume=/dev/sdaX"
#(где /dev/sdaX - swap, fdisk -l его покажет)
sudo grub-mkconfig -o /boot/grub/grub.cfg

https://wiki.archlinux.org/index.php/Pm-utils

https://wiki.archlinux.org/index.php/Systemd_(Русский)
systemctl poweroff
systemctl reboot
systemctl suspend
systemctl hibernate
systemctl hybrid-sleep

Почему в Linux отсутствует режим Гибернация (Hibernate)
Для того, чтобы появилась опция Гибернация (Hibernate) необходимо создать файл подкачки или увеличить его размер, сделав равным или большим, чем оперативная память компьютера.


Частая парковка жёсткого диска
sudo hdparm -S 0 -B 254 /dev/sda

https://uzverss.livejournal.com/76004.html


настройка Thunar

вот ещё годный файловик

https://doublecmd.sourceforge.io/

Пересобираем mc с поддержкой samba

виртуалка
sudo apt-get install virt-manager
в зависимости что в cat /etc/group
sudo usermod -aG libvirtd `id -un`
sudo usermod -aG libvirt `id -un`
sudo virsh net-start default
http://download.virtualbox.org/virtualbox/
sudo apt install qemu-system-x86

Особенности при установки qemu в Debian 11

https://propk.ru/virt-manager-debian-10/
apt -y install qemu libvirt-daemon bridge-utils virtinst libvirt-daemon-system
apt -y install libguestfs-tools libosinfo-bin qemu-system virt-manager
виртуальная сеть не активна ‘default’.
sudo virsh net-list --all
sudo net-start default
sudo virsh net-destroy default
https://dondub.com/2023/01/zapusk-kvm-na-debian-11/
virsh net-autostart default


автодополнение c sudo
apt install bash-completion

vi /root/.bashrc





устанавливаем быстрый поиск в synaptic
sudo apt-get install apt-xapian-index
sudo update-apt-xapian-index -vf

поскольку в Debian 8 /etc/enviroment пуст и смысла писать туда нет,
то для того чтобы в xfce4 добавить в $PATH каталог $HOME/bin нужно:
sudo nano /etc/xdg/xfce4/xinitrc

после
#!/bin/sh

вписать



http://superuser.com/questions/597291/xfce-lightdm-startup-configuration-files

хотя проще и полезней сделать так:





gksu
https://askubuntu.com/questions/1042344/i-need-an-equivalent-of-gksu-in-18-04
https://www.linux.org.ru/forum/general/14219796
https://www.linux.org.ru/forum/development/14138707
поскольку gksu теперь "устаревший" то используем pkexec, qsudo (надо собирать) или делаем скрипты

#!/bin/sh
bash -c 'sudo -i /каталог/программа;' $@

#!/bin/sh
exec su-to-root -X -c x-terminal-emulator -e sh -c /каталог/программа

#!/bin/sh
zenity --title="zenity sudo" --password | sudo -S /каталог/программа $@

пока лучший вариант:
#!/bin/sh
alias gksu='pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY'
gksu $HOME/lib/каталог/программа $@



настройка qt5
/etc/X11/Xsession.d/56xubuntu-session
# Set default environment vars in Xubuntu
if [ "$DESKTOP_SESSION" = xubuntu ]; then
    # Disable GTK 3.16 overlay scrollbars
    export GTK_OVERLAY_SCROLLING=0
    # QT5 apps to use GTK style
    export QT_QPA_PLATFORMTHEME=gtk2
    # Workaround clutter issue (LP: #1462445)
    export CLUTTER_BACKEND=x11
fi

в ubuntu 18.04
sudo apt install qt5ct
sudo echo "export QT_QPA_PLATFORMTHEME=qt5ct" >> /etc/profile
source /etc/profile
или
sudo echo "export QT_QPA_PLATFORMTHEME=qt5ct" >> /etc/environment
source /etc/profile
qt5ct

https://launchpad.net/~nilarimogard/+archive/ubuntu/webupd8/+packages?field.name_filter=qt5ct&field.status_filter=published&field.series_filter=
устанавливаем версию, в которой совпадает версия пакета libqt5core5a с нашим дистром

для debian 8 нужно над пакетом поработать: распаковать, удалить в control зависимость qtbase-abi и собрать заново

$ sudo chown -R root:root qt5ct_0.20-1-webupd8-trusty2_i386
$ fakeroot dpkg-deb --build qt5ct_0.20-1-webupd8-trusty2_i386

проверить сборку
$ lintian qt5ct_0.20-1-webupd8-trusty2_i386.deb

результат для 32bit и для 64bit

и поставить перед установкой humanity-icon-theme


раскладка клавы
/etc/default/keyboard
XKBMODEL="pc105"
XKBLAYOUT="us,ru"
XKBVARIANT=","
XKBOPTIONS="grp:alt_shift_toggle,grp_led:scroll"
BACKSPACE="guess"


рецепт по шрифтам
http://linuxoidblog.blogspot.ru/2015/06/debian-8-jessie.html

прочие твики
http://linuxoidblog.blogspot.ru/2015/12/blog-post_17.html

вебкамера
apt install v4l2ucp
apt install --no-install-recommends camorama
apt install --no-install-recommends cheese
guvcview -d /dev/video0
mplayer tv:// -tv driver=v4l2:width=640:height=480:device=/dev/video0 -fps 30
ll /dev/video1
gpasswd -a пользователь video
fuser /dev/video0
chown root:video /dev/video1
chmod g+rw /dev/video1
hwinfo --usb
lsusb
ls -l /dev/ |grep video

ip камера
Аудит безопасности IP камер
Анализ и разбивка составных файлов (прошивки, образы дисков)

https://github.com/prsyahmi/v380
https://github.com/Arkady23/V380-Web
V380 Camera RTSP/HTTP/Telnet enable / Включение RTSP/HTTP/Telnet на камере V380
https://4pda.to/forum/index.php?showtopic=759619&st=460#entry106980824



скриншот
скриншоты в иксах и консоли, запись терминальной сессии, разрешение экрана в tty
sleep 5 && import -window root img3.png


подходящий редактор
Настройка Sublime Text для работы через прокси
делаем vim удобным

свежий php

часть рецептов можно взять отсюда:
ubuntu 16.04 и напильник

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

Настройка VPN
uzverss Бесплатный VPN сервер, клиент, и тд
http://www.vpngate.net/en/ список бесплатных VPN серверов
команды
$ wget https://git.io/vpn -O openvpn-install.sh
$ sudo apt install openvpn
$ sudo bash openvpn-install.sh
$ sudo openvpn --config /etc/openvpn/client.ovpn
$ sudo service openvpn start
$ sudo /etc/init.d/openvpn start

https://unix.stackexchange.com/questions/292091/ubuntu-server-16-04-openvpn-seems-not-to-start-no-logs-get-written
systemctl start openvpn@server.service
systemctl enable openvpn@server.service


поддержка L2TP IPSEC VPN
работающий рецепт, под debian 8
https://soeasytomakeitwork.wordpress.com/2014/05/02/set-up-a-l2tpipsec-vpn-connection-on-ubuntu-desktop/

работающий рецепт, под ubuntu 18.04
https://20notes.net/linux/setup-l2tp-over-ipsec-client-on-ubuntu-18-04-using-gnome/
https://help.vpntunnel.com/support/solutions/articles/5000782608-vpntunnel-l2tp-installation-guide-for-ubuntu-18-04-
https://www.ekzorchik.ru/2018/08/how-to-configure-l2tp-from-under-ubuntu-bionic-desktop/

испробованное
IPSec: Туннель между Mikrotik и Openswan
какие то траблы
http://www.flex.ru/instr/linuxman.html
http://www.jasonernst.com/2016/06/21/l2tp-ipsec-vpn-on-ubuntu-16-04/
http://www.cemada.net/ubuntu-16-04-l2tp-ipsec.php
https://www.servers.ru/knowledge/dedicated-servers/how-to-setup-l2tp-over-ipsec-for-idrac-on-linux-ubuntu-16-04
https://www.elastichosts.com/blog/linux-l2tpipsec-vpn-client/
https://eerie.su/2017/01/настройка-сервера-l2tp-на-vps/
https://launchpad.net/~raharper/+archive/ubuntu/bugfixes
https://www.linux.org.ru/forum/admin/10799069
https://gist.github.com/mietek/4877cd74423bf6925b92
https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/docs/clients.md#linux


с pptp проще
https://wiki.debian.org/ru/pptp-linux
Как настроить VPN с помощью PPTP
https://thesafety.us/ru/vpn-setup-pptp-ubuntu16
https://www.securevpn.pro/rus/setup/linux-pptp-vpn
Доп параметры PPTP
использовать шифрование MPPE
128 bit


DNS
в ubuntu netplan

добавить dns-суффикс
nano /etc/resolv.conf
# DNS suffix
search nameserver.net
nameserver.net xxx.xxx.xxx.xxx
затем
/etc/init.d/networking restart

если стирает dhcpcd то
sudo apt install resolvconf
nano /etc/resolvconf/resolv.conf.d/tail

# DNS suffix
search mydomain
mydomain 185.8.5.19

и затем
resolvconf -u

очитска dns кэша

systemctl restart systemd-resolved.service

в chrome
chrome://net-internals/#dns

https://wiki.archlinux.org/index.php/Resolv.conf

добавление DNS серверов в файл /etc/resolv.conf

sudo apt install resolvconf
echo "nameserver 8.8.8.8" >> /etc/resolvconf/resolv.conf.d/head
/etc/init.d/networking restart
/etc/init.d/network-manager restart


Обработка URI форматов telnet://host для linux

оптимизация файлов SQLITE
sudo aptitude install sqlite3
nano optimizer_sql.sh



chmod +x optimizer_sql.sh


оптимизация gtk2
узнать версию gtk
dpkg -l libgtk2.0-0 libgtk-3-0

nano ~/.gtkrc-2.0
добавить:

gtk-menu-popup-delay = 0
gtk-menu-popdown-delay = 0
gtk-menu-bar-popup-delay = 0
gtk-timeout-expand = 0
gtk-timeout-initial = 0

годная тёмная тема
https://github.com/B00merang-Project/B00merang-Themes
https://github.com/Ferdi265/numix-solarized-gtk-theme
(эта только под gtk2)
https://www.opendesktop.org/p/1015989/
https://www.opendesktop.org/content/show.php/Emerge?content=157362

русификация gtk1

Gtk-WARNING **: Загружаемый модуль тем не найден в > module_path: "pixmap"
sudo apt-get install gtk2-engines-pixbuf

Кэширование символьных таблиц
mkdir ~/.compose-cache


часы в консоли


установить часовой пояс
sudo dpkg-reconfigure tzdata

$ watch -tn1 'date +%r'



изменить текст "совета дня" в виртуальной консоли
vi /etc/motd

Всякие мелкие полезности


развернуть
рецепты
Эта строка убьёт всех зомби
ps -xal | grep defunct | awk '{ system (" kill -9 " $4 ) }'

приостановить выполнение программы CTRL+s продолжить работу программы CTRL+q (это называется XON/XOFF)

Как закрыть терминал без убийства запущенной в нём команды
nohup команда &
или
команда & disown

ссылки
Команды Linux: расширенный cправочник команд Unix
Список полезных и бытовых команд в терминале Linux
Список UNIX/LINUX демонов/служб и их автозагрузка 1 часть
Список UNIX/LINUX демонов/служб и их автозагрузка 2 часть
Восстанавливаем загрузчик Ubuntu с помощью Boot Repair.
монтирование ntfs
Переводите любой выбранный текст с помощью комбинации клавиш и оповещений
Временный swap
Преобразование GPT раздела в MBR
Создание службы systemd на примерах
COM порт в Ubuntu
floppy подключается с правами на запись только для root
Как создавать диалоговые блоки в интерактивных shell скриптах
Краткая памятка по работе с архиваторами из консоли в Linux
Создание deb-пакетов для модулей Python с помощью stdeb
install_tftp_server.sh
почта в консоли mutt и msmtp
как изменить браузер в Thunderbird
как изменить приложения по умолчанию в debian
как скачать видео, которе передаётся как rtmp-поток
установка tor в debian
работа в консоли через прокси (wget и тд)
Копирование Audio CD
Редактируем iso в Ubuntu Linux из консоли
Как стереть перезаписываемый диск из командной строки
конвертирования музыкальной библиотеки
Конвертирование ID3-тэгов в mp3-файлах с кодировки windows-1251 (cp1251) в utf-8
Конвертирование видео G2M3/G2M4
работа с кодировкой файлов
Эквалайзер для MPD
mplayer в консоли
прочесть pdf в консоли
оптимизация pdf
Конвертируем документы в Ubuntu
steghide - тайные послания, внедрить текст в рисунок
видеоплеер Parole не показывает видео
Как убрать шум с аудиозаписи
ubuntu wi-fi сканер HP
как вылечить раскладку в ubuntu 14.04
Ubuntu Server 12.04 LTS и кодировка в консоли
Сброс или изменение пароля Windows с помошью Linux
Массовое переименование в консоли
Поиск файлов в Linux
как найти одинаковые файлы в linux
консоль python в роли командной строки

Ubuntu 20.04 + Openbox | Часть I - Установка с Netboot-образа (mini.iso) системы. Установка оконного менеджера Openbox. Настройка автологина
Ubuntu 20.04 + Openbox | Часть II - Настройка автозапуска программ, разрешения экрана, панели Tint2, установка флагов раскладки клавиатуры, установка обоев

разные проги, линуксовые софтинки




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





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



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



/etc/grub.d/40_custom






долгий старт при логине в 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



отредактировать /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




можно и проще



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



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

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




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



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://wiki.debian.org/Init#Changing_the_init_system_-_at_installation_time
https://devuan.org/

apt clean
apt --download-only install sysvinit-core libpam-elogind
systemctl rescue
apt install /var/cache/apt/archives/*.deb
reboot

работа с 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.




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

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


В моей системе используется файловая система 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)




http://snapshot.debian.org/

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

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

аналог AUR для убунтовых
https://pacstall.dev/
https://github.com/pacstall/pacstall
https://pacstall.dev/packages?page=0&size=25&sortBy=default&sort=asc&filter=&filterBy=name
https://github.com/pacstall/pacstall-programs/tree/master

Ядро


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   

или



или



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

старое


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



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





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



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
содержание:




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




vi $HOME/.config/mimeapps.list




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


свежая либра




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




поставить 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




если в /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 и напильник



Ставим пакеты stdeb и python-all:
$ sudo apt-get install stdeb python-all
Теперь находим архив с нужным нам модулем на pypi.python.org и скачиваем его себе:
$ wget https://pypi.python.org/packages/source/g/grab/grab-0.6.30.tar.gz
Теперь можно заглянуть в документацию на stdeb и посмотреть, как это делается.
Read more... )
http://vladimir-stupin.blogspot.ru/2013/10/deb-python.html
https://pypi.python.org/pypi/stdeb
https://blog.truecrux.org/post/xxxiii


кратко
глянуть пакеты
https://www.debian.org/distrib/packages
http://packages.ubuntu.com/
https://pkgs.org/

содержимое пакетов
https://sources.debian.org/

размер пакетов
apt install debian-goodies
dpigs -n 40 -H

установить набор пакетов
tasksel
установка пакета backports из командной строки
apt-get -t jessie-backports install chromium

установленные пакеты
dpkg --get-selections
dpkg --list
dpkg-query -l '*' | grep '^ii' | awk '{ print $2 }'

все зависимости пакета:
apt-cache showpkg пакет
apt show -a пакет
sudo apt-get install apt-rdepends
sudo apt-rdepends пакет
визуально отобразить
sudo apt-get install graphviz
sudo apt-rdepends -d пакет | dot > пакет.dot
dotty пакет.dot

удалить пакеты с зависимостями:
# apt-get install deborphan
# deborphan | xargs dpkg —purge
# dpkg -l | grep ^rc | awk '{print $2}' | xargs dpkg —purge

сохранить пакеты
sudo apt-get install dpkg-repack
sudo dpkg-repack название_пакета

перечислить все доступные пакеты
apt-cache pkgnames |sort

перечислить все пакеты, начинающиеся с «ПАКЕТ»
apt-cache pkgnames ПАКЕТ

в каком пакете содержится файл
apt-file search ИМЯ-ФАЙЛА
dpkg -S $(which -a ИМЯ-ФАЙЛА)


подробней

Все управление пакетами в Debian происходит с помощью следующих простых команд.

Обновление базы доступных пакетов:
sudo apt-get update

Пакеты можно искать через веб-интерфейс или с помощь команды:
apt-cache search mysql | less

Просмотр дополнительной информации о пакете:
apt-cache show mysql-server

Получения списка доступных версий пакета:
apt-cache madison postgresql

Установка пакета:
sudo apt-get install имя_пакета

… или, в случае всяких там Dropbox, Skype и тп:
sudo dpkg -i dropbox_1.4.0_i386.deb

Переустановка пакета:
sudo apt-get install --reinstall имя_пакета

Даунгрейд или установка определенной версии:
sudo apt-get install имя_пакета=версия

Если не переустанавливается, можно попробовать так (осторожно, временно ломаются зависимости):
sudo dpkg --purge --force-depends имя_пакета
sudo apt-get install имя_пакета

Обновление всех пакетов (с подробностями):
sudo apt-get -V upgrade

Запретить/разрешить обновление конкретного пакета:
sudo apt-mark hold имя_пакета
sudo apt-mark unhold имя_пакета

Посмотреть список пакетов на холде:
sudo dpkg --get-selections | grep hold

Проверка контрольных сумм установленных пакетов:
sudo dpkg --verify

Список установленных пакетов и поиск по нему:
dpkg -l | grep firefox

Удаление пакета:
sudo apt-get remove firefox

Удаление вместе с файлами конфигурации:
sudo apt-get purge firefox

Удаление пакетов, которые были установлены в качестве зависимостей и более не требуются:
sudo apt-get autoremove # --purge для удаления конфигов

Чистка кэша deb-пакетов (каталог /var/cache/apt/archives/):
sudo apt-get clean

Просмотр логов — что и когда ставилось:
/var/log/dpkg.*
grep installed /var/log/dpkg.log

Иногда нужно определить, к какому пакету относится файл. Данную задачу можно решить так:
dpkg -S /usr/bin/pstree

А еще можно получить список всех файлов, содержащихся в пакете:
dpkg-query -L package_name

В общем, все легко и просто, если не считать пары моментов. Во-первых, иногда требуется установить какой-нибудь экспериментальный пакет (из ветки sid). Для этого нужно открыть файл /etc/apt/sources.list и дописать в него строчку:

deb http://ftp.ru.debian.org/debian sid main

… после чего говорим «sudo apt-get update», ставим нужный пакет, удаляем строчку из sources.list и вновь говорим «sudo apt-get update».
Во-вторых, некоторые пакеты тянут за собой слишком много лишнего софта. Например, mail-notifications тянет за собой postfix и требует его настроить. Для решения это проблемы следует прописать в /etc/apt/apt.conf следующее:

APT::Install-Recommends "0";

После чего все должно пройти как по маслу:
sudo apt-get update
sudo apt-get install mail-notification

Альтернативное решение, не требующее правки apt.conf:
sudo apt-get --no-install-recommends install mail-notification

Бывает еще так, что нужно создать резервную копию уже установленного пакета. Например, если он по каким-то причинам был удален из репозитория. Такое иногда бывает в случае со внутренними репозиториями компании. Решается эта проблема так:

sudo apt-get install dpkg-repack
sudo dpkg-repack имя_пакета

Из приятных фишек Debian/Ubuntu мне особенно хотелось бы отметить умение выводить суммарный размер пакетов при их установке/удалении, а также способность делать так:

$ dia
Приложение 'dia' может быть найдено в следующих пакетах:
* dia-gnome
* dia
Попробуйте: sudo apt-get install <выбранный пакет>

Чтобы такая же фишка появилась в zsh, нужно прописать в ~/.zshrc:

command_not_found_handler() {
  /usr/lib/command-not-found $1
}


Работа с пакетами исходных текстов

Сборка пакета в среде стабильного дистрибутива обечпечит генерацию .deb с зависимостями, соответствующими пакетам, доступным в дистрибутиве.

Для этого запись deb-src в вашем файле /etc/apt/sources.list должна указывать на нестабильный дистрибутив. Она должна быть разрешена (раскомментирована).
Для скачивания пакетов исходных текстов рекомендуется использовать команду:

$ apt-get source packagename

Команда должна скачать три файла: .orig.tar.gz, .dsc и .diff.gz. В случае, если пакеты создавались исключительно для Debian, последний из них не скачивается и первый файл не имеет вставки "orig" в своем имени.

Файл .dsc пользуется командой dpkg-source для распаковки пакета исходных текстов в каталог packagename-version. Внутри каждого скачанного пакета исходных текстов есть каталог debian/, который содержит файлы, необходимые для создания пакета .deb.

Для автоматического построения пакета из скачиваемых исходных текстов просто укажите ключ -b в командной строке, примерно так:

$ apt-get -b source имяпакета

Если вы рашаете не создавать .deb при скачивани, то вы можете создать его позже командой:

$ dpkg-buildpackage -rfakeroot -uc -b

из каталога, который был создан для пакета после скачивания.

для того, чтобы пакет можно было собрать, нужны некоторые заголовочные файлы и совместно-используемые библиотеки. Все пакеты исходных текстов имеют в своих управляющих файлах поле 'Build-Depends:', которое указывает дополнительные пакеты, которые необходимы для построения пакета из исходных текстов.

APT имеет простой метод скачивания этих пакетов. Просто запустите apt-get build-dep package, где `package' - это имя пакета, который вы собираетесь построить

apt-get build-dep имяпакета

краткая справка:


apt-get

apt-get update - обновление базы пакетов
apt-get upgrade - обновление всех установленных пакетов
apt-get install название_пакета - установить пакет
apt-get purge название_пакета - полное удаление (не удаляет файлы в дом каталоге)
apt-get remove название_пакета - удаление с сохранением его конфигурационных файлов
apt-get check - узнать о конфликтующих пакетах, а также поломанных зависимостях пакетов
apt-get -f install название_пакета - исправить нарушенные зависимости
apt-get -h - справка

dpkg

dpkg -l - отобразить список всех установленных пакетов
dpkg -l | grep name - отобразить список всех установленных пакетов, в названии которых есть "name"
dpkg -S /bin/ping - найти пакет, в который входит указанный файл
dpkg -s название_пакета - отобразить информацию по конкретному пакету
dpkg -i /путь/к/пакету/название_пакета. deb - установить или обновить пакет
dpkg -i *.deb - установка всех deb пакетов из текущей папки
dpkg -r название_пакета - удалить пакет, но сохранить файл конфигурации
dpkg -P название_пакета - удалить пакет и удалить файл конфигурации
dpkg -h - справка
dpkg-reconfigure


aptitude

aptitude update - обновление базы пакетов
aptitude upgrade - обновление всех установленных пакетов
aptitude full-upgrade - обновление системы

aptitude search название_пакета - поиск пакета

Значения основного статуса:

* i (от installed) - пакет установлен в системе:
* p (от purge) - пакет не был установлен или был удален "вчистую";
* c (от clean) - пакет, удаленный с сохранением конфигурационных файлов;
* v (от virtual) - т. н. виртуальные пакеты, то есть просто списки реальных пакетов, один из которых будет использоваться в той или иной ситуации.

Дополнительный статус:

* A (от Auto) - пакет был установлен не самостоятельно, а автоматически, как зависимость другого пакета;
* h (от hold) - для пакета зафиксирована его текущая версия, то есть он не будет обновляться при выполнении операторов upgrade и dist-upgrade;
* u (от unpacked) - пакет был получен, распакован, но не инкорпорирован в файловую систему и не сконфигурирован;
* C (от half-Configured) - пакет, установка которого оборвалась на стадии конфигурирования;
* H (от Half-installed) - пакет, установка которого оборвалась на стадии инсталляции;
* B (от Broken) - т. н. "сломанные" пакеты - то есть содержащие ошибки внутри себя или утратившие свои зависимости.

aptitude show название_пакета - информация о пакете
aptitude install название_пакета - установка/обновление пакета
aptitude remove название_пакета - удаление с сохранением его конфигурационных файлов
aptitude purge название_пакета - полное удаление (не удаляет файлы в дом каталоге)
aptitude purge ~c - удаление кофигурационных файлов удалённых пакетов
aptitude remove или aptitude purge "~name" - удалить все пакеты имеющие в своём названии "name"
aptitude autoclean - удалить неиспользуемые пакеты из кэша
aptitude clean - удалить все пакеты из кэша
Полезные опции:
-h справка
-s ничего не делать, имитировать выполнение
-d только загрузить - не устанавливать и не распаковывать архивы
-y предполагается ответ Yes на все вопросы, сами вопросы не выводить
-f принудительно исправлять неработоспособные пакеты
-u показывать список обновленных пакетов

некоторые рецепты



dpkg --get-selections | grep -v deinstall > backup.txt
sudo dpkg --set-selections < backup.txt
sudo apt-get -y update
sudo apt-get dselect-upgrade

tac /var/log/apt/history.log |head --lines=225
tail -n 125 /var/log/apt/history.log
dpkg --get-selections | sed -n 's/\t\+install$//p'
dpkg -l | grep ^rc | awk '{print($2)}' | xargs sudo apt-get -y purge

приоритет установки пакетов:
https://wiki.debian.org/ru/AptPreferences
https://www.debian.org/doc/manuals/apt-howto/ch-apt-get.ru.html
https://www.opennet.ru/openforum/vsluhforumID3/120590.html#43

Значения веса приоритета могут быть следующими:
P >= 1000 - пакет будет установлен, даже если это приведет к понижению версии уже установленного пакета
990 <= P < 1000 - пакет будет установлен, если не установлена более новая версия
500 <= P < 990 - пакет будет установлен, если нет пакета принадлежащего к целевому выпуску или не установлена более новая версия
100 <= P < 500 - пакет будет установлен, если нет кандидатов из других источников или установленного пакета более новой версии
0 < P < 100 - пакет будет установлен, если нет других кандидатов и установленных пакетов любой версии
P < 0 - пакет не будет установлен ни при каких условиях
P = 0 - неопределенное состояние, не используется

ONE of theese files content:
1. nano /etc/apt/preferences
2. mcedit /etc/apt/preferences.d/security.pref

## STABLE ###############

Package: *
Pin: release a=debian-security
Pin-Priority: 1001

Package: *
Pin: release a=stable
Pin-Priority: 900

Package: *
Pin: release a=stretch-backports
Pin-Priority: 800

Package: *
Pin: release a=testing
Pin-Priority: 700

Package: *
Pin: release a=unstable
Pin-Priority: 500

Package: *
Pin: release a=experimental
Pin-Priority: 100

Package - на какие пакеты распространяется приоритет. Звёздочка говорит что на все без исключения.
Pin - название ветки дистрибутива.
Pin-priority - собственно, приоритет. Чем он выше - тем жёстче будет закреплена ветка. Приоритет выше 1000 позволит произвести даунгрейд пакетов до той ветки, в которой он установлен. Потому если вы переборщили с экспериментами - выставляйте на stable приоритет 1001, обновляйте список пакетов и делайте dist-upgrade.

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

Просмотр логов — что и когда ставилось:
https://system-admins.ru/kak-uznat-kogda-ustanovlen-ili-obnovlen-paket-debian-ili-ubuntu/
/var/log/dpkg.*

Список пакетов по дате установки
tail -f /var/log/dpkg.log
less /var/log/dpkg.log
more /var/log/dpkg.log

/var/log/dpkg.log может быть ротирован или сжат с использованием Logrotate инструмента. Для просмотра списка всех файлов, введите:
ls -l /var/log/dpkg.log*

Используйте команду zgrep или zmore чтобы просматривать файлы gzip:
zmore /var/log/dpkg.log.4.gz
zless /var/log/dpkg.log.4.gz
zgrep 'remove' /var/log/dpkg.log.4.gz

Просмотреть дату и время установки пакетов
grep installed /var/log/dpkg.log

Аналогично для архивного файла
zgrep installed /var/log/dpkg.log.4.gz

Просмотреть дату и время обновления пакетов
grep upgrade /var/log/dpkg.log
grep upgrade /var/log/dpkg.log.2
zgrep upgrade /var/log/dpkg.log.3.gz

Просмотреть дату и время удаленных пакетов
grep remove /var/log/dpkg.log
grep remove /var/log/dpkg.log.2
zgrep remove /var/log/dpkg.log.3.gz

/var/log/apt/history.log
Файл var/log/apt/history.log также содержит некоторую полезную информацию

tail -f /var/log/apt/history.log
more /var/log/apt/history.log
less /var/log/apt/history.log
grep -A4 -B4 'yyyy-mm-dd' /var/log/apt/history.log
grep -A4 '2016-01-14' /var/log/apt/history.log

Результат
Start-Date: 2016-01-15 14:17:15
Commandline: apt-get upgrade
Upgrade: isc-dhcp-common:amd64 (4.2.4-7ubuntu12.3, 4.2.4-7ubuntu12.4), isc-dhcp-client:amd64 (4.2.4-7ubuntu12.3, 4.2.4-7ubuntu12.4)
End-Date: 2016-01-15 14:17:25

манипуляции с пакетами на примере Viber
https://linuxthebest.net/kak-vse-taki-ustanovit-viber-v-debian-gnu-linux-i-ubuntu/
sudo dpkg -i viber.deb
sudo apt install -f
Она должна была бы доустановить недостающие зависимости, но сейчас просто удалит криво установленый Viber, потому что он нам ни к чему.

Открываем терминал в каталоге с пакетом «viber.deb» и поочередно выполняем:
dpkg-deb -x viber.deb viber
dpkg-deb --control viber.deb viber/DEBIAN

ищем в долгом списке после слова «Depends:» libcurl3 и перепечатываем на libcurl4
внимание — очень важный шаг, без которого метод не сработает. Обязательно нужно удалить пустую строку в этом же файле. Она прячется в самом конце. сохраните документ и вернитесь обратно в терминал
dpkg -b viber viberlibcurl4.deb

Менеджер dpkg создаст пакет «vibercurl4.deb». Тепер его можно установить любым способом. Например, так:
sudo dpkg -i viberlibcurl4.deb

ещё способ (как пример сборки пакета)
Откройте консоль и выполните там несколько команд.
Первой командой мы устанавливаем зависимости:
sudo apt install libxss1 `apt-cache search libssl1.0.[0-9] | awk '{ print $1 }'` libpulse0 libasound2 libnss3 libxcomposite1 libxcursor1 libxdamage1 libcurl4 libgstreamer-plugins-base1.0-0 libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-pulseaudio gstreamer1.0-libav libssl1.0-dev

Скачиваем сам пакет:
wget https://download.cdn.viber.com/cdn/desktop/Linux/viber.deb

Распаковываем скаченный пакет deb:
ar x viber.deb

Распаковываем контрольный архив:
tar xzf control.tar.gz

Делаем крошечный патч: меняем libcurl3 на libcurl4 в файле control. Дело в том, что libcurl3 — это устаревшая версия библиотеки и она больше недоступна в репозиториях, так как заменена версией libcurl4 Дополнительно мы меняем запись libssl1.0.0 на ту версию пакета, которая доступна в системе:
sed -i 's/libcurl3/libcurl4/' ./control
sed -i "s/libssl1.0.0/`apt-cache search libssl1.0.[0-9] | awk '{ print $1 }'`/" ./control

Вот и всё — мы пропатчили всё что нужно, теперь осталось собрать пакет обратно.
tar --ignore-failed-read -cvzf control.tar.gz pre{inst,rm} postinst md5sums control

Вновь собираем deb:
ar rcs viber_fixed.deb debian-binary control.tar.gz data.tar.xz

Устанавливаем наш пофиксенный пакет:
sudo dpkg -i viber_fixed.deb

Как установить пакет, для которого отсутствует зависимость нужной версии

получить полный список всех зависимостей пакета
Как скачать рекурсивные зависимости пакета в Ubuntu
Как получить список зависимостей пакета с «под зависимостями» в APT или dpkg?

PKG=название_пакета

Перечислить все рекурсивные зависимости:

apt-rdepends $PKG




вывести рекурсивные зависимости в столбики:



скачать пакет вместе со всеми рекурсивными зависимостями:



перейти в папку и установить:
$ sudo dpkg -i *

создать индекс загруженных пакетов, перейдите в расположение, в котором хранятся пакеты, и выполните следующую команду:
$ dpkg-scanpackages . | gzip -c9 > Packages.gz

Добавьте эту папку в список источников APT, используя следующую команду:
$ echo "deb[trusted=yes] file:///путь_к_каталогу/с_пакетом ./" | sudo tee -a /etc/apt/sources.list

Обновите индекс пакета, используя команду:
$ sudo apt-get update

Наконец, установите пакет $PKG с помощью менеджера пакетов APT:
$ sudo apt-get install $PKG

ошибки
Невозможно инициализировать соединение с 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)

при установке dpkg -i
dpkg: ошибка при обработке пакета название_пакета (--install):
проблемы зависимостей — оставляем не настроенным
делаем
apt install -f
dpkg --configure -a

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

«Could not get lock /var/lib/dpkg/lock»
Устранение ошибки «Could not get lock /var/lib/dpkg/lock»
ps aux | grep -i apt
sudo killall apt apt-get

lsof покажет каким процессом используется lock-файл.

sudo lsof /var/lib/dpkg/lock
sudo lsof /var/lib/dpkg/lock-frontend
sudo lsof /var/lib/apt/lists/lock
sudo lsof /var/cache/apt/archives/lock
sudo kill -9 ID_процесса

удалить файл блокировки следующими командами.
sudo rm /var/lib/dpkg/lock
sudo rm /var/lib/dpkg/lock-frontend

ошибка блокировки apt-cache, такой как /var/cache/apt/archives/lock, удалите файл блокировки,
sudo rm /var/lib/dpkg/lock
sudo rm /var/cache/apt/archives/lock

затем перенастроить dpkg и очистите локальный репозиторий от любых остатков, которые могли сохраниться в файле /var/cache.
sudo dpkg --configure -a
sudo apt clean


Как исправить ошибку «E: Sub-process /usr/bin/dpkg returned an error code (2)»

Для начала попробуйте выполнить следующие команды:
sudo rm /var/lib/dpkg/available
sudo touch /var/lib/dpkg/available
sudo sh -c 'for i in /var/lib/apt/lists/*_Packages; do dpkg --merge-avail "$i"; done'

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

sudo dpkg --configure -a
sudo apt -f install
sudo apt clean
sudo apt update && sudo apt-get upgrade

Если и это не помогло, то присмотритесь внимательно к ошибке — упоминается ли в ней имя какой-либо программы (пакета)? Если да то перейдите в директорию /var/lib/dpkg/info
cd /var/lib/dpkg/info

Теперь удалите файлы ПАКЕТА, который вызывает ошибку:
sudo rm ПАКЕТ*

Вновь запускаем команду исправления:
sudo apt install -f && sudo dpkg --configure -a

Затем устанавливаем пакет по новой.
Если проблема по-прежнему осталась, то запускаем команду в режиме отладки и смотрим на выводимые сообщения:
sudo DEBCONF_DEBUG=developer apt install -f


Создаём свой репозиторий с deb-пакетами
dpkg-scanpackages
Создание deb-пакетов. Первые шаги в PPA
Пересобираем mc с поддержкой samba
fakeroot dpkg-deb --build пакет

Как конвертировать пакеты в Ubuntu, используя Alien

https://fpm.readthedocs.io/en/latest/
https://github.com/jordansissel/fpm

pbuilder
http://devhead.ru/read/pbuilder
pbuilder — это интересное средство, позволяющее нам создать архив, хранящий в себе образ свежеустановленной Debian или Ubuntu в минимальной комплектации — то есть, только с самыми необходимыми пакетами.

Настройка
Для начала создаем файл конфигурации ~/.pbuilderrc. Вот его примерное содержимое:
# названия дистрибутивов Ubuntu
#UBUNTU_SUITES=("karmic" "jaunty" "intrepid" "hardy" "gutsy")
#MIRRORSITE="http://mirror.yandex.ru/ubuntu/"
# компоненты дистрибутива по умолчанию
COMPONENTS="main restricted universe multiverse"

# выбираем дистрибутив для использования
: ${DIST:="$(lsb_release --short --codename)"}

# а также архитектуру
: ${ARCH:="$(dpkg --print-architecture)"}

# ну и давайте определим имя, которым мы будем обозначать отдельный образ
NAME="$DIST"
if [ -n "${ARCH}" ]; then
NAME="$NAME-$ARCH"
# следующая строчка нужна для того чтобы собирать под разные архитектуры
DEBOOTSTRAPOPTS=("--arch" "$ARCH" "${DEBOOTSTRAPOPTS[@]}")
fi

# где мы будем создавать, а потом искать файл образа
BASETGZ="/home/andrey/build/pbuilder/$NAME-base.tgz"
DISTRIBUTION="$DIST"

# и куда мы будем класть собранные пакеты
BUILDRESULT="/home/andrey/build/pbuilder/$DIST/result/"

# тут у нас будет лежать кэш слитых из сети пакетов
APTCACHE="/home/andrey/build/pbuilder/$NAME/aptcache/"

# а в это место будет распаковываться образ для сборки
BUILDPLACE="/home/andrey/build/pbuilder/build/"

# еще можно раскомментировать следующие два параметра по необходимости:
# примонтировать каталог вашей системы в такой же каталог образа
#BINDMOUNTS="/var/cache/archive"
# подключить дополнительное зеркало помимо стандартного
#OTHERMIRROR="deb file:///var/cache/archive unstable main"

Файл конфигурации я взял здесь и закомментировал или удалил то что посчитал ненужным


Создание образа системы
Создать образ какой-нибудь системы можно например, так:

$ sudo ARCH=i386 DIST=jaunty pbuilder --create
Где i386 архитектура создаваемого образа, а jaunty название дистрибутива. Если вы собираете пакет под текущие дистрибутив и архитектуру то можно просто написать:

$ sudo pbuilder --create

Сборка пакетов
Для создания базового образа для архитектуры i386 под x86_64

/usr/sbin/pbuilder create --debootstrapopts --arch --debootstrapopts i386
Для сборки пакета для архитектуры i386 под x86_64
sudo DIST=karmic ARCH=i386 linux32 /usr/sbin/pbuilder build mypaint_0.7.1-2.dsc

Руководство по созданию пакетов Ubuntu!
PbuilderRussianDocumentation Pbuilder
PbuilderHowto
Сборка пакетов. Глава 3. Chroot. Mock. Pbuilder
Как собирать/бэкпорчить deb пакеты
Раздел полезных советов: Перекомпиляция пакета в Debian и Ubuntu
Стать мэинтейнером — часть пятая
Создание локального репозитария
ubuntu-вский apt-get update в pbuilder-е

Компиляция пакетов
1)Установим программу auto-apt командой
sudo apt-get install auto-apt
2)Командой cd переходим в директорию с распакованными исходниками и применяем команду
sudo auto-apt update && auto-apt -y run ./configure
Эта команда автоматически скачает и установит все необходимые файлы и библиотеки, т. е. удовлетворит все зависимости.
3)Теперь командой sudo checkinstall -D создадим deb-пакет, использующийся в дистрибутивах основанных на Debian, например Ubuntu.
4)Теперь этот пакет можно устанавливать: либо командой
sudo dpkg -i pocket_name.deb
Либо двойным щелчком по пакету.
5)Всё вышенаписанное применимо к основанным на Debian дистрибутивах.
Также если запустить sudo checkinstall -R получим rpm-пакет, применяемый в Fedora, RHEL, ASP Linux, ALT Linux, Mandriva, openSUSE.
Если же запустить sudo checkinstall -S получим пакет применяемый в Slackware.

auto-apt делает тоже, что и apt-get build-dep, но может использоваться и для пакетов, отсутствующих в репозитории.
auto-apt нужен только в том случае если такого пакета нет в репозиториях, иначе зависимости можно устанавливать просто через apt командой
apt-get build-dep имя-пакета

Как создать и установить фиктивный пакет
Как в Linux симулировать установку пакета (Как создать и установить фиктивный пакет)
Можно столкнуться с проблемой, что в системе отсутствует нужная зависимость. Выход из этой ситуации — установить фиктивный пакет.
Существует пакет Debian под названием equivs, которая может создавать фиктивные пакеты. Установите его, запустив
sudo apt install -y equivs

Из-за неразрешённых зависимостей я не смог установить пакет с equivs в проблемную ОС — для помощи я воспользовался другим компьютером.

После установки вы создайте файл «control» шаблона с помощью следующей команды:
equivs-control ИМЯ_ФАЙЛА

Например:
equivs-control qt5-default

Можно использовать альтернативное имя пакета, например postfix-custom для postfix или что-то ещё.
Откроем сгенерированный файл для редактирования:
gedit qt5-default

Пример содержимого в моём случае:



Строки с комментариями показывают, какие значения по умолчанию будут применены при создании пакета — можете удалить эти строки или раскомментировать и указать своё значение.

Также в строке «Package» впишите имя пакета, у меня получилось так:



С помощью строки «Provides» можно сказать, что мой пакет предоставляет возможности, предлагаемые другим пакетом, который я пытаюсь подделать.

Наконец, после создания файла управления шаблоном используйте команду equivs-build для создания поддельного пакета, например
equivs-build /ПУТЬ/ДО/СГЕНЕРИРОВАННОГО/КОНТРОЛЬНОГО/ФАЙЛА

В моём случае это:
equivs-build qt5-default

Сборка пакета займет несколько секунд, а затем вы можете запустить
sudo dpkg -i ИМЯ_ПАКЕТА*.deb

Например, в моём случае после переноса пакета на проблемную систему команда следующая:
sudo dpkg -i qt5-default_5.15.2_all.deb

После установки пакета работа менеджера пакетов пришла в норму — вновь возможно устанавливать и удалять пакеты, обновлять систему.
Для опытных пользователей, если ваш файл управления шаблоном имеет строку «Requires», вы можете создавать метапакеты, для установки группы программ.

ссылки
Руководство начинающего разработчика Debian
https://debian-handbook.info/browse/ru-RU/stable/
http://eax.me/debian-packages/
https://wiki.debian.org/ru/PackageManagement
https://www.debian.org/doc/manuals/apt-howto/ch-sourcehandling.ru.html
https://www.debian.org/releases/testing/mipsel/release-notes/ch-upgrading.ru.html
https://wiki.debian.org/ru/AptPreferences
Сборка deb-пакетов при помощи pbuilder
Стать мэинтейнером — часть пятая
Linux - начинающим. Часть 5. Управление пакетами в Debian и Ubuntu
[HOWTO] Сборка ПО и создание .deb-пакетов из исходников в Ubuntu (Debian)
Создание RPM или DEB пакетов с Checkinstall в Linux


http://cdimage.ubuntu.com/releases/
Вышла ubuntu 16.04 и я решил обновить систему, по привычке поставил с нуля ubuntu-server.
DE я не признаю, предпочитаю минимум необходимых и знакомых пакетов, поэтому выбор такой, в целом система сделана довольно прилично, даже кракозябр в консоли не было ;)
после установки однако пришлось немножко поработать напильником: установил иксы, нужные пакеты и свой привычный WM:
Read more... )

Пишете в sources.list (зеркало только свое укажите):

deb http://ftp.debian.org/debian/ testing main contrib non-free

Потом в /etc/apt/apt.conf.d/20apt-local:

Apt::Get::Show-Versions "true";
Apt::Default-Release "testing";
Apt::Install-Recommends "false";
Acquire::ForceIPv4 "true";
Aptitude::CmdLine::Show-Versions "true";

Ну и наконец (с внимательным чтением вывода на каждом шаге):

# apt-get update
# aptitude install xfce~i thunar~i(обновит только xfce)
# aptitude safe-upgrade (обновит все, что можно без удаления-установки нового)
# aptitude full-upgrade (обновит, удалит, установит)

https://debianforum.ru/index.php?topic=10012.0
http://linoxide.com/linux-how-to/install-mind-blowing-xfce-4-12-desktop-environment-linux-features/


иногда провайдер Ростелеком превосходит сам себя, то что блокирует всё что не приколочено дело привычное, все уже привыкли пользоваться прокси, но когда при попытке зайти на вполне безобидный сайт http://pythonworld.ru/ я увидел
Read more... )
http://www.danbishop.org/2015/01/30/ubuntu-14-04-ultimate-server-guide/
http://welinux.ru/post/3127/



В данной статье я расскажу о том, как можно запускать скрипты, программы от суперпользователя без ввода пароля.Read more... )
http://www.linuxrussia.com/2015/04/terminal-linux-7.html

Резервное копирование системы очень важно, поскольку если у вас есть резервная копия всех файлов, настроек или даже системы полностью, то вы можете ее восстановить в случае возникновения проблем. Несмотря на стабильность Linux, эта система может ломаться, например, после обновления или когда вы экспериментировали и сделали что-то не так.

Read more... )
https://losst.ru/rezervnoe-kopirovanie-ubuntu

Тем, кому нужно срочно, вот, эта команда:

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
Read more... )


http://meandubuntu.ru/2014/05/удаление-старых-ядер-linux-kernel-1-командой/


Например нужно добавить ключ репозитория:
https://launchpad.net/~lubuntu-dev/+archive/lubuntu-daily
заходим туда, нажимаем на
Technical details about this PPA (разворачиваем)
ищем ссылку
Signing key:
1024R/20E36F2F
переходим по ней
http://keyserver.ubuntu.com:11371/pks/lookup?search=0x91732A319F3E38EEEDBDF51AC8BEB4C320E36F2F&op=index
видим надпись
pub 1024R/20E36F2F 2011-05-21 Launchpad PPA for Lubuntu Developers Team
нажимаем на 20E36F2F
копируем что записано в текстовый редактор и сохраняем как:
20E36F2F.gpg
затем открываем терминал, переходим в папку, где лежит этот файл и добавляем ключ командой:
sudo apt-key add 20E36F2F.gpg
Удаление ключа:
apt-key del 20E36F2F

http://kubuntu.ru/node/3996
http://uzverss.livejournal.com/3242.html - как добавить ключ репозитория

Если при запуске приложений возникают сообщения:
Gtk-WARNING **: Загружаемый модуль тем не найден в > module_path: "pixmap"
то устраняется это командой:
sudo apt-get install gtk2-engines-pixbuf

http://tuksik.ru/gtk-warning-error-pixmap/


1. Устанавливаем необходимые пакеты:
sudo apt-get install libnotify-bin xsel

2. Создаём файл с именем seltr и копируем в него следующие строки:


3. Делаем этот файл исполняемым и перемещаем его в /usr/bin/:
chmod  +x  ./seltr  &&  sudo  mv  ./seltr  /usr/bin/

либо изготавливаем пакет:
создаём каталог seltr, в нём каталог usr, в нём каталог bin, ложим туда файл ‎‎seltr, делаем этот файл исполняемым, сжимаем каталог usr в архив и называем его seltr:
cd seltr/
tar -czvf seltr.tgz usr/
полученный архив преобразуем в пакет:
sudo alien -d seltr.tgz
устанавливаем пакет:
sudo dpkg -i seltr_1-2_all.deb

4. Назначаем комбинацию клавиш на команду seltr, с помощью средств DE WM или xbindkeys

Как это работает:
Выделяем какой-нибудь иностранный текст(на любом языке), в любом окне.
Нажимаем выбранную комбинацию клавишь, например win+5.
Получаем перевод.

http://habrahabr.ru/post/137215/
Переводите любой выбранный текст с помощью комбинации клавиш и оповещений

Profile

uzverss: (Default)
uzverss

December 2024

S M T W T F S
12345 67
891011121314
15161718192021
22232425262728
293031    

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 22nd, 2025 03:00 am
Powered by Dreamwidth Studios