In case this is so, it can be a huge downer in modern Linux distros, since the device names are very often assigned arbitrarily. So if you have no more than two HDDs in your system, but two USB flash drives sticking in their ports, things might look like this after bootup:
/dev/sda .. HDD #1 /dev/sdb .. USB flash drive #1 /dev/sdc .. USB flash drive #2 /dev/sdd .. HDD #2 I have searched high and low and tried various hacks for my .conkyrc to no avail. It just does not seem to work.
I even thought about "creating" the format required for conky by executing a system command, but even this failed. In bash, this can be achieved by
$ basename $(readlink /dev/disk/by-label/mydisklabel) Though conky DOES allow execution of system commands, it seems that in {diskio}/{diskiograph} options, this is not possible.
So the following will NOT work:
${diskio /dev/${execp basename $(readlink /dev/disk/by-label/mydisklabel)}} Neither would the variant with the UUID work (not shown here).
Has anyone of you guys ever managed to "teach" this to conky? It's so insanely versatile, but it's almost unbelievable that (compared to the good old days) udev and friends will no longer keep drives in a certain order, but scramble them again on each bootup sequence, while tools (GKrellM is none the better!) stubbornly insist on physical drive/device names.

${diskio_read /dev/disk/by-id/<some-disk-id>}works.