mirror of
				https://github.com/iiab/iiab.git
				synced 2025-03-09 15:40:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			115 lines
		
	
	
	
		
			4.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			115 lines
		
	
	
	
		
			4.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| # usbmount 0.0.24 and/or 0.0.25 (2022-02-08) should be investigated:
 | |
| # https://github.com/iiab/iiab/issues/3409
 | |
| 
 | |
| # Official usbmount 0.0.22 (2011-08-08) documentation:
 | |
| # https://github.com/rbrito/usbmount/releases
 | |
| # https://github.com/hfuchs/usbmount/blob/master/README (2010-08-11)
 | |
| # https://github.com/rbrito/usbmount/blob/master/README.md (2018-08-10)
 | |
| # https://github.com/rbrito/usbmount/blob/master/usbmount.conf (2010-04-25)
 | |
| 
 | |
| 
 | |
| - name: Record (initial) disk space used
 | |
|   shell: df -B1 --output=used / | tail -1
 | |
|   register: df1
 | |
| 
 | |
| 
 | |
| - name: Does systemd-udevd.service exist
 | |
|   stat:
 | |
|     path: "{{ systemd_location }}/systemd-udevd.service"
 | |
|   register: udev_unit
 | |
| 
 | |
| - name: Copy udevd service to /etc/systemd/system to modify
 | |
|   copy:
 | |
|     src: "{{ systemd_location }}/systemd-udevd.service"
 | |
|     dest: /etc/systemd/system/systemd-udevd.service
 | |
|     owner: root
 | |
|     group: root
 | |
|     mode: 0644
 | |
|   when: udev_unit.stat.exists is defined and udev_unit.stat.exists
 | |
| 
 | |
| - name: Change MountFlags from slave to shared
 | |
|   lineinfile:
 | |
|     backup: no
 | |
|     dest: /etc/systemd/system/systemd-udevd.service
 | |
|     regexp: '^MountFlags'
 | |
|     line: 'MountFlags=shared'
 | |
|     state: present
 | |
|   when: udev_unit.stat.exists is defined and udev_unit.stat.exists
 | |
| 
 | |
| - name: Ask systemd to reread unit files (daemon-reload) and restart so systemd recognizes the changes
 | |
|   systemd:
 | |
|     daemon_reload: yes
 | |
|     name: systemd-udevd
 | |
|     state: restarted
 | |
|   when: udev_unit.stat.exists is defined and udev_unit.stat.exists
 | |
| 
 | |
| # http://raspbian.raspberrypi.org/raspbian/pool/main/u/usbmount/usbmount_0.0.22_all.deb
 | |
| - name: Install {{ iiab_download_url }}/usbmount_0.0.22_all.deb, no longer supported by {RasPiOS, Debian, Ubuntu}
 | |
|   apt:
 | |
|     deb: "{{ iiab_download_url }}/usbmount_0.0.22_all.deb"
 | |
|   # when: is_debian
 | |
| 
 | |
| # check status of usbmount on mintlinux - should be ok Ubuntu variant
 | |
| # - name: Install usbmount from OS repo for Ubuntu variants
 | |
| #   package:
 | |
| #     name: usbmount
 | |
| #     state: present
 | |
| #   when: is_ubuntu
 | |
| 
 | |
| - name: Add dir {{ doc_root }}/local_content, where USB drive links can appear (0775)
 | |
|   file:
 | |
|     state: directory
 | |
|     path: "{{ doc_root }}/local_content"
 | |
|     owner: "{{ apache_user }}"
 | |
|     group: "{{ apache_user }}"    # 2020-02-13: changed from iiab_admin_user, after discussion on weekly call (#1228, #2222)
 | |
|     mode: 0775
 | |
| 
 | |
| - name: 'Install from template: /etc/udev/rules.d/usbmount.rules, /etc/systemd/system/usbmount@.service, /usr/bin/iiab-usb_lib-show-all-on, /usr/bin/iiab-usb_lib-show-all-off, /usr/sbin/iiab-clean-usb.sh'
 | |
|   template:
 | |
|     src: "{{ item.src }}"
 | |
|     dest: "{{ item.dest }}"
 | |
|     mode: "{{ item.mode }}"
 | |
|   with_items:
 | |
|     - { src: 'usbmount.rules.j2', dest: '/etc/udev/rules.d/usbmount.rules', mode: '0644' }
 | |
|     - { src: 'usbmount@.service.j2', dest: '/etc/systemd/system/usbmount@.service', mode: '0644' }
 | |
|     - { src: 'iiab-usb_lib-show-all-on', dest: '/usr/bin/', mode: '0755' }
 | |
|     - { src: 'iiab-usb_lib-show-all-off', dest: '/usr/bin/', mode: '0755' }
 | |
|     - { src: 'iiab-clean-usb.sh', dest: '/usr/sbin/', mode: '0755' }
 | |
| 
 | |
| # 2021-03-21: If usbmount is repackaged by apt as a result of Linux kernel 5.4+
 | |
| # supporting exFAT, the stanza below (might) in future no longer be needed...
 | |
| # SEE ALSO: https://github.com/iiab/iiab/blob/586bfc5cb1abf6b4333a21d3fa89695f115432dc/roles/2-common/tasks/packages.yml#L11-L12
 | |
| - name: Add ' exfat fuseblk ntfs' to FILESYSTEMS var in /etc/usbmount/usbmount.conf
 | |
|   lineinfile:
 | |
|     regexp: '^FILESYSTEMS=.*'
 | |
|     line: 'FILESYSTEMS="vfat ext2 ext3 ext4 hfsplus exfat fuseblk ntfs"'
 | |
|     path: /etc/usbmount/usbmount.conf
 | |
| 
 | |
| - name: Remove /etc/usbmount/mount.d/00_create_model_symlink
 | |
|   file:
 | |
|     path: /etc/usbmount/mount.d/00_create_model_symlink
 | |
|     state: absent
 | |
| 
 | |
| 
 | |
| # RECORD 'USB_LIB' AS INSTALLED
 | |
| 
 | |
| - name: Record (final) disk space used
 | |
|   shell: df -B1 --output=used / | tail -1
 | |
|   register: df2
 | |
| 
 | |
| - name: Add 'usb_lib_disk_usage = {{ df2.stdout|int - df1.stdout|int }}' to {{ iiab_ini_file }}
 | |
|   ini_file:
 | |
|     path: "{{ iiab_ini_file }}"    # /etc/iiab/iiab.ini
 | |
|     section: usb_lib
 | |
|     option: usb_lib_disk_usage
 | |
|     value: "{{ df2.stdout|int - df1.stdout|int }}"
 | |
| 
 | |
| - name: "Set 'usb_lib_installed: True'"
 | |
|   set_fact:
 | |
|     usb_lib_installed: True
 | |
| 
 | |
| - name: "Add 'usb_lib_installed: True' to {{ iiab_state_file }}"
 | |
|   lineinfile:
 | |
|     path: "{{ iiab_state_file }}"    # /etc/iiab/iiab_state.yml
 | |
|     regexp: '^usb_lib_installed'
 | |
|     line: 'usb_lib_installed: True'
 |