Who We Are

HIP was one of Earlham College’s first Applied Groups. It focuses on interfacing hardware with software and the on-campus computers to do various projects.

This WordPress serves as a mix of electronic bulletin board and group activity archive. It replaces a Wiki that used to serve this purpose.

Current members

  • Craig Earley ’17
  • Eli Koehn ’18
  • Anna Schonwald ’17
  • Adam Schwartz ’18
  • Kellan Steele ’17
  • Tara Urner ’16
  • Charlie Peck ’84 (Faculty Adviser)

Bacula Configuration On Proto

Our Bacula configuration was incomplete, so let’s get to work.

We need root access:

sudo su -

We already have everything installed, and it’s running.

service bacula-director status
bacula-dir is running.

Our problem was that we never specified a backup or restore directory,
which is why we received the error, Unable to stat device
/nonexistant/path/to/file/archive/dir: ERR=No such file or directory

mkdir -p /bacula/backup /bacula/restore

Change permissions for bacula process

chown -R bacula:bacula /bacula
chmod -R 700 /bacula

Now we can edit /etc/bacula/bacula-dir.conf and add our corrected paths.

Also edit /etc/bacula/bacula-sd.conf.

Test our changes (silence is success).

bacula-dir -tc /etc/bacula/bacula-dir.conf
bacula-sd -tc /etc/bacula/bacula-sd.conf

Restart the bacula service.

service bacula-sd restart
Stopping Bacula Storage daemon...: bacula-sd.
Starting Bacula Storage daemon...: bacula-sd.
service bacula-director restart
Stopping Bacula Director...: bacula-dir.
Starting Bacula Director...: bacula-dir.

Now it’s time to test the backup (and restore) using bacula-console.
This might take a while.


$ bacula-console
$ label <give it a name>
$ run <choose BackupClient1 :1>
$ yes
$ messages <keep checking messages until Termination: Backup OK>


$ bacula-console
$ restore all <select most recent :5>
$ done
$ yes
$ mesages <Termination: Restore OK>

Check file systems match.

ls -la /
ls -la /bacula/restore

I can’t get a one-liner diff to But it should be something like this:
diff <(ls -la /) <(ls -la /bacula/restore)

Air Monitor Documentation

I have updated the air monitor documentation page to reflect the full, up-to-the-minute status of the project as of this writing. Take a look, as we will want someone to add some functionality (shouldn’t take as much time to improve as it did to create in the first place).

Scripts and Moving Forward

I spent a few hours in the last couple of weeks writing and testing scripts to make creating new users easier. We already have a script to create user accounts on the CS subnet, but proto lacked anything of the kind. I fixed that with a more minimal alternative script (in Bash rather than Python).

I also installed and used the wp-cli tool to automate the management of user accounts on our WordPress blogs (such as this one). Navigate to the appropriate directory with an account with proper permissions, and the commands should work seamlessly. Much better than the GUI, in my view.

Scripts here, sans identifying information. A protocol sheet has been sent to faculty leaders via Google Drive.

I’m have only 5 hours of paid HIP work for the semester, which I intend to use to finish documentation, help others get started with projects and questions, and tie up whatever loose ends I’ve left behind. Then I’ll be focusing on Data Science but still around for occasional questions and discussion.


This is the home of the Hardware Interface Project’s documentation. Our members will be contributing content every other week going forward. Welcome, and we hope you benefit from what we have learned.