Other labs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12.

Přeložit do češtiny pomocí Google Translate ...

Lab #7 (Mar 30 – Apr 3)

Before class

  • Refresh your understanding of what are the main components of a Linux-based operating system. This article may help you.
  • What is the typical way how you install software on Windows, MacOS, Linux, Android and iOS? Are there any differences? Ask you friend or Google if you don’t have any device with a particular operating system.
  • Read this Wikipedia page about package managers to understand why having a package manager is a good idea.
  • Having latest versions of programs is very important not only because of security. How is it possible to update all programs on you computer with Windows and on computer with Linux?


  • Package managers.
  • Software installation.
  • Keeping your system up-to-date.


For these exercises we assume that you are running Fedora distribution. If you have another distribution, you are probably already familiar with the basic concepts and you should be able to translate the exercises for your system.

Fedora uses DNF package manager. The official Wiki page is a good source of information if you already know the system a bit.

For begginners, this guide about DNF and this tutorial is probably a better starting point.


Package managers affects the operation of the whole operating system. Therefore you need to run it with root (administrator) privileges. There are two approaches to this: start a shell session for root or only elevate the privileges for the single command.

The first approach is possible, for example, by running su - in your terminal and then authenticating with your root password. The new shell is then run under the root user. Note that typically, root shell uses different prompt. Normal user’s prompt ends with $, root with #.

Or, you can preceed certain commands with sudo, basicially saying run the following command as root (actually, the command means do as super-user).

Note that if you have just installed Fedora, you may not have set password for your root account yet. In that case, running sudo su - should switch you to root shell where you can change your password with passwd command.

You can use passwd to change password of the current user too.

What version of dnf you have on your system? Hint.

Install Arduino IDE on your machine. Check that it works the same way as you know from NSWI170 course (if you are not enrolled into that course, do not worry).

If you have your Arduino board, try connecting it to your machine and try uploading your code from NSWI170 to it. Note that this should work from VirtualBox too via USB pass-through.

How much disk space was needed for the installation? Hint.

Install other packages that you will require for this course. For now, ensure you have installed Python, Git, Bash, ShellCheck and your favourite text editor.

Do not forget about a web browser, terminal emulator etc.


Install Zoom client. Note that the client is not part of the standard repositories and you have to download the actual package file first. This file then can be installed normally via dnf install path/to/file.rpm.

Note that when the package is not part of the repository, it will not be part of the standard upgrade process and has to be kept up-to-date manually.

Update your system completely. Solution.

Install tools apack, aunpack and als that allows you to easily create archives of arbitrary type, unpack them or list their contents.

What command will tell you which package provides these programs?

Print summary information about all installed packages that did not originate from the system repository. (You should see the zoom package there.) Solution.
Print history of operations performed by dnf so far and description of the last transaction. Solution.