Этот ответ откровенно скопирован с ответа Жиля на Как получить время работы процесса под разными ОС?:
t=$(LC_ALL=POSIX ps -o etime= -p 1)
d=0 h=0
case $t in *-*) d=$((0 + ${t%%-*})); t=${t#*-};; esac
case $t in *:*:*) h=$((0 + ${t%%:*})); t=${t#*:};; esac
s=$((10#$d*86400 + 10#$h*3600 + 10#${t%%:*}*60 + 10#${t#*:}))
Это оставляет вам количество секунд времени работы в $s
.
Мы делаем предположение, что время запуска init
- это время, когда мы начинаем считать "время работы", а также что init - это PID 1 (верно в моем ограниченном тестировании).
Удалите файл lock
sudo rm /var/lib/apt/lists/lock
Затем запустите команду от имени пользователя root или добавьте sudo -E
следующим образом:
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
Проблема в том, что вы используете sudo curl, а не вызов bash, который вызывает apt. просто запустите его полностью как root, например:
sudo su
curl -sL https://deb.nodesource.com/setup_7.x | bash -
или вы можете сделать что-то вроде
wget https://deb.nodesource.com/setup_7.x
chmod +x setup_7.x
sudo./setup_7.x
Я решил очень похожую проблему в Dockerfile, добавив «sudo» после канала:
RUN curl -sL https://deb.nodesource.com/setup_10.x | sudo bash -