chown: Recursively change owner of all files and folders

Sometimes QNAP changes file owner to admin:administ (actually to admin:administratorsadmin user in administrators group) which may cause some troubles on certain FTP operations when you’re logged in to QNAP’s FTP server with user different than admin (using this user to operate on FTP is a quite great mistake and you should always use other, less privileged user for this).

Using chown command you can easily fix this.

Read More “chown: Recursively change owner of all files and folders”

Bringing Unison to QNAP TS-210

My six years old QNAP TS-210 was key solution for my most important data backup back in 2012. That’s the moment, when I first time heard about Unison (webpage, Wikipedia). Its idea (a free, self-hosted alternative to Dropbox, limited in size only by free space on your device) caught my heart and I immediately felt in love with it.

Unfortunately, after struggling with it for over a few months I finally failed getting it back to QNAP and turned into some alternative solutions (Bittorrent Sync, Dropbox, OneDrive). However, someone did finally find a solution and answered my four years old post. This obligates me to share this knowledge. Have a good reading.

Change prompt and enable command auto-completion [updated]

I really like some simple extensions and changes to command line in Linux. An ability to enable command auto-complete, commands history navigation and changing prompts look in particular.

However, not every console is suited with these changes, so I wrote this simple article to keep all my how-tos around Linux command line in one place.

Read More “Change prompt and enable command auto-completion [updated]”

Get WebSVN to QNAP

This guide assumes, that you have svn already installed on your QNAP, fully configured and working like a charm, and you just want to enhance it with web client (WebSVN). You can use this guide also on any other server, than QNAP, but keep in mind, that it contains some QNAP-specific problems.

Keep in mind: WebSVN (as good as all other alternatives mentioned in the end of this text) are read-only web SVN clients! You can do a lot of useful stuff on your repos, but forget about committing or anything similar that requires write access or changing repository structure.

Read More “Get WebSVN to QNAP”

Copy large folders using command-line with progress indication

By many sources cp is mentioned as the fastest way to copy large filesets. And the only fault of it, is that it does not provide an easy way to see progress of copy process. This post discusses various ways of fixing this problem. Keep in mind, that this post is (again) QNAP-optimized, meaning that it mostly focuses on solutions available on my old, lame QNAP TS-210 NAS system. It only points out other methods, that are not available on this very limited edition of Linux.

Read More “Copy large folders using command-line with progress indication”

screen: Force program to continue after logging-off from the console

So, there I was… needing to have any solution, that will allows me to write my very own port listener. Since the only language, in which I am handy is PHP, I was forced to be able to run PHP script without interruption, 24 hours a day, 7 days a week. That was a bit of challenge for me, given my quite very limited Linux knowledge, but — as they say — the only thing not possible in IT is to open an umbrella in your ass! :>

Read More “screen: Force program to continue after logging-off from the console”

Installing SVN on QNAP using IPKG (Optware)

This article is based on information provided by QPKG package created for SVN by noski and on QNAP Wiki article about SVN and of course a piece of my experience. But since SVN is relatively easily to install by-hand (so you don’t actually need QPKG package) and since Wiki article about SVN is outdated / contains some garbage (directory /share does note belong to /dev/ram!), I decided to write my own guide.

Read More “Installing SVN on QNAP using IPKG (Optware)”

Installing Optware (IPKG) on QNAP TS-210

This article deals with installing Optware (IPKG) on QNAP TS-210 NAS machine. Optware is a must-have, if you want to do anything with your NAS that goes beyond using as simple network storage. I.e., if you want to access it via SSH and play a little around Linux on-board. In other words, in installs many core utils, that are simply gone from default distribution of Linux on-board QNAP.

Read More “Installing Optware (IPKG) on QNAP TS-210”

Fix for problem with mixing USB shares on QNAP

Most QNAPs randomly mounts USB disk shares. I.e. you can have disk attached to left USB port as USBDisk1, second as USBDisk2 and after reset — changed together. This causes many problems, where being unable to write some script accessing particular disks could be named at first. There isn’t an easy way to work around it. The only solution I found out was to write an script that resides in flash memory (therefore is called upon each restart of QNAP) and that mounts disks under shares similar to their disk labels.

Read More “Fix for problem with mixing USB shares on QNAP”

Remove non-empty directory on QNAP or Linux

You may try to use rm -rf [directory] to delete given directory along with all its content (including all subdirectiories and all files). Use this with caution, to not end up deleting all files on your root! :>

Note, that on QNAP (but not on regular Linux) you have to start your session as admin user, as you cannot use su command to become root. If you try this, you’ll end up with error su: user root does not exist.

No Samba access after password change

Let us understand it. Windows is stupid and idiotic system. Suppose, you store (remember) your NAS’s Samba username and password, so you don’t have to provide it, each time you access your local network share. If you thenchange your user password, Windows either won’t detect the fact that password has changed or, even if it detect it, it won’t show you login/password dialog box to provide new one. Instead, it continue to provide NAS with wrong (outdated) password.

Read More “No Samba access after password change”

Introduction to bash scripts

While playing with some extra features on my newly purchased QNAP TS-210 at some point I was forced to finally write some bash script to be able to control things, that are uncontrollable via administration panel. For this reason I had to learn myself at least basics of bash, that is installed on my QNAP. I used floppix page and Wiki as a base for my learning process (and source for this article), however I had to write down my own memo-list to be able to quickly find, what I’m looking for.

Read More “Introduction to bash scripts”

Incorrectly formatted external disk on QNAP TS-210

After using QNAP’s web-panel to format external disk, it suddenly turned out that formatting to any partition type ends with extremely small free disk size. For example, completely empty (as should be after format) 1,5 TB disk, formatted to any Windows type (FAT32 / NTFS) has only 1,9 GB free space. Formatting it to any Linux type (Ext3, Ext4) ends with 1,84 GB free space and formatting to HPS+ with 1,89 GB. In all attempts disk has less then 0,2% free space right after format. Here is the solution, that I came up with after a lot of digging.

Read More “Incorrectly formatted external disk on QNAP TS-210”

Patching some security problems in Samba

QNAP is built upon Debian, created and designed by a bunch of wise guys, constantly being improved and used around the world, sometimes in very important solutions. Thus, it is generally a safe and secured solution. On the other hand, there isn’t (there never was and there never will be) any thing, done by a human, that another human wouldn’t be able to breke, change, alter or destroy. So, there is always a good idea to improve security, whenever you’re possible to do so. This article discusses some smaller or bigger security holes in Samba on board QNAP with a possible solution or workaround.

Read More “Patching some security problems in Samba”

Where is PHP on QNAP?

Well.. at least on my QNAP TS-210 it is in:


You can validate this by executing:

/mnt/ext/opt/apache/bin/php --version

Which should show version PHP installed on your QNAP box.