Points à prendre en compte :
Cela efface l'intégralité des données présentes dans le disque, vérifié bien le disque choisi et déplacer toutes les données que vous souhaitez garder avant de faire cette manipulation.
PXE: L'amorçage PXE (sigle de Pre-boot eXecution Environment) permet à une station de travail de démarrer depuis le réseau en récupérant une image de système d'exploitation qui se trouve sur un serveur
Par clé USB (clé vierge » image Debian 9)
Pour: DELL (F11) ACER / HP (F12)
Cette partie installe ansible git puis télécharge le playbook http://depl/siost.git
Ce playbook installe l'interface graphique xfce, virtualbox, …
#> curl depl/inst-siost| sh
Nous avons installés les machines de la salle 214/215 en linux(debian9) avec la clé USB. Tout d'abord nous installions sans environnement graphique. Une fois ceci installé nous exécutions notre script “inst-215-hp”. Celui ci installe les premiers paquets dont nous avons besoins, notamment l'environnement graphique xfce4 ainsi que les paquets de bases comme mc tcpdump sudo etc… Il installe également virtualbox etc.
voici le script:
!/bin/bash export http_proxy=http://10.121.38.1:8080 export https_proxy=http://10.121.38.1:8080 sed -ib 's/main$/main contrib non-free/' /etc/apt/sources.list apt update -y apt upgrade -y apt install -y sudo mc vim tcpdump ttf-mscorefonts-installer if [ $? = 0 ] ; then apt install -y firmware-amd-graphics fi apt install -y xfce4 xfce4-goodies net-tools apt install -y apache2 php mariadb-server #apt install -y netbeans apt install -y task-print-server #apt remove -y netbeans apt install -y gvfs gvfs-backends pcmanfm apt install -y firefox-esr firefox-esr-l10n-fr apt install -y chromium chromium-l10n apt install -y ansible geany apt install libreoffice libreoffice-l10n-fr wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- |sudo apt-key add - wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- |sudo apt-key add - cat >/etc/apt/sources.list<<EOT deb http://ftp.fr.debian.org/debian/ stretch main contrib non-free deb http://security.debian.org/debian-security stretch/updates main contrib non-free deb http://ftp.fr.debian.org/debian/ stretch-updates main contrib non-free deb http://download.virtualbox.org/virtualbox/debian stretch contrib EOT apt update apt upgrade -y apt install -y virtualbox-5.2 cat >/root/crtab<<EOT 0 18 * * * /sbin/poweroff EOT crontab /root/crtab
Tous les ordinateurs de la salle 211 ont étés réinstallés et renommer.(de 01 à 15). Ils ont été réinstallés en mode PXE. les différents logiciels à dispositions sont à jour. Nous avons constatés que certains câbles Ethernet étais en mauvaise état. (faux contact…)
Ansible c'est quoi ?
Ansible est un outil d'automatisation informatique. Il peut configurer des systèmes, déployer des logiciels et orchestrer des tâches informatiques plus avancées telles que des déploiements continus ou des mises à jour.
Les principaux objectifs d'Ansible sont la simplicité et la facilité d'utilisation. Ansible utilise le langage YAML.
voici notre partie local:
- hosts: localhost become: true vars: proxy_env: http_proxy: http://10.121.38.1:8080 https_proxy: http://10.121.38.1:8080 pre_tasks: - name: Copie apt.conf copy: src=files/apt.conf dest=/etc/apt - name: Copie sources.list copy: src=files/sources.list dest=/etc/apt - name: copie cerificat virtualbox 2016 copy: src: files/oracle_vbox_2016.asc dest: ./oracle_vbox_2016.asc - name: Insertion certificat virtualbox 2016 apt_key: file: files/oracle_vbox_2016.asc - name: copie cerificat virtualbox copy: src: files/oracle_vbox.asc dest: ./oracle_vbox_2016.asc - name: Insertion certificat virtualbox apt_key: file: files/oracle_vbox.asc - name: update repositories apt: update_cache=yes changed_when: False - name: sudo apt: name: sudo tasks: - include: tasks/users.yml - include: tasks/cron.yml - include: tasks/packages.yml - include: tasks/packages-xfce.yml - include: tasks/packages-vbox.yml - include: tasks/packages-dvlpt.yml tags: ['dvlpt'] - include: tasks/packages-fusion.yml
Nous avons ensuite plusieurs sous parties ce qui facilite la lisibilité et l'organisation.
script:
#!/bin/bash export http_proxy=http://10.121.38.1:8080 export https_proxy=http://10.121.38.1:8080 wget http://debian.fusioninventory.org/downloads/fusioninventory-agent_2.4-2_all dpkg -i fusioninventory-agent_2.4-2_all apt install -y --fix-broken #redemarer les service #systemctl restart fusioninventory-agent #start immediate run #pkill -USR1 -f -P 1 fusioninventory-agent exit 0
playbook:
- name: copie script inst-fusion copy: src: files/inst-fusion dest: /tmp mode: 0755 - name: lancement script inst-fusion command: /tmp/inst-fusion #args:===== Fusioninventory ===== # chdir: /tmp - name: copie agent.cfg dans /etc/fusioninventory copy: src: files/agent.cfg dest: /etc/fusioninventory - name: restart fusioninventory-agent service: name: fusioninventory-agent state: restarted
le crontab a pour but de programmé une extinction automatique des postes ici nous avons fait en sorte que les machines s'éteignent chaque jours a 18h15 (le fait de ne rien mettre dans “weekday” signal que cela vas s'effectuer tous les jours.
- cron: name: "Crontab" weekday: minute: "15" hour: "18" job: "ls -alh > /dev/null"
celui ci nous servira pour installer les différents logiciel de développements, nous avons mis la ligne “tags: dvlpt” car étant donner que nous ne l'utiliserons pas a chaque installation.Donc lorsque nous installerons une machine “dvlpt” ne s'installera pas, pour l'installer il faudrat utiliser –tags
- name: Install Dvlpt packages apt: name={{item}} with_items: - apache2 - php - mariadb-server - phpmyadmin - openjdk-8-jre - geany tags: dvlpt
- name: install driver amd/radeon apt: name: firmware-amd-graphics when: ansible_product_name == "HP Compaq 6005 Pro SFF PC" - name: Install base packages apt: name={{item}} with_items: - xfce4 - xfce4-goodies - gvfs - gvfs-backends - task-print-server - chromium - chromium-l10n - firefox-esr - firefox-esr-l10n-fr
- name: Install base packages apt: name={{item}} with_items: - vim - mc - tmux - tcpdump - net-tools
- name: copie source.list vbox copy: src: files/sources.list.vbox dest: /etc/apt/sources.list - name: update repositories apt: update_cache=yes changed_when: False - name: Install Vbox packages apt: name={{item}} with_items: - virtualbox-5.2
- name: create ansible user user: name=ansible uid=900 - name: copy sudoers_ansible copy: src: files/sudoers_ansible dest: /etc/sudoers.d/ansible owner: root group: root mode: 0440
Nous avons réaliser ce script car il arrive parfois de se tromper et d'installer de le playbook avec la partie développement sur une machine qui n'en à pas besoin, par conséquent si cela ce reproduit nous aurons juste à exécuter ce script.
il suffit simplement de l'éxécuter a distance sur la machine sio214-11
#!/bin/bash apt remove phpmyadmin mariadb-server openjdk-8-jre geany php -y
Parfois il arrive que virtualBox rencontre certains problèmes au lancement d'une machine virtuelle. le Téléchargement de l'extension pack ne se fait pas correctement, ce problème arrive sans qu'on ne sache pourquoi. Néanmoins nous avons trouver la solution.
il suffit d'entrer cette commande dans votre terminal:
VBoxManage extpack install --replace +le nom de votre ancien extpack
Afin d'avoir un accès a Internet via firefox il faut parametrer le navigateur sur “auto detection du proxy”. pour cela nous avons rajouter ces lignes dans le main.yml de notre playbook. Le but étant de rajouter la ligne pref\(\“network.proxy.type\”, 4\); a la fin du fichier /etc/firefox-esr/firefox-esr.js
le 4 signifie l'auto détection du proxy.
- lineinfile: dest: /etc/firefox-esr/firefox-esr.js state: present regexp: '^pref\(\"network.proxy.type\", 4\);$' line: 'pref("network.proxy.type", 4);'
Notre playbook a beaucoup évoluer au cours des dernière semaine comme peut en témoigner le main.yml
- name: Install base packages apt: name={{item}} with_items: - vim - mc - tmux - tcpdump - net-tools - name: create ansible user user: name=ansible uid=900 - name: copy sudoers_ansible copy: src: sudoers_ansible dest: /etc/sudoers.d/ansible owner: root group: root mode: 0440 - name: install cron job (ansible-pull) cron: user="ansible" name="ansible provision" hour="13,18" job="/usr/bin/ansi$ - name: install poweroff cron job cron: user="root" name="poweroff" minute="20" hour="18" job="/sbin/poweroff" - lineinfile: dest: /etc/firefox-esr/firefox-esr.js state: present regexp: '^pref\(\"network.proxy.type\", 4\);$' line: 'pref("network.proxy.type", 4);'