Не существует такого понятия, как "правильное местоположение", которое должен решать администратор. Правда, традиционно администраторы Linux размещают исходные файлы в /usr/local/src и вы можете это сделать. Вы также можете разместить их в своем $HOME , что вы предпочитаете.
Теперь, если вы компилируете / устанавливаете программное обеспечение, вы являетесь администратором. Следовательно, нет причин, по которым вам не следует переключаться на root, чтобы иметь доступ к /usr/local/src . Нет абсолютно никаких причин, по которым вам не следует компилировать как root , это то, что делает каждый системный администратор, которого я когда-либо знал, именно поэтому существует пользователь root для выполнения административных задач. Это включает в себя компиляцию и установку программного обеспечения.
Так что, если вы разрабатываете программное обеспечение, сделайте это в вашем $HOME , если вы устанавливаете программное обеспечение других людей из исходного кода, сделайте это как пользователь root в /usr/local/src если вы того пожелаете. Лично я компилирую программы в $HOME/Setups потому что мой $HOME находится в отдельном разделе, и это облегчает мне обновление / переустановку моей системы. Это только личный выбор, и правильные системные администраторы будут компилироваться в /usr/local/src от имени пользователя root .