The non-root user probably doesn’t have permission to run the sudo command as www-data user, but root does.
You are wrong. E. g. in Debian (and Ubuntu) the default sudoers file contains
%sudo ALL=(ALL:ALL) ALL
that means that any user in the sudo group is permitted to execute any command as any other user. The same for redhat/fedora, but the group name is wheel there.
# is a standard shell prompt for root, and only for root. For commands executed by any other user, including sudo, use $.
In general it is a bad practice to use sudo in documentation because in many distros it is not available by default. I would use su for your example. However system users have no passwords, so you need to become root first, and only after that change user to avoid prompting a password. So I would write
# su -s /bin/bash www-data
$ cp /var/www/html/html1 /var/www/html/html2
or
# su -s /bin/sh -c 'cp /var/www/html/html1 /var/www/html/html2' www-data
But if you are sure that sudo is installed and configured on a user's machine, you may write
Try switching to virtual console (alt+ctrl+F<1-6>). If it does not work, reboot with alt+sysrq+REISUB (sysrq is the same key as prtsc, REISUB must be typed sequentially).
In general there should not be any problem with most popular build systems (autoconf, cmake etc.) if they are used properly. However some pieces of software use build systems that are not so robust, or even self written scripts to build that causes tons of troubles. E. g. cross compiling samba is very painful. The most difficult case in when some tool is compiled and then used to generate code that will be compiled later, if developers did not implement bootstrapping properly.
So it is impossible to give a common answer. In general cross compiling is not a problem, but in some particular cases you may need to put in a lot of effort to get it working correctly.
Linux is not Windows. Don't try to make Windows from Linux. It can be visually similar, but it will never be the same. Don't expect a seamless migration. Stay on Windows or be ready to learn new things.
You are wrong. E. g. in Debian (and Ubuntu) the default
sudoers
file containsthat means that any user in the
sudo
group is permitted to execute any command as any other user. The same for redhat/fedora, but the group name iswheel
there.