Knowledge Base

CentOS (5)

The path to a valid CentOS mirror should include the CentOS version and the architecture, eg.: (more…)

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

fdisk also reports “Re-reading the partition table failed with error 16” on write. The reason is unknown but you can run:

$ partprobe

to update the devices.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

The only tool which can permanently change the hostname is:

$ hostnamectl set-hostname <name>

Found at IT’s Geek.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

Install the deltarpm plugin with:

$ yum install deltarpm

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

One thing to do is to remove old kernels:

Do the following to keep just the last 2 kernels on your system, to keep /boot clean:

    1. Edit /etc/yum.conf and set the following parameter
      installonly_limit=2
      

      This will make your package manager keep just the 2 last kernels on your system (including the one that is running)

    2. Install yum-utils:
      yum install yum-utils
      
    3. Make an oldkernel cleanup:
      package-cleanup --oldkernels --count=2
      

      This will erase in a good fashion the old kernels, and, keep just the last 2 of them for the next upgrades.

    Please log in to rate this.
    0 people found this helpful.

    0 Comments - Leave a Comment

gentoo (1)

This is due to the update to boost 1.55.  A quick work arround is to run

LIBS=-lboost_signals LDFLAGS=-lboost_signals emerge hugin

See Comment 9 for Bug 492594 in the Gentoo bugs database.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

Windows Subsystem for Linux (WSL) (3)

  1. Turn on Developer Mode:
    • Open Settings -> Update and Security -> For developers
    • Select the Developer Mode radio button
  2. Enable the Windows Subsystem for Linux feature:
    • From Start, search for “Turn Windows features on or off” (type ‘turn’)
    • Select Windows Subsystem for Linux (beta)
  3. Enable the Windows Subsystem for Linux feature (command-line)
    $ Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
  4. Run Bash on Windows:
    $ bash

The installation location is %localappdata%\lxss\

See MSDN.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

A tool to switch between distributions is WSL-Distribution-Switcher.

It needs Pythin 3.0 and comes with tools to download, install and switch distributions.

See WSL-Distribution-Switcher.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

To download a new image call:

$ python get-source.py image[:tag]

A list of images can be found at get-source.py.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

FFMpeg (4)

$ ffmpeg -i LostInTranslation.mkv -vcodec copy -acodec copy LostInTranslation.mp4

See http://askubuntu.com/questions/396883/ddg#396906.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

$ ffmpeg -i input.wav -codec:a libmp3lame -qscale:a 2 output.mp3

A table with options mapped to lame can be found at https://trac.ffmpeg.org/wiki/Encode/MP3.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

$ ffmpeg -i input.mp4 -c:v copy -c:a libfdk_aac -b:a 384k output.mp4

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

This is, what the -map option is for. In the simplest form you just select one after another stream from the sources with the form <file>:<stream>. So for example to select the first stream from the first input file, use 0:0.

See https://ffmpeg.org/ffmpeg.html#toc-Advanced-options.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

pacman (7)

$ pacman -Syu

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

$ pacman -Ss <search string>

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

$ pacman -S <package>

Where <package> is the package name as found with -Ss.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

$ pacman -Qs <package>

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

$ pacman -Ql <package>

Where <package> is the package name as found with -Qs.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

error: failed to commit transaction (conflicting files)
libname: /insert/file/name/here exists in filesystem
Errors occurred, no packages were upgraded.

Why this is happening:

pacman has detected a file conflict, and by design, will not overwrite files for you. This is a design feature, not a flaw.
It is the user’s responsibility to maintain their system, not the package manager’s. (pacman -Qo may be invoked to query which package owns the file, if any.)

What can be done to solve this:

The issue is usually trivial to solve. A safe way is to firstly check if another package owns the file (pacman -Qo <full file path>). If the file is owned by another package file a bug report If the file is not owned by another package rename (or remove) the the file which ‘exists in filesystem’, and reissue the pacman -Syu command. If all goes well, the file may then be removed.

See also: ArchLinux Forum.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

The database is locked, unlock it with:

$ rm /var/lib/pacman/db.lck

Please log in to rate this.
0 people found this helpful.

4 Comments - Leave a Comment

git (3)

To set a global proxy for git, call:

git config --global http.proxy http://proxyuser:proxypwd@proxy.server.com:8080

This also works for git in Visual Studio (see Stackoverflow).

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

Intro

The way to change a commit message depends on the position of the commit. If it is the topmost one, there is an easy way to do it. If it es down the line, it is a bit more complicated.

Topmost commit

Simply call:

$ git commit --amend

… and change the message in the editor.

Older commit

First we need to rebase the local repository with:

$ git rebase -i HEAD~n

With n being the number of commits you want to go back. Calling it with n=3 starts an editor with these commit lines:

pick e499d89 Delete CNAME
pick 0c39034 Better README
pick f7fde4a Change the commit message

For each line you want to change the message exchange the keyword pick with reword:

pick e499d89 Delete CNAME
reword 0c39034 Better README
reword f7fde4a Change the commit message

Now an editor opens for each commit message you selected. You can change the message there and safe the change. This will change it in the local repository.

If the commits where already pushed, they need to be force pushed again with:

git push --force-with-lease origin [EXAMPLE-BRANCH]

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

To undo the staging of a file just use reset:

git reset HEAD [file]

Where [file] ist the name of file you want to unstage as it shows up in git status.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

Windows (1)

  1. Turn on Developer Mode:
    • Open Settings -> Update and Security -> For developers
    • Select the Developer Mode radio button
  2. Enable the Windows Subsystem for Linux feature:
    • From Start, search for “Turn Windows features on or off” (type ‘turn’)
    • Select Windows Subsystem for Linux (beta)
  3. Enable the Windows Subsystem for Linux feature (command-line)
    $ Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
  4. Run Bash on Windows:
    $ bash

The installation location is %localappdata%\lxss\

See MSDN.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

A tool to switch between distributions is WSL-Distribution-Switcher.

It needs Pythin 3.0 and comes with tools to download, install and switch distributions.

See WSL-Distribution-Switcher.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

To download a new image call:

$ python get-source.py image[:tag]

A list of images can be found at get-source.py.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

When the proxy settings are obtained from the network, it is hard to find these values.  Superuser shows a way to get them from the network.  The easiest way is to just surf to the url http://wpad. If this does not work, first try to find the Primary DNS Suffix in the output of ipconfig /all. Try to reach wpda."priamry dns suffix" and if that works, surf to http://wpad."suffix"/wpad.dat.

— see Superuser

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

Change the code page to 65001 with:

chcp 65001

Source: Stack Overflow

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

network (2)

To set a global proxy for git, call:

git config --global http.proxy http://proxyuser:proxypwd@proxy.server.com:8080

This also works for git in Visual Studio (see Stackoverflow).

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

When the proxy settings are obtained from the network, it is hard to find these values.  Superuser shows a way to get them from the network.  The easiest way is to just surf to the url http://wpad. If this does not work, first try to find the Primary DNS Suffix in the output of ipconfig /all. Try to reach wpda."priamry dns suffix" and if that works, surf to http://wpad."suffix"/wpad.dat.

— see Superuser

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

Devel (3)

What does the error "Function "<unnamed::time_t>"" is not a type name in Visual Studio mean?

Errors like this on types and functions which are part of the standard libraries point to a wrong project setting. Got to the project properties, open the General section and review the Windows SDK-Version. It is most probably wrong.

See this Post on Stackoverflow.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

Easily done in two steps:

  • Run the bootstrap script (.bat or .sh respectively). This will build the b2 and bjam tools.
  • Build and install boost with:
    $ ./b2 --prefix=/usr/local --includedir=/usr/local/include link=shared install

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

A good source for a base explanation is the UTF-8 Wikipedia page.

A list of all UTF-8 entries can be found on charset.org.  This page also hosts other character sets.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

This entry describes, how to use cmake, gcc, ninja and gdb inside VSCode.  First you need two VSCode plugins:

  • CMake Tools
  • C/C++

In the settings.json add:

"cmake.generator": "Ninja",
"cmake.cmakePath": "C:/Tools/msys64/ucrt64/bin/cmake.exe",
"cmake.configureSettings": {
    "CMAKE_C_COMPILER": "gcc",
    "CMAKE_CXX_COMPILER": "g++"
}
"cmake.environment": {
    "PATH": "C:\\Tools\\msys64\\ucrt64\\bin;C:\\Tools\\msys64\\usr\\bin;${env:PATH}"
}

This will setup the CMake toolchain from MSys2. Running build should now call cmake from MSys2.

To setup debugging with gdb from MSys2, add a new configuration to launch.json. It should look something like this:

{
    "name": "(gdb) test_app",
    "type": "cppdbg",
    "request": "launch",
    "program": "${workspaceRoot}/build/test_app.exe",
    "args": [ "../tc123456.bin" ],
    "stopAtEntry": false,
    "cwd": "${workspaceRoot}/build",
    "environment": [],
    "externalConsole": false,
    "MIMode": "gdb",
    "miDebuggerPath": "C:/Tools/msys64/ucrt64/bin/gdb.exe",
    "setupCommands": [
        {
            "description": "Enable pretty-printing for gdb",
            "text": "-enable-pretty-printing",
            "ignoreFailures": true
        },
        {
            "description": "Set Disassembly Flavor to Intel",
            "text": "-gdb-set disassembly-flavor intel",
            "ignoreFailures": true
        }
    ]
}

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

Visual Studio (1)

What does the error "Function "<unnamed::time_t>"" is not a type name in Visual Studio mean?

Errors like this on types and functions which are part of the standard libraries point to a wrong project setting. Got to the project properties, open the General section and review the Windows SDK-Version. It is most probably wrong.

See this Post on Stackoverflow.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

OS (0)

The path to a valid CentOS mirror should include the CentOS version and the architecture, eg.: (more…)

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

fdisk also reports “Re-reading the partition table failed with error 16” on write. The reason is unknown but you can run:

$ partprobe

to update the devices.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

The only tool which can permanently change the hostname is:

$ hostnamectl set-hostname <name>

Found at IT’s Geek.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

Install the deltarpm plugin with:

$ yum install deltarpm

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

One thing to do is to remove old kernels:

Do the following to keep just the last 2 kernels on your system, to keep /boot clean:

    1. Edit /etc/yum.conf and set the following parameter
      installonly_limit=2
      

      This will make your package manager keep just the 2 last kernels on your system (including the one that is running)

    2. Install yum-utils:
      yum install yum-utils
      
    3. Make an oldkernel cleanup:
      package-cleanup --oldkernels --count=2
      

      This will erase in a good fashion the old kernels, and, keep just the last 2 of them for the next upgrades.

    Please log in to rate this.
    0 people found this helpful.

    0 Comments - Leave a Comment

This is due to the update to boost 1.55.  A quick work arround is to run

LIBS=-lboost_signals LDFLAGS=-lboost_signals emerge hugin

See Comment 9 for Bug 492594 in the Gentoo bugs database.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

  1. Turn on Developer Mode:
    • Open Settings -> Update and Security -> For developers
    • Select the Developer Mode radio button
  2. Enable the Windows Subsystem for Linux feature:
    • From Start, search for “Turn Windows features on or off” (type ‘turn’)
    • Select Windows Subsystem for Linux (beta)
  3. Enable the Windows Subsystem for Linux feature (command-line)
    $ Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
  4. Run Bash on Windows:
    $ bash

The installation location is %localappdata%\lxss\

See MSDN.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

A tool to switch between distributions is WSL-Distribution-Switcher.

It needs Pythin 3.0 and comes with tools to download, install and switch distributions.

See WSL-Distribution-Switcher.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

To download a new image call:

$ python get-source.py image[:tag]

A list of images can be found at get-source.py.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

When the proxy settings are obtained from the network, it is hard to find these values.  Superuser shows a way to get them from the network.  The easiest way is to just surf to the url http://wpad. If this does not work, first try to find the Primary DNS Suffix in the output of ipconfig /all. Try to reach wpda."priamry dns suffix" and if that works, surf to http://wpad."suffix"/wpad.dat.

— see Superuser

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

Intro

Debian does not support nextCloud out of the box. Therefore there is no way to migrate from ownCloud to nextCloud with Debian’s on board tools. But there is a user maintained repository providing debian backages for the latest version of nextCloud.
At the time of writing, the latest version of ownCloud is 10.0.10.  For nextCloud version 15.0.2 is the latest.  There is no direct way to get from ownCloud 10 to nextCloud 15.  Instead we have to migrate from ownCloud 10 to nextCloud 12 first.  After that we will go from nextCloud 12 to nextCloud 15 version by version.  The last step is to replace the installation by the packages provided by the above mentioned user.

Backup

The first an most important step in the upgrade is to first create a backup of the database.  This can be done with

$ read PWD ; mysqldump --user=root --password=$PWD --databases owncloud > /tmp/owncloud-20190212.sql ; unset PWD

In case we need to go back to the current ownCloud setup, the backup can be played back with

$ mysql -u root -p owncloud &lt; /tmp/owncloud-20190212.sql

Migrate from ownCloud to nextCloud

Basically there are two ways to migrate from owncloud 10 to nextCloud 12.

Using the Migration tool

The first way to migrate is to use nextCloud’s migration tool.  For this download the index.php to your server and save it into the folder updater in your ownCloud installation. Navigate to your onwCloud server and into the sub location

your.owncloudserver.com/updater/index.php

Now you should be able to start the upgrade process.  But this way the server ist not working properly after the upgrade.  Also since you need to replace one of the files on the server, the second migration method is the better way to do it.

Manual migration on the command line

The second way to do the migration is using the command line tools.  First let’s prepare the upgrade process.  We will need the following packages from the nextCloud download server:

Next we set the server into the maintenance mode:

sudo -u www-data php /var/www/owncloud/occ maintenance:mode --off

Now we can switch the site to the code of nextCloud 12.  Let’s assume, the web server is reading the files from /var/www/owncloud.

cd /var/www
mv owncloud owncloud.old
tar tfj /path/to/nextcloud-12.0.12.tar.bz2
mv nextcloud nextcloud-12.0.12
ln -s nextcloud-12.0.12 owncloud

Change into the source folder:

cd /var/www/owncloud

The first step in the migration itself is to setup the page source. The files are unpacked with the wrong user and group, so let’s give them to the web user:

chown -R www-data:www-data .

Next we need to point the new installation to the old config files.  Let’s again assume, the config files are hosted in /etc/owncloud. So we need to remove the old config and link to the existing config:

rm -r config
ln -s /etc/owncloud config

Now we are ready to do the upgrade with:

sudo -u www-data php /var/www/owncloud/occ upgrade
sudo -u www-data php /var/www/owncloud/occ maintenance:mode --off

Check Config

Before moving on, we need to check, if all apps and data are still there.  And actually the upgrade has disabled the apps Calendar, Contacts and Tasks.  They need to be reinstalled in the web interface.  All the user data should still be there, even the contacts, calendar entries and tasks.

Upgrade to version 14

Basically the upgrade from nextCloud 12 to 14 involves the same steps as for the migration. So basically we do:

cd /var/www
tar xfj /path/to/nextcloud-<version>.tar.bz2
mv nextcloud nextcloud-<version>
rm owncloud
ln -s nextcloud-<version> owncloud
cd owncloud
chown -R www-data:www-data .
rm -r config
ln -s /etc/owncloud
sudo -u www-data php /var/www/owncloud/occ upgrade

After every step we need to check, if all apps and data are still there. And again, Calendar, Contacts and Tasks need to be resintalled again after the upgrade to nextCloud 14.

Final Step — Upgrade to 15

The final upgrade to version 15 is not done manually, but by pulling in the Jurisic Debian Repository.

We start by adding the source to apt:

echo "deb http://apt.jurisic.org/debian/ stretch main contrib non-free" >> /etc/apt/sources.list.d/nextcloud.list
wget -q http://apt.jurisic.org/Release.key -O- | apt-key add -

Now we can install nextCloud 15 using the apt-tool chain:

apt-get install nextcloud

This will install nextCloud in /var/www/nextcloud. Now we can go to the known procedure for a last time:

cd /var/www
rm owncloud
ln -s nextcloud owncloud
cd owncloud
rm -r config
ln -s /etc/owncloud
sudo -u www-data php /var/www/owncloud/occ upgrade

For a last time we need to check, if all the data and apps are there, and if so, the migration is finished.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

systemd does support adding and starting daemons for unprivileged users by adding the option --user when run as that user. To run fetchmail for this user, systemd provides a user-fetchmail-service script.

The service script for fetchmail is located at /usr/lib/systemd/user/. In order to change it to our needs, it should be copied to /etc/systemd/user.

To give the users more control over the behaviour, remove the option --daemon 300 from ExecStart. The script will now look like this:

# /usr/lib/systemd/user/fetchmail.service
# or any other location per man:systemd.unit(5)
[Unit]
Description=Fetchmail Daemon
Documentation=man:fetchmail(1)

[Service]
ExecStart=fetchmail --nodetach -v
ExecStop=fetchmail --quit
Restart=always

[Install]
WantedBy=default.target

For the user part of the settings a file called .fetchmailrc must be created in the users home directory. The content might look like this:

set daemon 120
set logfile fetchmail.log
poll inter.net
    protocol imap
    user me
    password PaSsWoRd
    is me@local.lan here
    ssl

Now the user can install a user-service with:

$ systemctl --user enable fetchmail

To start the service call:

$ systemctl --user start fetchmail

To monitor the status of the service:

$ systemctl --user status fetchmail

To get the full list of log entries, call:

$ journalctl --user --unit fetchmail

Additionally, the option -f puts journalctl into the follow-mode — similar to tail -f.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

Change the code page to 65001 with:

chcp 65001

Source: Stack Overflow

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

Debian (2)

Intro

Debian does not support nextCloud out of the box. Therefore there is no way to migrate from ownCloud to nextCloud with Debian’s on board tools. But there is a user maintained repository providing debian backages for the latest version of nextCloud.
At the time of writing, the latest version of ownCloud is 10.0.10.  For nextCloud version 15.0.2 is the latest.  There is no direct way to get from ownCloud 10 to nextCloud 15.  Instead we have to migrate from ownCloud 10 to nextCloud 12 first.  After that we will go from nextCloud 12 to nextCloud 15 version by version.  The last step is to replace the installation by the packages provided by the above mentioned user.

Backup

The first an most important step in the upgrade is to first create a backup of the database.  This can be done with

$ read PWD ; mysqldump --user=root --password=$PWD --databases owncloud > /tmp/owncloud-20190212.sql ; unset PWD

In case we need to go back to the current ownCloud setup, the backup can be played back with

$ mysql -u root -p owncloud &lt; /tmp/owncloud-20190212.sql

Migrate from ownCloud to nextCloud

Basically there are two ways to migrate from owncloud 10 to nextCloud 12.

Using the Migration tool

The first way to migrate is to use nextCloud’s migration tool.  For this download the index.php to your server and save it into the folder updater in your ownCloud installation. Navigate to your onwCloud server and into the sub location

your.owncloudserver.com/updater/index.php

Now you should be able to start the upgrade process.  But this way the server ist not working properly after the upgrade.  Also since you need to replace one of the files on the server, the second migration method is the better way to do it.

Manual migration on the command line

The second way to do the migration is using the command line tools.  First let’s prepare the upgrade process.  We will need the following packages from the nextCloud download server:

Next we set the server into the maintenance mode:

sudo -u www-data php /var/www/owncloud/occ maintenance:mode --off

Now we can switch the site to the code of nextCloud 12.  Let’s assume, the web server is reading the files from /var/www/owncloud.

cd /var/www
mv owncloud owncloud.old
tar tfj /path/to/nextcloud-12.0.12.tar.bz2
mv nextcloud nextcloud-12.0.12
ln -s nextcloud-12.0.12 owncloud

Change into the source folder:

cd /var/www/owncloud

The first step in the migration itself is to setup the page source. The files are unpacked with the wrong user and group, so let’s give them to the web user:

chown -R www-data:www-data .

Next we need to point the new installation to the old config files.  Let’s again assume, the config files are hosted in /etc/owncloud. So we need to remove the old config and link to the existing config:

rm -r config
ln -s /etc/owncloud config

Now we are ready to do the upgrade with:

sudo -u www-data php /var/www/owncloud/occ upgrade
sudo -u www-data php /var/www/owncloud/occ maintenance:mode --off

Check Config

Before moving on, we need to check, if all apps and data are still there.  And actually the upgrade has disabled the apps Calendar, Contacts and Tasks.  They need to be reinstalled in the web interface.  All the user data should still be there, even the contacts, calendar entries and tasks.

Upgrade to version 14

Basically the upgrade from nextCloud 12 to 14 involves the same steps as for the migration. So basically we do:

cd /var/www
tar xfj /path/to/nextcloud-<version>.tar.bz2
mv nextcloud nextcloud-<version>
rm owncloud
ln -s nextcloud-<version> owncloud
cd owncloud
chown -R www-data:www-data .
rm -r config
ln -s /etc/owncloud
sudo -u www-data php /var/www/owncloud/occ upgrade

After every step we need to check, if all apps and data are still there. And again, Calendar, Contacts and Tasks need to be resintalled again after the upgrade to nextCloud 14.

Final Step — Upgrade to 15

The final upgrade to version 15 is not done manually, but by pulling in the Jurisic Debian Repository.

We start by adding the source to apt:

echo "deb http://apt.jurisic.org/debian/ stretch main contrib non-free" >> /etc/apt/sources.list.d/nextcloud.list
wget -q http://apt.jurisic.org/Release.key -O- | apt-key add -

Now we can install nextCloud 15 using the apt-tool chain:

apt-get install nextcloud

This will install nextCloud in /var/www/nextcloud. Now we can go to the known procedure for a last time:

cd /var/www
rm owncloud
ln -s nextcloud owncloud
cd owncloud
rm -r config
ln -s /etc/owncloud
sudo -u www-data php /var/www/owncloud/occ upgrade

For a last time we need to check, if all the data and apps are there, and if so, the migration is finished.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

systemd does support adding and starting daemons for unprivileged users by adding the option --user when run as that user. To run fetchmail for this user, systemd provides a user-fetchmail-service script.

The service script for fetchmail is located at /usr/lib/systemd/user/. In order to change it to our needs, it should be copied to /etc/systemd/user.

To give the users more control over the behaviour, remove the option --daemon 300 from ExecStart. The script will now look like this:

# /usr/lib/systemd/user/fetchmail.service
# or any other location per man:systemd.unit(5)
[Unit]
Description=Fetchmail Daemon
Documentation=man:fetchmail(1)

[Service]
ExecStart=fetchmail --nodetach -v
ExecStop=fetchmail --quit
Restart=always

[Install]
WantedBy=default.target

For the user part of the settings a file called .fetchmailrc must be created in the users home directory. The content might look like this:

set daemon 120
set logfile fetchmail.log
poll inter.net
    protocol imap
    user me
    password PaSsWoRd
    is me@local.lan here
    ssl

Now the user can install a user-service with:

$ systemctl --user enable fetchmail

To start the service call:

$ systemctl --user start fetchmail

To monitor the status of the service:

$ systemctl --user status fetchmail

To get the full list of log entries, call:

$ journalctl --user --unit fetchmail

Additionally, the option -f puts journalctl into the follow-mode — similar to tail -f.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

Wordpress (1)

In order to highlight suurce code in WordPress, use Alex Gorbatchev’s SyntaxHighlighter.  You first need to install the plugin from the WordPress store. The description of the plugin options can be found in WordPress’ support site.

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

Gimp (1)

Introduction

There are two methods, a simple one and a more advanced one.

Simple Method

  • Filter -> Decoration -> Old Photo
  • Defocus -> Off
    Sepia -> On
    Work on Copy -> On

Advanced Method

  • Convert the Image to gray scale:
    • Either with Image -> Mode -> Grayscale
    • or with Color -> Component -> Channelmixer
    • Eventually tweak the result with Color -> Brightness/Contrast
  • Create a new layer “Sepia Mask”
  • Set the foreground color to RED=162, GREEN=138 and BLUE=101* Fill the new layer with this color.
  • Add a Layer Mask with White (Full Opacity) to the new layer
  • Select the image layer, select everything (Ctrl-A) and copy it (Ctrl-C)
  • Select the mask in the Sepia Mask layer and paste the selection (Ctrl-V)
  • Link it to the mask by clicking the Anchor butten on the button panel
    below
  • Invert the colors in the Mask layer: Color -> Invert
  • Change the Mode of the Mask layer from Normal to Color in the drop down on top

Source: Sepia Toning

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

Scripting (1)

Change the code page to 65001 with:

chcp 65001

Source: Stack Overflow

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

Photography (1)

Overview

The stacking is done in three steps:

  1. PIPP is used to pre-process the images (sorting by quality, cropping, …),
  2. AutoStakkert! does the stacking itself and
  3. Lightroom does the contrasting and other corrections.

PIPP

  1. Drag-Drop photos to the _Source File_ tab.
  2. On the Source File tab select Optimize Option Solar/Lunar Full Disc or accordingly.
  3. On the Processing Options tab unselect Convert Colour To Monochrome and Enable Cropping.
  4. On the Output Option tab select the Output Format TIFF, check Include Quality Value In Filename and click Select Directory and select the output folder.
  5. On the Do Processing click Start Processing.

AutoStakkert!

  1. Drag-drop the images created by PIPP to the main Window.
  2. Check the Surface radio button in the Image Stabilization section in the main window.
  3. Click the 2) Analyse button in the main window.
  4. In the image preview window click the Place AP grid button.
    This will place the alignement points and visualizes them in the preview window. The AP Size does not have a bit impact on the result and since we will use Multi Scale APs, a value of 32 ist just fine.
  5. In the main window in section Super Resolution turn off the Drizzle.
  6. Use only 25% of the images, since this has the biggest impact on the result. The more images used, the blurrier the result.
    But if the images have artefacts, increase the number of images used!
  7. Sharpening can be done in two ways:
    1. in AS: by checking Sharpened in the Stack Options on the main window or
    2. in Gimp / Lightroom: it looks like the result is better, when sharpening the image in one of the later tools.
  8. Start the stacking by clicking the 3) Stack button.

Lightroom

  1. Import the resulting TIFF.
  2. In the Develop tool in the Detail section increase the:
    • Amount to 150,
    • Radius to 3.0 and
    • Detail to 100.
  3. In the Basic section increase the Contrast* to eg. 100.
  4. In the Tone Curve section slide the white value back to increase the contrast even more.

Settings Overview

  • PIPP:
    • Source File:
      • Optimise Option: Solar/Lunar Full Disc
    • Processing Option:
      • Uncheck Convert to Gamm Correction
      • Uncheck Enable Cropping
    • Output Options:
      • Output Directory: Select Directory
    • Do Processing: Start Processing
  • AutoStakkert!:
    • Main Window:
      • Drag PIPP results
      • Image Stabilisation: Surface
      • 2) Analyze
    • Image Window:
      • AP Size: 32
      • Place AP grid
    • Main Window
      • Stack Options
        • Frame percentage: 25
        • Uncheck Sharpened
      • Super Resolution:
        • Drizzle: Off
      • 3) Stack
  • Lightroom:
    • Develope:
      • Details:
        • Amount: 150
        • Radius: 3.0
        • Detail: 100
      • Basic:
        • Contrast: 100
      • Tone Curve:
        • Slide White value in the curve to the left

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

VSCode (1)

This entry describes, how to use cmake, gcc, ninja and gdb inside VSCode.  First you need two VSCode plugins:

  • CMake Tools
  • C/C++

In the settings.json add:

"cmake.generator": "Ninja",
"cmake.cmakePath": "C:/Tools/msys64/ucrt64/bin/cmake.exe",
"cmake.configureSettings": {
    "CMAKE_C_COMPILER": "gcc",
    "CMAKE_CXX_COMPILER": "g++"
}
"cmake.environment": {
    "PATH": "C:\\Tools\\msys64\\ucrt64\\bin;C:\\Tools\\msys64\\usr\\bin;${env:PATH}"
}

This will setup the CMake toolchain from MSys2. Running build should now call cmake from MSys2.

To setup debugging with gdb from MSys2, add a new configuration to launch.json. It should look something like this:

{
    "name": "(gdb) test_app",
    "type": "cppdbg",
    "request": "launch",
    "program": "${workspaceRoot}/build/test_app.exe",
    "args": [ "../tc123456.bin" ],
    "stopAtEntry": false,
    "cwd": "${workspaceRoot}/build",
    "environment": [],
    "externalConsole": false,
    "MIMode": "gdb",
    "miDebuggerPath": "C:/Tools/msys64/ucrt64/bin/gdb.exe",
    "setupCommands": [
        {
            "description": "Enable pretty-printing for gdb",
            "text": "-enable-pretty-printing",
            "ignoreFailures": true
        },
        {
            "description": "Set Disassembly Flavor to Intel",
            "text": "-gdb-set disassembly-flavor intel",
            "ignoreFailures": true
        }
    ]
}

Please log in to rate this.
0 people found this helpful.

0 Comments - Leave a Comment

Leave a Reply

Your email address will not be published. Required fields are marked *