Админим с Буквой
5.35K subscribers
302 photos
8 videos
59 files
1.15K links
Канал о системном администрировании, DevOps и немного Инфобеза.

По всем вопросам обращаться к @bykva. Рекламу не размещаю.
Download Telegram
Обновляем только выбранные пакеты

apt install --only-upgrade package [package]


#apt
Фиксируем версию пакетов в пределах заданных версий

Например, для того чтобы обновлять кластер k8s только в пределах 9-й ветки, можно сделать так:

создаем файл /etc/apt/preferences.d/kube-binaries.pref со следующим содержимым:

Package: kubelet kubeadm kubectl
Pin: version 1.9.*
Pin-Priority: 600


В результате, при выполнении поиска пакета:

# apt-cache policy kubeadm
kubeadm:
Installed: 1.9.6-00
Candidate: 1.9.6-00
Version table:
1.10.0-00 500
500 http://reporepo/kubernetes kubernetes-xenial/main amd64 Packages
*** 1.9.6-00 600
500 http://reporepo/kubernetes kubernetes-xenial/main amd64 Packages
100 /var/lib/dpkg/status
......


Как видите более новая версия есть, но кандидат на установку - 1.9.x

#apt #kubernetes
Direct connect to repo

В случае если нужно пустить соединение не через прокси (apt-cacher-ng, например), можно создать вот такой файл:

# cat /etc/apt/apt.conf.d/99proxy
Acquire::http::Proxy {
your.local.repository DIRECT;
};


#apt-cacher-ng #proxy
Список тегов, используемых в канале:

—-------------------------------
Лекции и материалы
—-------------------------------
#Занятие
#Лекции
Лекция
#junior

—---------
Linux
—---------
#ssh
#bash
#bash_tips_and_tricks
#awk
#tmux
#console
#utils
#troubleshooting
#nmap
#apt
#bind
#sound
#power_management

—----------
DevOps
—----------
#jenkins
#ansible
#git
#kubernetes
#deploy
#ceph
#docker
#puppet

—------------------
Virtualization
—------------------
#vmware
vagrant

—------------------
Networking
—---------------—
#networking
#proxy
#socks

—---------
InfoSec
—---------
#vulns
#security
#ctf

—-------------
Windows
—-------------
#RDTS
#windows_server2012
#RDP

—------------
Datacenters
—---------—
#ovh
#hetzner

—-------
Other
—-------
#android
#jira

—------------------------------------------------
Ссылки и сторонние материалы
—------------------------------------------------
#read
#thirdparty

Updated: 29.05.18
apt update error

Ошибка:

Err:1 http://archive.ubuntu.com/ubuntu xenial InRelease
Couldn't create tempfiles for splitting up /var/lib/apt/lists/partial/archive.ubuntu.com_ubuntu_dists_xenial_InRelease
Could not execute 'apt-key' to verify signature (is gnupg installed?)

На самом деле проблема не о том, о чём написано в ошибке - проблема в записи в директорию /tmp.

#troubleshooting #apt
apt, шо ко мне приедет?

apt -s upgrade - показать список выполняемых действий, не выполняя их. Выхлоп включает версию старого пакета и нового пакета, что довольно-таки удобно чтобы посмотреть какая версия приедет не набирая apt-cache policy package. (s от слова simulate)

Пример:

Inst openssh-server [1:7.4p1-10+deb9u3] (1:7.4p1-10+deb9u4 Debian-Security:9/stable [amd64]) []
...
Conf openssh-server (1:7.4p1-10+deb9u4 Debian-Security:9/stable [amd64])

#apt
Apt news

С версии 1.5 в apt внесены некоторые изменения, в частности новый HTTPS метод - apt будет поддерживать https из коробки:

[ New HTTPS method ]
The default http method now supports HTTPS itself, including encrypted proxies and connecting to HTTPS sites via HTTPS proxies; and the apt-transport-https package only provides a "curl+https" method now as a fallback, but will be removed shortly. If TLS support is unwanted, it can be disabled overall by setting the option Acquire::AllowTLS to false.

As for backwards compatibility, the options IssuerCert and SslForceVersion are not supported anymore, and any specified certificate files must be in the PEM format (curl might have allowed DER files as well).

[ Changes to unauthenticated repositories ]
The security exception for apt-get to only raise warnings if it encounters unauthenticated repositories in the "update" command is gone now, so that it will raise errors just like apt and all other apt-based front-ends do since at least apt version 1.3.

It is possible (but STRONGLY ADVISED AGAINST) to revert to the previous behaviour of apt-get by setting the option
Binary::apt-get::Acquire::AllowInsecureRepositories "true";
See apt-secure(8) manpage for configuration details.

#apt
Переустанавливаем пакет с восстановлением конфигов

apt install --reinstall -o Dpkg::Options::="--force-confask,confnew,confmiss" packagename


#apt
Анализируем "нестандартные" пакеты в ОС

Существует утилита apt-forktracer, которая анализирует каждый установленный пакет и выводит информацию о пакете в случае, если он находится не в "стандартном" состоянии. Понятие "не стандартный" зависит от параметров переданных утилите. В общем случае он посмотрит версию пакета, найдет эту версию в репозитории вашей ОС. Если пакет установлен не из стандартного репозитория (backports, testing, any_other_repo), поиск будет произведен и там. На выходе вы получите все пакеты, которые грубо говоря установлены не методом apt install package, а также их версии в разных репозиториях, после чего можно проводить над ними дополнительные работы.

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

ansible (2.7.8-1ppa~bionic) [LP-PPA-ansible-ansible: 2.7.8-1ppa~bionic] [Debian Backports: 2.7.5+dfsg-1~bpo9+1] [Debian: 2.2.1.0-2+deb9u1 2.2.1.0-2]
git (1:2.20.1-1~bpo9+1) [Debian Backports: 1:2.20.1-1~bpo9+1] [Debian: 1:2.11.0-3+deb9u4 1:2.11.0-3+deb9u4]
vagrant (1:2.2.3) [Debian Backports: 2.0.2+dfsg-3~bpo9+1] [Debian: 1.9.1+dfsg-1+deb9u2]
virtualbox-6.0 (6.0.4-128413~Debian~stretch) [Oracle Corporation: 6.0.4-128413~Debian~stretch]

#apt