Записки молодого девопсера – Telegram
Записки молодого девопсера
153 subscribers
94 photos
7 files
623 links
Здесь выкладываются различные команды и решения проблем, с которыми приходится сталкиваться, а также интересные статьи и видео из мира IT.
Download Telegram
Ох, какой разврат
Что-то с гуглом сегодня не то
А какой вариант нравится вам?)
Произнесите systemd и ntpd как «системды́» и «энтэпды́» и ощутите запах казахской степи, просторный уют юрты, терпкую вонь админского халата.
Нахождение файлов, которые занимают больше всего места.
find / -mount -type f -ls 2> /dev/null | sort -rnk7 | head -10 | awk '{printf "%10d MB\t%s\n",($7/1024)/1024,$NF}'
Вы можете запретить утилите cloud-init изменять настройки сети при каждой перезагрузке сервера. Для этого в установленной системе добавьте файл /etc/cloud/cloud.cfg.d/99_disable_network_config.cfg:
network:
config: disabled
Forwarded from opennet.ru
Релиз системы виртуализации VirtualBox 6.0

После года разработки компания Oracle опубликовала релиз системы виртуализации VirtualBox 6.0. Готовые установочные пакеты доступны для Linux (Ubuntu, Fedora, openSUSE, Debian, SLES, RHEL), Solaris, macOS и Windows.

http://www.opennet.ru/opennews/art.shtml?num=49809
Разница между yum update и yum upgrade:
yum update - обновляет список установленных пакетов (если не указаны, то обновляет все имеющиеся в системе).
yum upgade - производит обновление пакетов, а также удаляет устаревшие пакеты (obsoletes packages).
В связи с этим, надо понимать, что в некоторых случаях yum upgrade может удалить пакеты, которые вы используете.
Из документации Ansible было непонятно, какую политику обновления использует модуль yum.
В исходном коде встретилась такая вот строчка:
- When using state=latest, this can be C('*') which means run C(yum -y update).
После запуска плейбука с обновлением всех пакетов было замечено, что вызываются 2 команды:
/usr/bin/yum -d 2 -y check-update
/usr/bin/yum -d 2 -y update
Где первая команда (с аргументом check-update) запрашивает список обновленных пакетов (если они есть, то возвращается код выхода 100, если таких пакетов нет - 0, если во время запроса списка пакетов произошла ошибка - код 1).
-d 2 - устанавливает значение debug-level в значение 2
Последняя команда выполняет обновление всех пакетов без удаления obsoletes-packages
UPDATE
По ходу поисков на просторах интернета выяснилось, что люди, которые использовали ранее Debian-like дистрибутивы переносят весь свой опыт в мир RHEL-like дистрибутивов. А затем в инструкциях встречаются вот такие конструкции:
yum update && yum update
Как видно - совершенно бессмысленные. В мире Debian-like дистрибутивах это выглядит вот так:
apt update && apt upgrade
Что вполне логично, так как
apt update получает информацию о пакетах из репозиториев, описанных в файле /etc/apt/sources.list (встречаются и отдельные файлы, которые размещают в директории /etc/apt/sources.list.d/
apt upgrade
устанавливает все доступные обновления, полученные после запуска команды выше.
P.S. Да, можно использовать apt вместо apt-get
Полезности из мира Gitlab
https://docs.gitlab.com/ce/ci/yaml/#onlychanges-and-exceptchanges
Параметр onlychanges позволяет запускать CI/CD процессы только в случаях, когда изменились конкретные файлы, либо группа файлов.
Простой пример работы этого параметра:
changes_feature_test:
noscript:
- ping -c4 8.8.8.8
- ./test.sh
only:
changes:
- test.sh
tags:
- changes_test
Здесь процессы CI/CD начинают запускаться только после изменения содержимого shell-скрипта test.sh
(Внимание! Изменение прав файла, например на 755, чтобы сделать его исполняемым, тоже считается изменением. Правда гитлаб в коммите показывает следующую запись:
File mode changed from 100644 to 100755)
Ansible-playbook для установки утилиты bat на RHEL-based дистрибутивы. Пакеты с данной утилитой пока никто не собирает, но на github есть готовые бинарники
- name: get bat latest version
block:
- shell: curl --silent "https://api.github.com/repos/sharkdp/bat/releases/latest" | grep -Po '"tag_name"':' "\K.*?(?=")' warn=false
register: latest_release
- get_url:
url: https://github.com/sharkdp/bat/releases/download/{{latest_release.stdout}}/bat-{{latest_release.stdout}}-x86_64-unknown-linux-musl.tar.gz
dest: /tmp
- unarchive:
src: bat-{{latest_release.stdout}}-x86_64-unknown-linux-musl.tar.gz
dest: /tmp
- copy:
src: /tmp/bat-{{latest_release.stdout}}-x86_64-unknown-linux-musl/
dest: /usr/local/bat/
mode: preserve
- lineinfile:
path: ~/.bashrc
line: "alias bat='/usr/local/bat/bat'"
insertafter: 'mv'
- find:
paths: /tmp
file_type: any
patterns: bat*
register: bat_files_delete
- file:
path: "{{ item.path }}"
state: absent
with_items: "{{ bat_files_delete.files }}"

UPDATE
Если вы используете Fedora, то у вас есть пакет bat в официальных репозиториях. Установить его можно командой
dnf install bat
📚 Hacking for the Holidays by No Starch Press.

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

https://www.humblebundle.com/books/hacking-for-the-holidays-books

#security #книга