cellinfo
/
ansible.apt
Archived
2
0
Fork 0
This role is NO LONGER SUPPORTED, please take a look to DebOps apt roles
This repository has been archived on 2020-11-04. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Jeremy Gardais c8ed34b932 Remove default apt.conf.d files
01autoremove and 50unattended-upgrades are managed by the role but the
files provided by the package doesn't have ".conf" extension.
2017-11-29 14:34:54 +01:00
defaults Remove default apt.conf.d files 2017-11-29 14:34:54 +01:00
handlers Update Apt if any repositories modifications. 2017-08-16 15:44:57 +02:00
meta Manage Stretch repositories. 2017-08-16 15:41:59 +02:00
tasks Add Stretch-Security repository. 2017-09-12 09:27:34 +02:00
templates/etc/apt Add Stretch-Security repository. 2017-09-12 09:27:34 +02:00
tests Manage Stretch repositories. 2017-08-16 15:41:59 +02:00
.travis.yml Update Apt if any repositories modifications. 2017-08-16 15:44:57 +02:00
CHANGELOG.md Add a example howto to use the role for installation with X session. 2017-11-29 14:33:28 +01:00
README.md Add a example howto to use the role for installation with X session. 2017-11-29 14:33:28 +01:00

README.md

Apt

  1. Overview
  2. Role Variables
  3. Example Playbook
  4. Configuration
  5. Development
  6. License
  7. Author Information

Overview

Manage APT repos, preferences and configuration for IPR's servers.

Role Variables

  • apt_conf_update_pkg_lists: Period of automatic repositories update in days [default: 1].
  • apt_conf_download_upgradeable_pkg: Period of automatic download of upgradeable packages in days [default: 1].
  • apt_conf_auto_clean_interval: Period of automatic clean of no longer available packages [default: 0].
  • apt_conf_purge_list: The list of default APT configuration files sets by differents packages.
  • apt_conf_purge_manage: If the purge of default configuration should be managed [default: true].
  • apt_src_list_manage: If apt sources list files should be managed [default: true].
  • apt_purge_src_list_file: If the default sources.file must be absent [default: true].
  • apt_stretch_manage: If Stretch configuration should be managed [default: true].
  • apt_default_pref_path: Path to set the default preferences file for all repositories [default: /etc/apt/preferences.d/default.pref].
  • apt_default_pref_tpl: Template used to generate the previous config file [default: etc/apt/preferences.d/default.pref.j2].
  • apt_tools_list: The list of additionnals tools to install [default see below].
  • apt_tools_state: State of new tools [default: installed].
  • apt_tools_manage: If those tools should be managed by the role [default: true].
  • apt_old_pkg_list: The list of totally useless packages for a production server [default see below].
  • apt_old_pkg_state: State of old packages [default: absent].
  • apt_old_pkg_manage: If those old packages should be managed by the role [default: true].
  • apt_unattended_upgrades: If unattended-upgrades should be managed by the role [default: yes].
  • apt_unattended_upgrades_blacklist: List of packages to not update (regexp are supported) [default: []].

Example Playbook

  • Use defaults vars:
- hosts: serverXYZ
  roles:
    - role: ipr-cnrs.apt
  • For a system with an X session, you may let the old packages unmanaged:
- hosts: serverXYZ
  roles:
    - role: ipr-cnrs.apt
      apt_old_pkg_manage: false

Configuration

APT Configuration

  • Ensure to never remove some packages pattern.
  • Set general APT configurations.
  • Set periodic actions.
  • Set dpkg default values.
  • Set unattended-upgrades config.
  • Purge default configuration files sets by others apps.

Sources List

Manage Debian's sources.list:

  • Add Stretch repositories (main, security and backports).
  • Remove the default /etc/apt/sources.list file.
  • Update Apt if any repositories modifications.

Preferences

  • Set the preferences for all repositories, default to:
    • Stretch - 510.
    • Stretch Backports - 500.

Tools

  • Ensure to install:
    • aptitude (better than apt to resolve dependencies issues)
  • Ensure to remove really useless packages from a default installation:
    • laptop-detect (if a server is a laptop…)
    • tasksel (simple interface)
  • Manage unattended-upgrades.

Development

This source code comes from our Gogs instance and the Github repo exist just to be able to send the role to Ansible Galaxy…

But feel free to send issue/PR here :)

Thanks to this hook, Github automatically got updates from our Gogs instance :)

License

WTFPL

Author Information

Jérémy Gardais