Week 10 Class 29 Fri Oct 30 Posted: Oct 30

Class session:

  1. Announcement:

    I will post the Midterm Exam by class time on Monday, Nov 2. It is a take-home exam due by Friday, Nov 6.

    The exercises today work with complicated tools. If you have any questions, make sure to drop into Discord or send me an email. Questions often lead me to clarify the instructions.

    I am behind on grading. Will get caught up this weekend.

  2. Screencast: DevOps Remote Work

    I swear that it will kill the job if you exit a remote system unless you use nohup. It just takes a while to do so, so I could not demo that in the screencast. Besides, with a critical, long-running program, you do not want to take a chance.

    The more modern version of screen is tmux, and there are many other alternatives.

    screen man page

    GenN.cpp

  3. Exercise 70: screen session

    Create a showterm session that demonstrates using the screen program. You can use the class server or a local machine.

    Demonstrate the following:

    1. Start a showterm session on your local machine (or on a department server)
    2. Creating a screen session
    3. Enter some commands in the session. Starting a long-running program, go into an editor, etc.
    4. Detach from the session. Note: Detach is the Control-a Control-d
    5. List the current sessions.
    6. Exit from the ssh session. Then ssh back in.
    7. Reattach to an existing screen session.
    8. Exit the showterm session

    Upload to DevOps Exercise 70: screen session

  4. Screencast: DevOps Init Systems

    In retrospect, on the GenN example, I should have used a Python program instead (less to install).

    Also, you can use docker cp to copy a file into a running container:

    launchd genn service plist

    systemd genn service - Modify at least User and ExecPath.

  5. Exercises 71 & 72: Service

    Take a program and turn it into a system service. The program can be a simple python or PHP script, or even a bash script. Yes, you can use GenN.cpp. Whatever it is, it needs to run forever, with some output. Make the output go to stderr to view with launchctl.

    The choices are:

    Create a showterm that demonstrates the following:

    1. Get the service going.
    2. Show that the service is working.
    3. Stop the service.
    4. Show that the service is not working.

    Note: Symbolic links are of the form:

    If you are in the directory where you want the symbolic link, then it is just:

    Upload to DevOps Exercises 71 & 72: Service

Screencast Folder: Class 29 Fri Oct 30

Exercise Due Date: 4 pm on Sunday, Nov 01

Reminders: