46

I am trying to deploy django app. When I print apt-get update I see

W: Unable to read /etc/apt/apt.conf.d/ - DirectoryExists (13: Permission denied)
W: Unable to read /etc/apt/sources.list.d/ - DirectoryExists (13: Permission denied)
W: Unable to read /etc/apt/sources.list - RealFileExists (13: Permission denied)
E: List directory /var/lib/apt/lists/partial is missing. - Acquire (13: Permission denied)
E: Unable to read /var/cache/apt/ - opendir (13: Permission denied)
E: Unable to read /var/cache/apt/ - opendir (13: Permission denied)
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

When I print sudo apt-get update I see

-bash: sudo: command not found

I tried to use su instead of sudo. But it is strange. For example I print su apt-get update And nothing happens I just see a new line,

(uiserver):u78600811:~$ su apt-get update
(uiserver):u78600811:~$

The same if I try to install some packages. What do I do?

If it is useful info - I am using Debian

(uiserver):u87600811:~$ uname -a
Linux infong1559 3.14.0-ui16294-uiabi1-infong-amd64 #1 SMP Debian 3.14.79-2~ui80+4 (2016-10-20) x86_64 GNU/Linux
  • Is this a customer account on a commercial server? – Tomasz Mar 30 '17 at 20:48
  • @tomas yeah//// – user2950593 Mar 30 '17 at 20:54
  • 1
    If you don't own the server, what made you think you have the right to install or remove software? ask the admin – Shadur Mar 31 '17 at 4:50
  • What happens if you run apt-cache policy sudo ? Not all Linux distros install sudo by default (Debian, for instance, will install sudo if and only if you don't specify a root password on installation). You can run apt-cache without root privileges. – rosuav Mar 31 '17 at 10:21
63

By default sudo is not installed on Debian, but you can install it. First enable su-mode:
su -

Install sudo by running:
apt-get install sudo -y

After that you would need to play around with users and permissions. Give sudo right to your own user.

usermod -aG sudo yourusername

Make sure your sudoers file have sudo group added. Run:
visudo to modify sudoers file and add following line into it (if it is missing):

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

You need to relogin or reboot device completely for changes to take effect.

  • 2
    This should be accepted answer, this solved my problem – Callat Mar 18 '18 at 18:19
  • I am getting "su: Cannot determine your user name." on doing su - – user674669 May 3 at 23:26
  • @user674669 have you checked this post: serverfault.com/questions/816969/… ? – Maksim Luzik May 6 at 6:45
  • Thanks @MaksimLuzik. Mine is a docker container. The ideas on that page aren' helpful to me. Maybe, I should post a separate question. – user674669 May 7 at 3:11
17

Since it's a commercial server you won't have access to root account nor be able to operate with root privileges. This means you won't be able to run sudo nor install packages. What you can try to do is:

  • Check if you have access to a compiler and compile what you want for yourself and in your home space.

  • Check if you can run a virtual machine. This might let you run your private instance of an OS, on which you would install packages.

10

su and sudo are two different, but related commands. It is unusual for sudo not to be installed, but it may simply not be in your Path. Try /usr/bin/sudo command.

If indeed sudo is not available, you need as you surmised to use su, but it does not work in the same way as sudo. The simplest way to use it is to simply run:

su -

This will ask you for the root user's password, at which point you should probably apt install sudo, log out of the root shell, and then proceed as normal.

Mind that unlike sudo, which asks you for your password, su will ask you for root's password.

  • when I write su - nothing happens - just new line – user2950593 Mar 30 '17 at 20:33
  • 3
    Then you're probably already root. Check with whoami. If you're root, apt install sudo as described. – DopeGhoti Mar 30 '17 at 20:40
  • (uiserver):u78600811:~$ apt install sudo – user2950593 Mar 30 '17 at 20:47
  • 1
    W: Unable to read /etc/apt/apt.conf.d/ - DirectoryExists (13: Permission denied) E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied) E: Unable to lock the administration directory (/var/lib/dpkg/), are you root? – user2950593 Mar 30 '17 at 20:47
  • 1
    Depending on what PS1 is set to. – DopeGhoti Mar 31 '17 at 17:50

protected by Community May 2 at 5:18

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.