Ruptime does not have a dedicated official package. This tool is typically part of the rwho or netkit-rwho package on some systems, or may need to be compiled from source.
Ruptime is a network monitoring utility that:
Note: The rwho/ruptime protocol is considered legacy and has security limitations. Modern alternatives are recommended for production use.
---
- name: Install Ruptime from Packages
hosts: ruptime
become: true
tasks:
- name: Install rwho/ruptime (Debian/Ubuntu)
apt:
name:
- rwho
- netkit-rwho
state: present
update_cache: true
when: ansible_os_family == "Debian"
failed_when: false
- name: Install rwho/ruptime (RHEL/CentOS)
yum:
name:
- rwho
- netkit-rwho
state: present
enablerepo: epel
when: ansible_os_family == "RedHat"
failed_when: false
- name: Verify ruptime installation
command: ruptime --version
register: ruptime_check
changed_when: false
failed_when: false
- name: Display Ruptime status
debug:
msg: |
Ruptime installation status:
{% if ruptime_check.rc == 0 %}
Ruptime is installed and available.
Command: ruptime
{% else %}
Ruptime package not available in standard repositories.
Consider alternative installation methods or tools.
{% endif %}
---
- name: Compile Ruptime from Source
hosts: ruptime
become: true
vars:
rwho_repo: "https://github.com/arnoldrobbins/netkit-rwho.git"
rwho_dir: "/opt/netkit-rwho"
tasks:
- name: Install build dependencies
package:
name:
- git
- gcc
- make
- libbsd-dev
state: present
- name: Clone netkit-rwho repository
git:
repo: "{{ rwho_repo }}"
dest: "{{ rwho_dir }}"
version: master
- name: Build rwho/ruptime
command: make
args:
chdir: "{{ rwho_dir }}"
creates: "{{ rwho_dir }}/ruptime"
- name: Install rwho/ruptime binaries
copy:
src: "{{ item }}"
dest: /usr/local/bin/
owner: root
group: root
mode: '0755'
remote_src: true
loop:
- "{{ rwho_dir }}/ruptime"
- "{{ rwho_dir }}/rwho"
- "{{ rwho_dir }}/rwhod"
- name: Configure rwhod daemon
hosts: monitored_hosts
become: true
tasks:
- name: Create rwhod spool directory
file:
path: /var/spool/rwho
state: directory
mode: '0755'
- name: Create rwhod systemd service
copy:
dest: /etc/systemd/system/rwhod.service
mode: '0644'
content: |
[Unit]
Description=Rwho Daemon
After=network.target
[Service]
Type=forking
ExecStart=/usr/sbin/rwhod
Restart=on-failure
[Install]
WantedBy=multi-user.target
- name: Enable and start rwhod
systemd:
name: rwhod
enabled: true
state: started
daemon_reload: true
- name: Configure firewall for rwho
ufw:
rule: allow
port: 513/udp
proto: udp
comment: "Rwho protocol"
when: ansible_os_family == "Debian"
failed_when: false
# Display uptime for all hosts on network
ruptime
# Show detailed information
ruptime -l
# Sort by load average
ruptime -l
# Show only up hosts
ruptime -u
# Show only down hosts
ruptime -d
Important: The rwho protocol has significant security limitations:
For production monitoring, consider these alternatives:
- name: Install Node Exporter (Recommended Alternative)
hosts: monitored_hosts
become: true
vars:
node_exporter_version: "1.9.0"
tasks:
- name: Create node_exporter user
user:
name: node_exporter
system: true
shell: /usr/sbin/nologin
create_home: false
- name: Download Node Exporter
get_url:
url: "https://github.com/prometheus/node_exporter/releases/download/v{{ node_exporter_version }}/node_exporter-{{ node_exporter_version }}.linux-amd64.tar.gz"
dest: /tmp/node_exporter.tar.gz
- name: Extract and install
unarchive:
src: /tmp/node_exporter.tar.gz
dest: /tmp
remote_src: true
- name: Move binary
copy:
src: "/tmp/node_exporter-{{ node_exporter_version }}.linux-amd64/node_exporter"
dest: /usr/local/bin/node_exporter
owner: node_exporter
group: node_exporter
mode: '0755'
remote_src: true
# Check if rwhod is running
sudo systemctl status rwhod
# Check rwho spool directory
ls -la /var/spool/rwho/
# Check firewall
sudo ufw status | grep 513
# Check spool directory permissions
ls -la /var/spool/rwho/
# Fix permissions
sudo chmod 755 /var/spool/rwho/
man ruptime, man rwho, man rwhodWe develop tailored automation solutions for:
Let’s discuss your requirements: office@linux-server-admin.com | Contact