Test systems

Typical software development environments have several systems running the software. While usually each developer runs it on his machine, there is a continuous integration server running and versions of the software that succeed there go to an artifactory and are immediately, during the night or manually installed on a system that is called „staging“, „development“, …

Share Button

File Permissions

Everyone who uses Linux (or some Unix) knows the normal file permissions that are administered with chmod, at least to some extent. It is worth noting, what permissions of a file and the underlying directory mean. In order to read the file, one needs read rights for the file and also read and executable rights …

Share Button

Automatic editing

For changing file contents, we often use editors. But sometimes it is a good idea to do this from a script and do a change to many files at once or do the same kind of changes often. The classic approach to this is using sed, which is made exactly for this purpose. But most …

Share Button

vim and vi

We all have our preferences for editors and IDEs. I like Emacs and IntelliJ. But I also like vi. When you work on Linux-Servers that are not your own, there is a certain, quite limited set of software installed, that makes this thing work. Usually you will find Perl and Python. And vi as editor. …

Share Button

Unit and Integration Test with Databases

From an ideological point of view, tests that involve the database may be unit tests are may be integration tests. For many applications the functional logic is quite trivial, so it is quite pointless to write „real unit tests“ that work without the database. Or it may be useful. But there is a category of …

Share Button

Git for Linux System Engineering

Now that git has become the standard version control software, which is used by software developers. Now for system engineering and system administration purposes it used to be an approach to just login and do something and remember it or even note it somewhere. Some people tried to just use RCS or SCCS on the …

Share Button

Starting processes while booting (Linux)

When a Linux system is booted, we want certain processes to run immediately. In the old days, that is 25 years ago or so, this was done in „BSD-style“ by having certain magical shell scripts that start everything in the right order. When adding another service, this just had to be added to the shell …

Share Button

Ansible

We are talking about system administration and system engineering for Linux. Most of this also works more or less the same on Unix, but this is today much less relevant. It is even possible to do some of these things on MS-Windows, but that is another story… So just assume for the time being OS=Linux. …

Share Button

How to disable touchpad (on Linux/X11)

For me it is much better to use an external mouse than the touchpad, which I sometimes touch accidentally. So, here is how to disable it with a short Perl-Script. A bash script with a bit of Perl would do the same, btw. #!/usr/bin/perl my $tp = `xinput list | egrep -i touch`; chomp $tp; …

Share Button

How to rename files according to a pattern

We often encounter situations, where a large number of files should be copied or renamed or moved or something like that. This can be done on the Linux command line, but it should be possible in almost the same way on the Unix/Linux/Cygwin-command line of newer MS-Windows or MacOS-X. Now people routinely do that and …

Share Button