Ubuntu обрабатывает диски несколько иначе, чем Windows. Ubuntu имеет различные устройства, доступные для чтения / записи; вы можете увидеть хороший кусок из них, запустив ls /dev в терминале.
Ваши диски (и их последующие разделы) доступны из местоположения, назначенного им системой, но обычно это что-то вроде /dev/sda1 или /dev/sdb3. Хотя вы можете использовать их (и люди), немного легче запомнить, что такое раздел или устройство, если у него есть имя для него.
Таким образом, система создаст папку (обычно в папке [ f4]), который позволяет вам получить доступ к вашим файлам, и это даст ему метку, которую имеет файловая система для этого раздела или устройства. Это то, что называется монтированием файловой системы. Это также предотвратит появление определенных изменений (например, форматирование раздела).
Таким образом, когда вы сообщаете Ubuntu об установке файловой системы файловой системы Windows, вы говорите ей, чтобы удалить это /media/USERNAME/FILESYSTEMNAMEHERE ссылка. Это также позволит сделать другие вещи в этой файловой системе, если это необходимо, но они не применимы к вашему вопросу.
TL; DR: Нет, размонтирование раздела Windows 10 не повредит файлы в любым способом, формой или формой. Вы просто отключите эти файлы от быстрого доступа (пока вы используете Ubuntu). Это чисто изменение на уровне программного обеспечения и не повлияет на сам физический диск.
Если вам все еще интересно, продолжайте читать и читайте этот вопрос / ответ на Unix & amp; Linux. Есть несколько очень хороших объяснений того, что такое монтирование / размонтирование и что он делает в Linux.
Похоже, что $HOME изменяется на /root в среде вашего скрипта. Попробуйте использовать $SUDO_USER вместо $ON_USER и $(eval echo ~$SUDO_USER) вместо ~:
ak@myo5a:~$ echo "$(grep -v "^#" ~/.dbus/session-bus/$(cat /var/lib/dbus/machine-id)-0)"
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-qH8a0TOc6f,guid=873a5a81a7abe448ef2c293000000012
DBUS_SESSION_BUS_PID=2013
DBUS_SESSION_BUS_WINDOWID=8388609
ak@myo5a:~$ sudo -sH
root@myo5a:/home/ak# echo "USER=$USER; HOME=$HOME; SUDO_USER=$SUDO_USER; SUDO_HOME=$(eval echo ~$SUDO_USER)"
USER=root; HOME=/root; SUDO_USER=ak; SUDO_HOME=/home/ak
root@myo5a:/home/ak# echo "$(grep -v "^#" $(eval echo ~$SUDO_USER)/.dbus/session-bus/$(cat /var/lib/dbus/machine-id)-0)"
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-qH8a0TOc6f,guid=873a5a81a7abe448ef2c293000000012
DBUS_SESSION_BUS_PID=2013
DBUS_SESSION_BUS_WINDOWID=8388609
root@myo5a:/home/ak# sudo -u $SUDO_USER touch /cant_touch_this
touch: cannot touch `/cant_touch_this': Permission denied
Похоже, что $HOME изменяется на /root в среде вашего скрипта. Попробуйте использовать $SUDO_USER вместо $ON_USER и $(eval echo ~$SUDO_USER) вместо ~:
ak@myo5a:~$ echo "$(grep -v "^#" ~/.dbus/session-bus/$(cat /var/lib/dbus/machine-id)-0)"
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-qH8a0TOc6f,guid=873a5a81a7abe448ef2c293000000012
DBUS_SESSION_BUS_PID=2013
DBUS_SESSION_BUS_WINDOWID=8388609
ak@myo5a:~$ sudo -sH
root@myo5a:/home/ak# echo "USER=$USER; HOME=$HOME; SUDO_USER=$SUDO_USER; SUDO_HOME=$(eval echo ~$SUDO_USER)"
USER=root; HOME=/root; SUDO_USER=ak; SUDO_HOME=/home/ak
root@myo5a:/home/ak# echo "$(grep -v "^#" $(eval echo ~$SUDO_USER)/.dbus/session-bus/$(cat /var/lib/dbus/machine-id)-0)"
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-qH8a0TOc6f,guid=873a5a81a7abe448ef2c293000000012
DBUS_SESSION_BUS_PID=2013
DBUS_SESSION_BUS_WINDOWID=8388609
root@myo5a:/home/ak# sudo -u $SUDO_USER touch /cant_touch_this
touch: cannot touch `/cant_touch_this': Permission denied
Похоже, что $HOME изменяется на /root в среде вашего скрипта. Попробуйте использовать $SUDO_USER вместо $ON_USER и $(eval echo ~$SUDO_USER) вместо ~:
ak@myo5a:~$ echo "$(grep -v "^#" ~/.dbus/session-bus/$(cat /var/lib/dbus/machine-id)-0)"
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-qH8a0TOc6f,guid=873a5a81a7abe448ef2c293000000012
DBUS_SESSION_BUS_PID=2013
DBUS_SESSION_BUS_WINDOWID=8388609
ak@myo5a:~$ sudo -sH
root@myo5a:/home/ak# echo "USER=$USER; HOME=$HOME; SUDO_USER=$SUDO_USER; SUDO_HOME=$(eval echo ~$SUDO_USER)"
USER=root; HOME=/root; SUDO_USER=ak; SUDO_HOME=/home/ak
root@myo5a:/home/ak# echo "$(grep -v "^#" $(eval echo ~$SUDO_USER)/.dbus/session-bus/$(cat /var/lib/dbus/machine-id)-0)"
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-qH8a0TOc6f,guid=873a5a81a7abe448ef2c293000000012
DBUS_SESSION_BUS_PID=2013
DBUS_SESSION_BUS_WINDOWID=8388609
root@myo5a:/home/ak# sudo -u $SUDO_USER touch /cant_touch_this
touch: cannot touch `/cant_touch_this': Permission denied
Похоже, что $HOME изменяется на /root в среде вашего скрипта. Попробуйте использовать $SUDO_USER вместо $ON_USER и $(eval echo ~$SUDO_USER) вместо ~:
ak@myo5a:~$ echo "$(grep -v "^#" ~/.dbus/session-bus/$(cat /var/lib/dbus/machine-id)-0)"
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-qH8a0TOc6f,guid=873a5a81a7abe448ef2c293000000012
DBUS_SESSION_BUS_PID=2013
DBUS_SESSION_BUS_WINDOWID=8388609
ak@myo5a:~$ sudo -sH
root@myo5a:/home/ak# echo "USER=$USER; HOME=$HOME; SUDO_USER=$SUDO_USER; SUDO_HOME=$(eval echo ~$SUDO_USER)"
USER=root; HOME=/root; SUDO_USER=ak; SUDO_HOME=/home/ak
root@myo5a:/home/ak# echo "$(grep -v "^#" $(eval echo ~$SUDO_USER)/.dbus/session-bus/$(cat /var/lib/dbus/machine-id)-0)"
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-qH8a0TOc6f,guid=873a5a81a7abe448ef2c293000000012
DBUS_SESSION_BUS_PID=2013
DBUS_SESSION_BUS_WINDOWID=8388609
root@myo5a:/home/ak# sudo -u $SUDO_USER touch /cant_touch_this
touch: cannot touch `/cant_touch_this': Permission denied
Похоже, $ HOME
заменяется на / root
в среде вашего скрипта. Попробуйте использовать $ SUDO_USER вместо $ ON_USER
и $ (eval echo ~ $ SUDO_USER) вместо ~
:
ak @ myo5a: ~ $ echo "$ (grep -v" ^ # "~ / .dbus / session-bus / $ (cat / var / lib / dbus / machine-id) -0) «DBUS_SESSION_BUS_ADDRESS = unix: abstract = / tmp / dbus-qH8a0TOc6f, guid = 873a5a81a7abe448ef2c293000000012 DBUS_SESSION_BUS_PID = 2013 DBUS_SESSION_BUS_WINDOWID = 8388609 ak @ myo5a: ~ $ sudo -sH root @ myo5a: / home / ak # echo" USER = $ USER ; HOME = $ HOME; SUDO_USER = $ SUDO_USER; SUDO_HOME = $ (eval echo ~ $ SUDO_USER) "USER = root; НАЧАЛО = / корень; SUDO_USER = ак; SUDO_HOME = / home / ak root @ myo5a: / home / ak # echo "$ (grep -v" ^ # "$ (eval echo ~ $ SUDO_USER) /. Dbus / session-bus / $ (cat / var / lib / dbus / machine-id) -0) «DBUS_SESSION_BUS_ADDRESS = unix: abstract = / tmp / dbus-qH8a0TOc6f, guid = 873a5a81a7abe448ef2c293000000012 DBUS_SESSION_BUS_PID = 2013 DBUS_SESSION_BUS_WINDOWID = 8388609 root @ myo5a: / home / ak # sudo -u $ SUDO_USER touch / cant_touch_this touch : не может касаться `/ cant_touch_this ': Permission denied
Похоже, $ HOME
заменяется на / root
в среде вашего скрипта. Попробуйте использовать $ SUDO_USER вместо $ ON_USER
и $ (eval echo ~ $ SUDO_USER) вместо ~
:
ak @ myo5a: ~ $ echo "$ (grep -v" ^ # "~ / .dbus / session-bus / $ (cat / var / lib / dbus / machine-id) -0) «DBUS_SESSION_BUS_ADDRESS = unix: abstract = / tmp / dbus-qH8a0TOc6f, guid = 873a5a81a7abe448ef2c293000000012 DBUS_SESSION_BUS_PID = 2013 DBUS_SESSION_BUS_WINDOWID = 8388609 ak @ myo5a: ~ $ sudo -sH root @ myo5a: / home / ak # echo" USER = $ USER ; HOME = $ HOME; SUDO_USER = $ SUDO_USER; SUDO_HOME = $ (eval echo ~ $ SUDO_USER) "USER = root; НАЧАЛО = / корень; SUDO_USER = ак; SUDO_HOME = / home / ak root @ myo5a: / home / ak # echo "$ (grep -v" ^ # "$ (eval echo ~ $ SUDO_USER) /. Dbus / session-bus / $ (cat / var / lib / dbus / machine-id) -0) «DBUS_SESSION_BUS_ADDRESS = unix: abstract = / tmp / dbus-qH8a0TOc6f, guid = 873a5a81a7abe448ef2c293000000012 DBUS_SESSION_BUS_PID = 2013 DBUS_SESSION_BUS_WINDOWID = 8388609 root @ myo5a: / home / ak # sudo -u $ SUDO_USER touch / cant_touch_this touch : не может касаться `/ cant_touch_this ': Permission denied
Похоже, $ HOME
заменяется на / root
в среде вашего скрипта. Попробуйте использовать $ SUDO_USER вместо $ ON_USER
и $ (eval echo ~ $ SUDO_USER) вместо ~
:
ak @ myo5a: ~ $ echo "$ (grep -v" ^ # "~ / .dbus / session-bus / $ (cat / var / lib / dbus / machine-id) -0) «DBUS_SESSION_BUS_ADDRESS = unix: abstract = / tmp / dbus-qH8a0TOc6f, guid = 873a5a81a7abe448ef2c293000000012 DBUS_SESSION_BUS_PID = 2013 DBUS_SESSION_BUS_WINDOWID = 8388609 ak @ myo5a: ~ $ sudo -sH root @ myo5a: / home / ak # echo" USER = $ USER ; HOME = $ HOME; SUDO_USER = $ SUDO_USER; SUDO_HOME = $ (eval echo ~ $ SUDO_USER) "USER = root; НАЧАЛО = / корень; SUDO_USER = ак; SUDO_HOME = / home / ak root @ myo5a: / home / ak # echo "$ (grep -v" ^ # "$ (eval echo ~ $ SUDO_USER) /. Dbus / session-bus / $ (cat / var / lib / dbus / machine-id) -0) «DBUS_SESSION_BUS_ADDRESS = unix: abstract = / tmp / dbus-qH8a0TOc6f, guid = 873a5a81a7abe448ef2c293000000012 DBUS_SESSION_BUS_PID = 2013 DBUS_SESSION_BUS_WINDOWID = 8388609 root @ myo5a: / home / ak # sudo -u $ SUDO_USER touch / cant_touch_this touch : не может касаться `/ cant_touch_this ': Permission denied
Похоже, $ HOME
заменяется на / root
в среде вашего скрипта. Попробуйте использовать $ SUDO_USER вместо $ ON_USER
и $ (eval echo ~ $ SUDO_USER) вместо ~
:
ak @ myo5a: ~ $ echo "$ (grep -v" ^ # "~ / .dbus / session-bus / $ (cat / var / lib / dbus / machine-id) -0) «DBUS_SESSION_BUS_ADDRESS = unix: abstract = / tmp / dbus-qH8a0TOc6f, guid = 873a5a81a7abe448ef2c293000000012 DBUS_SESSION_BUS_PID = 2013 DBUS_SESSION_BUS_WINDOWID = 8388609 ak @ myo5a: ~ $ sudo -sH root @ myo5a: / home / ak # echo" USER = $ USER ; HOME = $ HOME; SUDO_USER = $ SUDO_USER; SUDO_HOME = $ (eval echo ~ $ SUDO_USER) "USER = root; НАЧАЛО = / корень; SUDO_USER = ак; SUDO_HOME = / home / ak root @ myo5a: / home / ak # echo "$ (grep -v" ^ # "$ (eval echo ~ $ SUDO_USER) /. Dbus / session-bus / $ (cat / var / lib / dbus / machine-id) -0) «DBUS_SESSION_BUS_ADDRESS = unix: abstract = / tmp / dbus-qH8a0TOc6f, guid = 873a5a81a7abe448ef2c293000000012 DBUS_SESSION_BUS_PID = 2013 DBUS_SESSION_BUS_WINDOWID = 8388609 root @ myo5a: / home / ak # sudo -u $ SUDO_USER touch / cant_touch_this touch : не может касаться `/ cant_touch_this ': Permission denied
sudo -u $ USER
- это то же самое, что и выполнение команды в качестве пользователя $ USER
. Таким образом, вы не должны ожидать каких-либо повышенных привилегий при использовании sudo -u $ SUDO_USER
, если только sudo -s
не был запущен как root.
– ændrük
13 March 2011 в 01:49