|
|
|
<!DOCTYPE html>
|
|
|
|
<html lang="en">
|
|
|
|
|
|
|
|
<head>
|
|
|
|
<meta charset="UTF-8">
|
|
|
|
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
|
|
|
|
<meta name="viewport"
|
|
|
|
content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, viewport-fit=cover">
|
|
|
|
<meta name="format-detection" content="telephone=no">
|
|
|
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
|
|
|
<link rel="apple-touch-icon" sizes="180x180" href="">
|
|
|
|
<meta name="author" content="html makers">
|
|
|
|
<meta name="description" content="">
|
|
|
|
<meta name="keywords" content="">
|
|
|
|
<meta property="og:type" content="">
|
|
|
|
<meta property="og:title" content="A log book of {{now}} from OG">
|
|
|
|
<meta property="og:image" content="">
|
|
|
|
<meta property="og:description" content="">
|
|
|
|
<meta property="og:url" content="">
|
|
|
|
<title>A log book of {{now}}</title>
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
|
|
|
<body>
|
|
|
|
|
|
|
|
<article>
|
|
|
|
<h1>Debug fiesta!</h1>
|
|
|
|
<pre>
|
|
|
|
last_user_added: {{ last_user_added}}
|
|
|
|
last_user_added_name: {{ last_user_added_name}}
|
|
|
|
users_created_today: {{ users_created_today}}
|
|
|
|
since_last_boot: {{ since_last_boot}}
|
|
|
|
list_package_installs: {{ list_package_installs}}
|
|
|
|
list_package_upgrade: {{ list_package_upgrade}}
|
|
|
|
list_package_remove: {{ list_package_remove}}
|
|
|
|
device_info: {{ device_info}}
|
|
|
|
days_since_last_boot : {{ days_since_last_boot }}
|
|
|
|
kitchen_services : {{ kitchen_services }}
|
|
|
|
ip_address : {{ ip_address }}
|
|
|
|
logins_today : {{ logins_today }}
|
|
|
|
list_groups : {{ list_groups }}
|
|
|
|
list_active_services : {{ list_active_services }}
|
|
|
|
debian_version : {{ debian_version }}
|
|
|
|
kernel_version : {{ kernel_version }}
|
|
|
|
hostname : {{ hostname }}
|
|
|
|
|
|
|
|
groups_created : {{ groups_created }}
|
|
|
|
groups_removed : {{ groups_removed }}
|
|
|
|
user_modified : {{ user_modified }}
|
|
|
|
user_deleted : {{ user_deleted }}
|
|
|
|
</pre>
|
|
|
|
</article>
|
|
|
|
|
|
|
|
<article>
|
|
|
|
<h1>Preface</h1>
|
|
|
|
<p>
|
|
|
|
TL;DR researches ways to make sense of the hidden labour that goes on in a feminist server through log files and
|
|
|
|
unlogged activity.
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
The unlogged activity of a server includes the physical labour, the decisions about shared spaces, the different
|
|
|
|
knowledges that depend on each other for the network to exis
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
Activity that is logged, is often compiled in inaccessible log files that track the work a server performs as
|
|
|
|
data. They're both hard to retrieve, hard to decipher, and have a bias towards the technological ecology,
|
|
|
|
prioritizing the labour of machines.
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
Chopchop is a a Raspberry Pi that is configured, maintained and used as a community server by XPUB1
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
This EPUB is a generated compilation of logs with annotations that provide context to the situatedness of this
|
|
|
|
technology. With one book a day, a diary of chopchop is kept, stored and shared.
|
|
|
|
</p>
|
|
|
|
</article>
|
|
|
|
|
|
|
|
<article>
|
|
|
|
<h1>The state of chopchop on {{now}}</h1>
|
|
|
|
<hr />
|
|
|
|
<p><em>tldr@chopchop:~ $</em>whoami</p>
|
|
|
|
<p>{{device_info}}</p>
|
|
|
|
<p>{{chopchop}}</p>
|
|
|
|
<p>{{ip_address}}</p>
|
|
|
|
<mark>
|
|
|
|
XPUB 1 users use chopchop as a shared community server.
|
|
|
|
chopchop is usually located in the Piet Zwart Wijnhaven building, although for this occassion it is resting on the
|
|
|
|
shelf bellow this e-reader.
|
|
|
|
</mark>
|
|
|
|
|
|
|
|
<p><em>tldr@chopchop:~ $</em>uptime -s</p>
|
|
|
|
<mark>
|
|
|
|
Uptime is the amount of time a server has been up, available, running, working, executing. This is time that is
|
|
|
|
not spent idle, but time spent busy serving.
|
|
|
|
</mark>
|
|
|
|
<p>{{ since_last_boot }}</p>
|
|
|
|
{% if since_last_boot is defined %}
|
|
|
|
<mark>
|
|
|
|
{% if days_since_last_boot|int > 14 %}This is unusual, we are used to our server crashing quite often, especially
|
|
|
|
when we are all sharing the space and editing at the same time. Our server, chopchop, chops up time into small
|
|
|
|
bits of surprise in which we learn that the technologies we rely on are never just up and running on their own.
|
|
|
|
They require people to care for them, to put in the time and the mindspace to figure out how to keep them running
|
|
|
|
and available.{% else %}This short of an uptime is common, the fragility of these machines are more prominent than
|
|
|
|
any cloud user expects. Partially because of scale, partially because a lot of labour that happens in datacenters
|
|
|
|
just escapes us all when we want to just upload an image, or just send a message, or just open a webpage.{% endif
|
|
|
|
%}
|
|
|
|
</mark>
|
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
<p><em>tldr@chopchop:~ $</em>sudo journalctl -S today _COMM=useradd -r</p>
|
|
|
|
<mark>
|
|
|
|
Users are assigned to groups, which allow them rights to read or edit files, run commands or apply infrastructural
|
|
|
|
changes. For chopchop, we all have 'sudo rights': the ability to perform any command, including the more sensitive
|
|
|
|
ones. Sudo is a command that's short for 'superuser do', with it, a user has more privileges, like installing or
|
|
|
|
updating a package or performing a restart.
|
|
|
|
</mark>
|
|
|
|
|
|
|
|
|
|
|
|
{% if users_created_today is defined %}
|
|
|
|
<mark>
|
|
|
|
{% if users_created_today|length > 0 %}
|
|
|
|
{{last_user_name}} user was added, and the network of trust grew ever so slightly. Users will be trusted with not
|
|
|
|
just the keys and passwords to the "house" which is the server, but with a portion of responsibility to keep it
|
|
|
|
afloat and contribute to what makes it a community of practices (and network of knowledge and dependence).
|
|
|
|
{% else %}
|
|
|
|
No new users were created today. The trust network remains the same size.
|
|
|
|
{% endif %}
|
|
|
|
</mark>
|
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
{% if list_package_installs|length > 0 %}
|
|
|
|
<p><em>tldr@chopchop:~ $</em> grep 'install' /var/log/dpkg.log</p>
|
|
|
|
|
|
|
|
<mark>
|
|
|
|
Today the following packages were installed:
|
|
|
|
</mark>
|
|
|
|
<ul>
|
|
|
|
{% for item in list_package_installs %}
|
|
|
|
<li>{{ item }}</li>
|
|
|
|
{% endfor %}
|
|
|
|
</ul>
|
|
|
|
<mark>
|
|
|
|
Packages are often installed to use different software or coding languages or build alternative tools. Often
|
|
|
|
users have to talk about and consider which packages they need and why, as well as how much storage they take up
|
|
|
|
and how they will change their interactions with and on their shared server.
|
|
|
|
</mark>
|
|
|
|
{% endif %}
|
|
|
|
{% if list_package_installs|length < 0 %} <mark>
|
|
|
|
Today no new packages were installed...
|
|
|
|
</mark>
|
|
|
|
<b>This part also not working</b>
|
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
{% if list_package_upgrade|length > 0 %}
|
|
|
|
<p><em>tldr@chopchop:~ $</em> grep 'upgrade' /var/log/dpkg.log</p>
|
|
|
|
<b>Something here in the if statement is not working</b>
|
|
|
|
<mark>
|
|
|
|
Out of the installed packages, these ones were upgraded:
|
|
|
|
</mark>
|
|
|
|
<ul>
|
|
|
|
{% for item in list_package_upgrade %}
|
|
|
|
<li>{{ item }}</li>
|
|
|
|
{% endfor %}
|
|
|
|
</ul>
|
|
|
|
<mark>
|
|
|
|
Packages are upgraded to fix Previous bugs they had, or allow new options for usage they did not have prior.
|
|
|
|
</mark>
|
|
|
|
{% endif %}
|
|
|
|
{% if list_package_upgrade|length < 0 %}
|
|
|
|
<mark> Out of the installed packages, none were upgraded today...</mark>
|
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
{% if list_package_remove|length > 0 %}
|
|
|
|
<p><em>tldr@chopchop:~ $</em> grep 'remove' /var/log/dpkg.log</p>
|
|
|
|
<mark>
|
|
|
|
These package were removed today:
|
|
|
|
</mark>
|
|
|
|
<ul>
|
|
|
|
{% for item in list_package_remove %}
|
|
|
|
<li>{{ item }}</li>
|
|
|
|
{% endfor %}
|
|
|
|
<mark>
|
|
|
|
Packages could be removed because of consuming too much storage, not being used by the people who share the
|
|
|
|
server, or they are no longer secure. It is often good practice to 'do some spring cleaning' every now and
|
|
|
|
then and remove the packages that no longer serve you any purpose.
|
|
|
|
</mark>
|
|
|
|
<b>Does not show this last mark statement after the list</b>
|
|
|
|
</ul>
|
|
|
|
{% endif %}
|
|
|
|
{% if list_package_remove|length < 0 %} <mark>
|
|
|
|
No packages were removed today...
|
|
|
|
</mark>
|
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
<mark>
|
|
|
|
These actions are only a portion of the work... There's also the relationships of the people who care for
|
|
|
|
the server enough to maintain it... The hours they put into meeting each other, discussing and deciding on
|
|
|
|
how to move forward... They are sharing a digital landscape in which there are no hierarchies of landlords
|
|
|
|
and renters... So, they find different ways to make a space for learning and co-habitation... This list is
|
|
|
|
not exhaustive.
|
|
|
|
</mark>
|
|
|
|
<p><em>tldr@chopchop:~ $</em>sudo journalctl _COMM=systemd-login --output-fields=MESSAGE -S today -g "New
|
|
|
|
session" | grep -v 'Boot'</p>
|
|
|
|
<mark>
|
|
|
|
Users can login to the server using the SSH (secure shell) protocol. This allows a user to explore files,
|
|
|
|
make changes, run commands and speak to the server from their own machine. This is useful when working
|
|
|
|
remotely, and also to allow multiple users logging into the server simultaneously. Current XPUB1 students
|
|
|
|
have a chopchop user, as well as the tutors. Additionally, there are some users not associated with a
|
|
|
|
person, like our shared user 'chipchip' and users for running specific processes or creating projects.
|
|
|
|
</mark>
|
|
|
|
|
|
|
|
{% if logins_today is defined %}
|
|
|
|
<ul>
|
|
|
|
{% for item in logins_today %}
|
|
|
|
<li>{{ item }}</li>
|
|
|
|
{% endfor %}
|
|
|
|
</ul>
|
|
|
|
<b>does not show the users of logins_today</b>
|
|
|
|
<mark>
|
|
|
|
These users have logged into our shared server chopchop, during the course of this day.
|
|
|
|
</mark>
|
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
{% if groups_created|length > 0 %}
|
|
|
|
<p><em>tldr@chopchop:~ $</em>sudo journalctl _COMM=groupadd -r --output-fields=MESSAGE</p>
|
|
|
|
<mark>
|
|
|
|
This command shows whether groups were added today.
|
|
|
|
</mark>
|
|
|
|
<ul>
|
|
|
|
{% for item in groups_created %}
|
|
|
|
<li>{{ item }}</li>
|
|
|
|
<mark>
|
|
|
|
These new working groups were added today. They might be used for creating new projects, maintaining or
|
|
|
|
managing parts of the server, or for organizational purposes.
|
|
|
|
</mark>
|
|
|
|
<b>check dis</b>
|
|
|
|
{% endfor %}
|
|
|
|
</ul>
|
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
{% if groups_created|length < 0 %}
|
|
|
|
<mark>No groups were added today.</mark>
|
|
|
|
{% endif %}
|
|
|
|
<b>For some reason this if statement is not working, i didn't apply it to the next 4 categories because i
|
|
|
|
wanted to check it works first</b>
|
|
|
|
|
|
|
|
<p><em>tldr@chopchop:~ $</em>sudo journalctl _COMM=grouPremove -r --output-fields=MES</p>
|
|
|
|
<mark>
|
|
|
|
This command shows whether groups were removed today.
|
|
|
|
</mark>
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
{% for item in groups_removed %}
|
|
|
|
<li>{{ item }}</li>
|
|
|
|
<mark>
|
|
|
|
These new groups were removed today. Most likely they were no longer relevant or purposeful.
|
|
|
|
</mark>
|
|
|
|
<b>check dis</b>
|
|
|
|
{% endfor %}
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<p><em>tldr@chopchop:~ $</em>sudo journalctl _COMM=usermod -r</p>
|
|
|
|
<mark>
|
|
|
|
This command shows whether users were modified today.
|
|
|
|
</mark>
|
|
|
|
<ul>
|
|
|
|
{% for item in user_modified %}
|
|
|
|
<li>{{ item }}</li>
|
|
|
|
<mark>
|
|
|
|
These users have been modified. Probably because someone changed their password, keys, or other
|
|
|
|
settings, or given new permissions.
|
|
|
|
</mark>
|
|
|
|
<b>check dis</b>
|
|
|
|
{% endfor %}
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<p><em>tldr@chopchop:~ $</em>sudo journalctl _COMM=userdel -r</p>
|
|
|
|
<mark>
|
|
|
|
This command shows whether users were removed today.
|
|
|
|
</mark>
|
|
|
|
<ul>
|
|
|
|
{% for item in user_deleted %}
|
|
|
|
<li>{{ item }}</li>
|
|
|
|
<mark>
|
|
|
|
It seems that a user was removed. This doesn't happen too often... It could be that they have done
|
|
|
|
something to lose the trust of the community. The circle of trust shrunk ever so slightly.
|
|
|
|
</mark>
|
|
|
|
<b>check dis</b>
|
|
|
|
{% endfor %}
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<p><em>tldr@chopchop:~ $</em>sudo service --status-all</p>
|
|
|
|
<mark>
|
|
|
|
These are all of the services that are active, running, working to execute requests that enable everything
|
|
|
|
on the server. They are marked with an [+].
|
|
|
|
The rest, marked with a [-], are idle, not running, or waiting to be activating upon sending a request.
|
|
|
|
</mark>
|
|
|
|
<ul>
|
|
|
|
{% for item in list_active_services %}
|
|
|
|
<li>{{ item }}</li>
|
|
|
|
{% endfor %}
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<p><em>tldr@chopchop:~ $</em>sudo journalctl -S today -u kitchen-stove.service -u
|
|
|
|
kitchen-bin.service -u kitchen-fridge.service -r -n</p>
|
|
|
|
{% if kitchen_services|length > 0 %}
|
|
|
|
<ul>
|
|
|
|
{% for item in kitchen_services %}
|
|
|
|
<li>{{ item }}</li>
|
|
|
|
{% endfor %}
|
|
|
|
</ul>
|
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
<script type="text/javascript" src="script.js"></script>
|
|
|
|
</body>
|
|
|
|
|
|
|
|
</html>
|