How do you keep your Fedora up to date?
October 5, 2016 by omiday ['ɔ:mi:deı] / Updated: October 11, 2016As a sysadmin, my tool of choice has always been the command line under GNU Screen so I've never considered digging into the process until today, following a post about the dnf update X crash. Adam Williamson from Fedora QA gave a good summary in his blog post about the issue.
As it turns out, Fedora systemd maintainers decided to compile systemd with the KillUserProcess property disabled:
omiday ~ $ loginctl -p KillUserProcesses show-session KillUserProcesses=no
It means that for systems running Fedora <26 the update can be safely applied from within the desktop environment. Beyond that, we need to watch for patches to screen. From Fedora wiki page Changes/KillUserProcesses:
[...] work with upstream authors and Fedora maintainers of programs like screen and tmux to implement the ability to automatically start them in a way that survives a user session, and if the system policy does not allow that, to warn the user.
So when it's time for my next round of updates I will not be using the Ansible dnf module in my network(s), I will not be using the graphical online update tool on my workstation(s), rather I will be logging in to each machine remotely via SSH and run dnf upgrade from within a screen session.
But how? I mean, manual login into each server? FWIW there are tools that can trigger a remote update, see RedHat Satellite. I've never used it though. Until recently, at my work place we were pushing using an in-house tool that scaled well for the 300+ server farm. The log was the output of yum update, just as one would expect when sitting at the console. Having switched to Ansible (due to RHEL 7 subscription requirements) I looked for a solution and as one would expect I wasn't the only one. The problem with Ansible is that ssh -tt is in its blood so to speak so the shell module would not return any output. I ended up forcing the command from the controlling machine, just as I would run the SSH command myself:
---
# EXTRA_VARS:
# update_type -- match /etc/dnf/automatic.conf
- hosts: mha
user: root
roles:
- role: rpm/dnf-automatic
when: >
upgrade_type is defined
and upgrade_type == 'security'
and ansible_distribution == 'Fedora'
and ansible_distribution_version | int > 22
tasks:
- name: "(dnf-automatic) Applying security updates to Fedora 22+ hosts"
shell: 'dnf-automatic'
when: >
upgrade_type is defined
and upgrade_type == 'security'
and ansible_distribution == 'Fedora'
and ansible_distribution_version | int > 22
- name: Applying security updates to Debian hosts
shell: 'unattended-upgrade'
when: ansible_os_family == 'Debian'
- hosts: mha
user: root
tasks:
- name: "Applying all updates"
when: upgrade_type is defined and upgrade_type == 'default'
#dnf: name=* state=latest
delegate_to: localhost
command: >
/usr/bin/ssh -tt root@{{inventory_hostname}} \
'sh -c "exec </dev/tty \
&& screen -c /dev/null -S ansible \
/usr/bin/dnf -y upgrade"'
changed_when: False
register: dnf_output
- debug: var=dnf_output.stdout_lines
when: dnf_output is defined
- Note:
- I must mention that TLDP has a nice documentation about exec and I/O Redirection.
To test, I'll start the Ansible playbook and kill it in the middle of the execution, while monitoring the process list and screen sessions on the target box.
Start on the controller machine:
omiday ~/work/mha/ansible $ date ; ansible-playbook master.yml -e upgrade_type='default' -l stuff.can.local ; date
Tue Oct 11 22:17:22 MDT 2016
PLAY [mha] *********************************************************************
TASK [setup] *******************************************************************
ok: [stuff.can.local]
TASK [rpm/dnf-automatic : [roles/rpm/dnf-automatic] install dnf-automatic] *****
TASK [rpm/dnf-automatic : [roles/rpm/dnf-automatic] install /etc/dnf/automatic.conf] ***
TASK [(dnf-automatic) Applying security updates to Fedora 22+ hosts] ***********
TASK [Applying security updates to Debian hosts] *******************************
PLAY [mha] *********************************************************************
TASK [setup] *******************************************************************
ok: [stuff.can.local]
TASK [Applying all updates] ****************************************************
^C [ERROR]: User interrupted execution
Tue Oct 11 22:17:52 MDT 2016
Note the time when I killed the Ansible task: 22:17:52.
Let's look at the target machine:
root@stuff ~]# while : ; do date ; netstat -npeet | grep :22 ; pgrep -f "dnf" -a && pstree -slapA $(pgrep -f "dnf" | tail -n 1) ; screen -ls ; read -p '>>> ' -t 3 ; done
Tue Oct 11 22:16:57 MDT 2016
tcp 0 0 192.168.0.9:22 192.168.0.11:55462 ESTABLISHED 0 2570992 15285/sshd: root [p
No Sockets found in /var/run/screen/S-root.
... waiting for Ansible to kick in ...
...and here's the first connection:
>>> Tue Oct 11 22:17:22 MDT 2016
tcp 0 0 192.168.0.9:22 192.168.0.11:55462 ESTABLISHED 0 2570992 15285/sshd: root [p
No Sockets found in /var/run/screen/S-root.
>>> Tue Oct 11 22:17:25 MDT 2016
tcp 0 324 192.168.0.9:22 192.168.0.11:55472 ESTABLISHED 0 2573935 15512/sshd: root [p
tcp 0 0 192.168.0.9:22 192.168.0.11:55462 ESTABLISHED 0 2570992 15285/sshd: root [p
No Sockets found in /var/run/screen/S-root.
... waiting for Ansible to start the upgrade under a 'screen' session
Surely enough, it didn't take long:
>>> Tue Oct 11 22:17:46 MDT 2016
tcp 0 0 192.168.0.9:22 192.168.0.11:55462 ESTABLISHED 0 2570992 15285/sshd: root [p
tcp 0 0 192.168.0.9:22 192.168.0.11:55494 ESTABLISHED 0 2576460 16125/sshd: root [p
16145 sh -c exec </dev/tty && screen -c /dev/null -S ansible /usr/bin/dnf -y upgrade
16162 screen -c /dev/null -S ansible /usr/bin/dnf -y upgrade
16163 SCREEN -c /dev/null -S ansible /usr/bin/dnf -y upgrade
16164 /usr/bin/python3 /usr/bin/dnf -y upgrade
systemd,1 --system --deserialize 21
`-sshd,30323
`-sshd,16125
`-sshd,16135
`-sh,16145 -c exec </dev/tty && screen -c /dev/null -S ansible /usr/bin/dnf -y upgrade
`-screen,16162 -c /dev/null -S ansible /usr/bin/dnf -y upgrade
`-screen,16163 -c /dev/null -S ansible /usr/bin/dnf -y upgrade
`-dnf,16164 /usr/bin/dnf -y upgrade
There is a screen on:
16163.ansible (Attached)
1 Socket in /var/run/screen/S-root.
Now that we've got the screen session it's time to kill the Ansible task on the controller box:
>>> Tue Oct 11 22:17:49 MDT 2016
tcp 0 0 192.168.0.9:22 192.168.0.11:55462 ESTABLISHED 0 2570992 15285/sshd: root [p
tcp 0 0 192.168.0.9:22 192.168.0.11:55494 ESTABLISHED 0 2576460 16125/sshd: root [p
16145 sh -c exec </dev/tty && screen -c /dev/null -S ansible /usr/bin/dnf -y upgrade
16162 screen -c /dev/null -S ansible /usr/bin/dnf -y upgrade
16163 SCREEN -c /dev/null -S ansible /usr/bin/dnf -y upgrade
16164 /usr/bin/python3 /usr/bin/dnf -y upgrade
systemd,1 --system --deserialize 21
`-sshd,30323
`-sshd,16125
`-sshd,16135
`-sh,16145 -c exec </dev/tty && screen -c /dev/null -S ansible /usr/bin/dnf -y upgrade
`-screen,16162 -c /dev/null -S ansible /usr/bin/dnf -y upgrade
`-screen,16163 -c /dev/null -S ansible /usr/bin/dnf -y upgrade
`-dnf,16164 /usr/bin/dnf -y upgrade
`-etckeeper,16193 /usr/bin/etckeeper pre-install
`-10packagelist,16198 /etc/etckeeper/pre-install.d/10packagelist
`-etckeeper,16200 /usr/bin/etckeeper list-installed
`-50list-installe,16205 /etc/etckeeper/list-installed.d/50list-installed
|-rpm,16206 -qa --qf %|epoch?{%{epoch}}:{0}|:%{name}-%{version}-%{release}.%{arch}\\n
`-sort,16207
There is a screen on:
16163.ansible (Attached)
1 Socket in /var/run/screen/S-root.
>>> Tue Oct 11 22:17:52 MDT 2016
tcp 0 0 192.168.0.9:22 192.168.0.11:55462 ESTABLISHED 0 2570992 15285/sshd: root [p
16163 SCREEN -c /dev/null -S ansible /usr/bin/dnf -y upgrade
16164 /usr/bin/python3 /usr/bin/dnf -y upgrade
systemd,1 --system --deserialize 21
`-screen,16163 -c /dev/null -S ansible /usr/bin/dnf -y upgrade
`-dnf,16164 /usr/bin/dnf -y upgrade
`-etckeeper,16193 /usr/bin/etckeeper pre-install
`-10packagelist,16198 /etc/etckeeper/pre-install.d/10packagelist
`-etckeeper,16200 /usr/bin/etckeeper list-installed
`-50list-installe,16205 /etc/etckeeper/list-installed.d/50list-installed
|-rpm,16206 -qa --qf %|epoch?{%{epoch}}:{0}|:%{name}-%{version}-%{release}.%{arch}\\n
`-sort,16207
There is a screen on:
16163.ansible (Detached)
1 Socket in /var/run/screen/S-root.
There! The screen session is now detached. Same time: 22:17:52.
Now that we've disconnected it's time for the coffee break until we can check that the upgrade completed:
>>> Tue Oct 11 22:17:55 MDT 2016
tcp 0 0 192.168.0.9:22 192.168.0.11:55462 ESTABLISHED 0 2570992 15285/sshd: root [p
16163 SCREEN -c /dev/null -S ansible /usr/bin/dnf -y upgrade
16164 /usr/bin/python3 /usr/bin/dnf -y upgrade
systemd,1 --system --deserialize 21
`-screen,16163 -c /dev/null -S ansible /usr/bin/dnf -y upgrade
`-dnf,16164 /usr/bin/dnf -y upgrade
`-etckeeper,16193 /usr/bin/etckeeper pre-install
`-10packagelist,16198 /etc/etckeeper/pre-install.d/10packagelist
`-etckeeper,16200 /usr/bin/etckeeper list-installed
`-50list-installe,16205 /etc/etckeeper/list-installed.d/50list-installed
|-rpm,16206 -qa --qf %|epoch?{%{epoch}}:{0}|:%{name}-%{version}-%{release}.%{arch}\\n
`-sort,16207
There is a screen on:
16163.ansible (Detached)
1 Socket in /var/run/screen/S-root.
... more like those ...
Here's one process list where we actually see package names:
>>> Tue Oct 11 22:18:13 MDT 2016
tcp 0 0 192.168.0.9:22 192.168.0.11:55462 ESTABLISHED 0 2570992 15285/sshd: root [p
16163 SCREEN -c /dev/null -S ansible /usr/bin/dnf -y upgrade
16164 /usr/bin/python3 /usr/bin/dnf -y upgrade
16304 /usr/bin/applydeltarpm -a noarch /var/cache/dnf/updates-testing-648243a4cddd356c/packages/ibus-typing-booster-1.5.7-1.fc24_1.5.8-1.fc24.noarch.drpm /var/cache/dnf/updates-testing-648243a4cddd356c/packages/ibus-typing-booster-1.5.8-1.fc24.noarch.rpm
16308 /usr/bin/applydeltarpm -a x86_64 /var/cache/dnf/updates-testing-648243a4cddd356c/packages/gnutls-3.4.15-1.fc24_3.4.16-1.fc24.x86_64.drpm /var/cache/dnf/updates-testing-648243a4cddd356c/packages/gnutls-3.4.16-1.fc24.x86_64.rpm
systemd,1 --system --deserialize 21
`-screen,16163 -c /dev/null -S ansible /usr/bin/dnf -y upgrade
`-dnf,16164 /usr/bin/dnf -y upgrade
`-applydeltarpm,16308 -a x86_64 /var/cache/dnf/updates-testing-648243a4cddd356c/packages/gnutls-3.4.15-1.fc24_3.4.16-1.fc24.x86_64.drpm /var/cache/dnf/updates-testing-648243a4cddd356c/packages/gnutls-3.4.16-1.fc24.x86_64.rpm
There is a screen on:
16163.ansible (Detached)
1 Socket in /var/run/screen/S-root.
>>> Tue Oct 11 22:18:17 MDT 2016
tcp 0 0 192.168.0.9:22 192.168.0.11:55462 ESTABLISHED 0 2570992 15285/sshd: root [p
16163 SCREEN -c /dev/null -S ansible /usr/bin/dnf -y upgrade
16164 /usr/bin/python3 /usr/bin/dnf -y upgrade
systemd,1 --system --deserialize 21
`-screen,16163 -c /dev/null -S ansible /usr/bin/dnf -y upgrade
`-dnf,16164 /usr/bin/dnf -y upgrade
|-(applydeltarpm,16304)
`-(applydeltarpm,16308)
There is a screen on:
16163.ansible (Detached)
1 Socket in /var/run/screen/S-root.
...and there's also a kernel upgrade going on:
>>> Tue Oct 11 22:20:32 MDT 2016
tcp 0 0 192.168.0.9:22 192.168.0.11:55462 ESTABLISHED 0 2570992 15285/sshd: root [p
16163 SCREEN -c /dev/null -S ansible /usr/bin/dnf -y upgrade
16164 /usr/bin/python3 /usr/bin/dnf -y upgrade
systemd,1 --system --deserialize 21
`-screen,16163 -c /dev/null -S ansible /usr/bin/dnf -y upgrade
`-dnf,16164 /usr/bin/dnf -y upgrade
`-sh,16940 /var/tmp/rpm-tmp.hlgpOL 3
`-kernel-install,16942 /bin/kernel-install add 4.7.7-200.fc24.x86_64 /lib/modules/4.7.7-200.fc24.x86_64/vmlinuz
`-new-kernel-pkg,16984 /sbin/new-kernel-pkg --package kernel --mkinitrd --dracut --depmod --update 4.7.7-200.fc24.x86_64
`-depmod,17003 -ae -F /boot/System.map-4.7.7-200.fc24.x86_64 4.7.7-200.fc24.x86_64
There is a screen on:
16163.ansible (Detached)
1 Socket in /var/run/screen/S-root.
Last bit:
>>> Tue Oct 11 22:21:46 MDT 2016
tcp 0 68 192.168.0.9:22 192.168.0.11:55462 ESTABLISHED 0 2570992 15285/sshd: root [p
16163 SCREEN -c /dev/null -S ansible /usr/bin/dnf -y upgrade
16164 /usr/bin/python3 /usr/bin/dnf -y upgrade
systemd,1 --system --deserialize 21
`-screen,16163 -c /dev/null -S ansible /usr/bin/dnf -y upgrade
`-dnf,16164 /usr/bin/dnf -y upgrade
`-sh,20108 -c etckeeper post-install > /dev/null
`-etckeeper,20109 /usr/bin/etckeeper post-install
`-50vcs-commit,20114 /etc/etckeeper/post-install.d/50vcs-commit
|-50vcs-commit,20135 /etc/etckeeper/post-install.d/50vcs-commit
| |-diff,20138 -U0 /var/cache/etckeeper/packagelist.pre-install -
| |-etckeeper,20137 /usr/bin/etckeeper list-installed
| | `-50list-installe,20149 /etc/etckeeper/list-installed.d/50list-installed
| | |-rpm,20151 -qa --qf %|epoch?{%{epoch}}:{0}|:%{name}-%{version}-%{release}.%{arch}\\n
| | `-sort,20152
| |-grep,20140 -E ^[-+]
| `-tail,20139 -n+4
`-etckeeper,20136 /usr/bin/etckeeper commit --stdin
`-50vcs-commit,20179 /etc/etckeeper/commit.d/50vcs-commit --stdin
`-cat,20181
There is a screen on:
16163.ansible (Detached)
1 Socket in /var/run/screen/S-root.
>>> Tue Oct 11 22:21:49 MDT 2016
tcp 0 0 192.168.0.9:22 192.168.0.11:55462 ESTABLISHED 0 2570992 15285/sshd: root [p
No Sockets found in /var/run/screen/S-root.
So that's it folks! Let's confirm:
>>> Tue Oct 11 22:21:55 MDT 2016
tcp 0 0 192.168.0.9:22 192.168.0.11:55462 ESTABLISHED 0 2570992 15285/sshd: root [p
No Sockets found in /var/run/screen/S-root.
>>> ^C
[root@stuff ~]# dnf history list | head
ID | Command line | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
144 | -y upgrade | 2016-10-11 22:19 | E, I, O, U | 40
143 | -y upgrade | 2016-10-08 18:07 | I, U | 66
142 | -y upgrade | 2016-10-05 21:47 | E, I, U | 89 EE
141 | | 2016-10-04 22:39 | E, I, O, U | 168 EE
140 | | 2016-10-04 22:27 | Install | 1
139 | upgrade | 2016-09-23 14:07 | E, I, O, U | 179
138 | upgrade | 2016-09-15 20:23 | E, I, U | 313 EE
137 | upgrade | 2016-09-03 21:18 | E, I, U | 355
[root@stuff ~]# dnf history info last
Transaction ID : 144
Begin time : Tue Oct 11 22:19:05 2016
Begin rpmdb : 3446:a212d092b65d6d67d1c1c61b1ab0f0f354244810
End time : 22:21:37 2016 (152 seconds)
End rpmdb : 3447:de07737f44b22676b0ff08b704556491658c531a
User : root <root>
Return-Code : Success
Command Line : -y upgrade
Transaction performed with:
Installed dnf-1.1.10-1.fc24.noarch @updates
Installed rpm-4.13.0-0.rc1.27.fc24.x86_64 @@commandline
Packages Altered:
Upgraded ghostscript-9.16-5.fc24.x86_64 @updates-testing
Upgrade 9.20-2.fc24.x86_64 @updates-testing
Upgraded ghostscript-core-9.16-5.fc24.x86_64 @updates-testing
Upgrade 9.20-2.fc24.x86_64 @updates-testing
Upgraded ghostscript-x11-9.16-5.fc24.x86_64 @updates-testing
Upgrade 9.20-2.fc24.x86_64 @updates-testing
Upgraded gnutls-3.4.15-1.fc24.i686 @updates
Upgraded gnutls-3.4.15-1.fc24.x86_64 @updates
Upgrade 3.4.16-1.fc24.i686 @updates-testing
Upgrade 3.4.16-1.fc24.x86_64 @updates-testing
Upgraded gnutls-dane-3.4.15-1.fc24.x86_64 @updates
Upgrade 3.4.16-1.fc24.x86_64 @updates-testing
Upgraded gnutls-utils-3.4.15-1.fc24.x86_64 @updates
Upgrade 3.4.16-1.fc24.x86_64 @updates-testing
... etc. etc. etc. ...
But what about rebooting the system after every update [1] [2]? Or maybe just restarting services will do...?
[root@omiday ~]# dnf tracer You should restart: + Some applications using: service ModemManager restart service NetworkManager restart service abrtd restart service accounts-daemon restart service atd restart service auditd restart service crond restart service dnsmasq restart service firewalld restart service gssproxy restart service httpd restart service irqbalance restart service libvirtd restart service lightdm restart service mcelog restart service smartd restart service sshd restart service systemd-journald restart service systemd-logind restart service systemd-udevd restart service wpa_supplicant restart + These applications manually: Xorg abrt-dbus abrt-dump-journal-xorg alsactl audispd bluetoothd cupsd master rpc.gssd rsyslogd sedispatch systemd x2gocleansessio Additionally to those process above, there are: 1. 2 processes requiring reboot
And let's verify that again:
[root@omiday ~]# dnf needs-restarting 1 : /usr/lib/systemd/systemd --system --deserialize 23 1064 : /usr/lib64/thunderbird/thunderbird 4913 : /usr/sbin/httpd -DFOREGROUND 6885 : /usr/libexec/gconfd-2 10530 : kwalletmanager 10534 : kdeinit4: kdeinit4 Runnin e 10536 : kdeinit4: klauncher [kdei e 10538 : kdeinit4: kded4 [kdeinit] 10540 : /usr/libexec/gam_server 10544 : kdeinit4: kwalletd [kdein e 11901 : /usr/libexec/gvfsd-http --spawner :1.4 /org/gtk/gvfs/exec_spaw/1 13548 : /usr/sbin/sshd 16643 : /usr/bin/python3 -Es /usr/sbin/setroubleshootd -f 16803 : /usr/libexec/postfix/master -w 16805 : qmgr -l -t unix -u 17209 : /usr/libexec/colord 17538 : /usr/lib/systemd/systemd-journald 17765 : /sbin/auditd -n 17779 : /usr/sbin/sedispatch 17789 : /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation 17791 : /usr/sbin/rsyslogd -n 17800 : /usr/lib/systemd/systemd-logind 17804 : /usr/libexec/rtkit-daemon 17806 : /usr/sbin/ModemManager 17809 : /usr/bin/python3 -Es /usr/sbin/firewalld --nofork --nopid 17813 : /usr/sbin/smartd -n -q never 17815 : /usr/libexec/accounts-daemon 17834 : /usr/sbin/ntpd -u ntp:ntp -g 17845 : /usr/sbin/abrtd -d -s 17853 : /usr/sbin/gssproxy -D 17871 : /usr/sbin/rpc.gssd 17874 : /usr/lib/polkit-1/polkitd --no-debug 17890 : /usr/bin/perl /usr/sbin/x2gocleansessions 17894 : /usr/bin/abrt-dump-journal-xorg -fxtD 17895 : /usr/bin/abrt-dump-journal-oops -fxtD 17910 : /usr/sbin/NetworkManager --no-daemon 17928 : /usr/sbin/libvirtd 17935 : /usr/sbin/httpd -DFOREGROUND 17951 : /usr/sbin/atd -f 17976 : /usr/sbin/lightdm 18006 : /usr/libexec/Xorg -background none :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt1 -novtswitch 18097 : /usr/sbin/wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -u -s 18177 : /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper 18178 : /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper 18255 : lightdm --session-child 12 19 18377 : /usr/lib/systemd/systemd --user 18380 : (sd-pam) 18384 : /bin/sh /etc/xdg/xfce4/xinitrc -- vt 18395 : /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation 18459 : /usr/libexec/imsettings-daemon 18462 : /usr/libexec/gvfsd 18528 : /usr/bin/ssh-agent /bin/sh -c exec -l /bin/bash -c "startxfce4" 18563 : xfce4-session 18567 : /usr/lib64/xfce4/xfconf/xfconfd 18570 : /usr/bin/gpg-agent --sh --daemon --write-env-file /home/omiday/.cache/gpg-agent-info 18572 : xfwm4 18576 : xfce4-panel 18578 : Thunar --daemon 18580 : xfdesktop 18581 : xfce4-clipman 18582 : xfsettingsd 18587 : python3 /usr/bin/blueman-applet 18593 : abrt-applet 18596 : /usr/libexec/xfce-polkit 18601 : /usr/bin/seapplet 18606 : /usr/libexec/at-spi-bus-launcher 18613 : xscreensaver -no-splash 18617 : /usr/bin/pulseaudio --start --log-target=syslog 18633 : /bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3 18646 : /usr/libexec/at-spi2-registryd --use-gnome-session 18647 : nm-applet 18675 : xfce4-power-manager 18686 : /usr/libexec/dconf-service 18703 : /usr/lib64/xfce4/panel/wrapper-1.0 /usr/lib64/xfce4/panel/plugins/libwhiskermenu.so 2 12582945 whiskermenu Whisker Menu Show a menu to easily access installed applications 18713 : /usr/lib64/xfce4/panel/wrapper-1.0 /usr/lib64/xfce4/panel/plugins/libsystray.so 6 12582956 systray Notification Area Area where notification icons appear 18715 : /usr/libexec/upowerd 18716 : /usr/lib64/xfce4/panel/wrapper-2.0 /usr/lib64/xfce4/panel/plugins/libpulseaudio-plugin.so 9 12582957 pulseaudio PulseAudio Plugin Adjust the audio volume of the PulseAudio sound system 18733 : /usr/libexec/gvfs-udisks2-volume-monitor 18737 : /usr/sbin/abrt-dbus -t133 18743 : /usr/libexec/udisks2/udisksd --no-debug 18926 : /usr/libexec/gvfsd-metadata 18931 : /usr/libexec/gvfsd-trash --spawner :1.5 /org/gtk/gvfs/exec_spaw/0 19355 : /usr/bin/Xvnc :1 -auth /var/run/lightdm/omiday/xauthority -desktop omiday.can.local:1 (omiday) -fp catalogue:/etc/X11/fontpath.d -geometry 1600x900 -pn -rfbauth /home/omiday/.vnc/passwd -rfbport 5901 -rfbwait 30000 19373 : /usr/bin/vncconfig -nowin 19375 : /bin/sh /etc/xdg/xfce4/xinitrc -- vt 19388 : dbus-launch --sh-syntax --exit-with-session 19389 : /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session 19465 : /usr/libexec/imsettings-daemon 19469 : /usr/libexec/gvfsd 19548 : xfce4-session 19552 : /usr/lib64/xfce4/xfconf/xfconfd 19555 : /bin/bash 19557 : xfwm4 19561 : xfce4-panel 19565 : xfdesktop 19566 : xfsettingsd 19567 : xfce4-clipman 19574 : abrt-applet 19586 : /usr/bin/seapplet 19594 : xscreensaver -no-splash 19604 : nm-applet 19665 : /usr/libexec/dconf-service 19675 : /usr/libexec/gvfs-udisks2-volume-monitor 19680 : /usr/libexec/at-spi-bus-launcher 19681 : /usr/lib64/xfce4/panel/wrapper-1.0 /usr/lib64/xfce4/panel/plugins/libwhiskermenu.so 2 14680097 whiskermenu Whisker Menu Show a menu to easily access installed applications 19687 : /bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3 19689 : /usr/lib64/xfce4/panel/wrapper-1.0 /usr/lib64/xfce4/panel/plugins/libsystray.so 6 14680108 systray Notification Area Area where notification icons appear 19692 : /usr/lib64/xfce4/panel/wrapper-2.0 /usr/lib64/xfce4/panel/plugins/libpulseaudio-plugin.so 9 14680109 pulseaudio PulseAudio Plugin Adjust the audio volume of the PulseAudio sound system 19698 : /usr/libexec/at-spi2-registryd --use-gnome-session 19709 : /usr/libexec/gvfsd-trash --spawner :1.4 /org/gtk/gvfs/exec_spaw/0 19726 : /usr/libexec/gvfsd-metadata 19815 : /usr/bin/gnome-keyring-daemon --start --foreground --components=secrets 20074 : pidgin 20154 : /usr/libexec/gconfd-2 20365 : /usr/bin/python3 /usr/bin/bpython3 20416 : xfce4-appfinder --collapsed 20450 : /usr/bin/xfce4-terminal 20556 : SCREEN -R omiday 20557 : /bin/bash 20662 : bash 21220 : /usr/bin/vim +75 /home/omiday/.irssi/config-omiday 21626 : /usr/libexec/gvfsd-network --spawner :1.4 /org/gtk/gvfs/exec_spaw/2 21633 : /usr/libexec/gvfsd-dnssd --spawner :1.4 /org/gtk/gvfs/exec_spaw/3 22023 : /usr/sbin/httpd -DFOREGROUND 22024 : /usr/sbin/httpd -DFOREGROUND 22035 : /usr/sbin/httpd -DFOREGROUND 22038 : /usr/sbin/httpd -DFOREGROUND 22040 : /usr/sbin/httpd -DFOREGROUND 23229 : less /home/omiday/.irssi/config /home/omiday/.irssi/config-omiday /home/omiday/.irssi/config-test 23621 : irssi --config /home/omiday/.irssi/config-omiday 24322 : /usr/libexec/bluetooth/bluetoothd 25405 : gvim content/tech/how-do-you-upgrade-fedora.rst 25573 : bash 25686 : screen -R python 25687 : SCREEN -R python 25688 : /bin/bash 25693 : /bin/bash 26696 : /bin/bash 28205 : gvim playbooks/update.yml 28703 : /usr/lib64/firefox/firefox 30546 : bash
Since I've already restarted Remmina a few times while writing this post, I am going to reboot right now...No wait, it's been an hour now and no issues...Or maybe yes, what if there was a security update...
[1] | https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/DM5RZR2FIFUHQ7FXOBM6LKUTC6EOKN46/ |
[2] | https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/MXBK6OCWRLETVJGEOGGKXV3TBYSOSJDA/ |
Some useful DNF plugins
You may have come across Adam's blog X crash during Fedora update when system has hybrid graphics and systemd-udev is in update or the discussion on Fedora list PSA: Do not run 'dnf update' inside GNOME, KDE or any other graphical desktop on Fedora 24. As always, such discussions, do …
read moreSetting up the Epson TM-T88III USB receipt printer on Fedora 24
A whole day of Google digging comes down to this:
Download the Epson TM-T88III drivers:
Home > Support > TM-T88V POS Receipt Printer > Drivers & Downloads
Setup the printer in CUPS:
Local Printers: Epson TM/BA/EU Printer Connection: epsontm:/ESDPRT001 Driver: Epson TM BA Thermal (rastertotmt) (grayscale)
where:
- Local Printers: Epson TM …
Setting up a FreeIPA Client
FreeIPA Client setup on Fedora 25
read more