Случайно переименован / bin Help!

AmanicA может работать в некоторых случаях, но не каждый раз. Например, сбои с nvidia-340 на Utopic.

Реальная проблема заключается в том, что политика разработки ocl-icd должна быть исправлена ​​https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics- драйверы / + ошибка / 1328542

так что добавьте ваш «повлиять на меня тоже», чтобы привлечь больше внимания разработчиков

38
задан 22 November 2017 в 20:08

12 ответов

Есть несколько способов устранить эту проблему.

Если у вас есть доступ к оболочке (любой открытый терминал), запустите:

sudo /D_bin/mv -T /D_bin /bin

sudo находится в [ f7], поэтому нет необходимости запускать его с абсолютным путем.

Другое, что вы можете сделать, это добавить /D_bin к вашей переменной среды PATH, например:

[ f2]

Если у вас нет доступа к какой-либо оболочке:

перезагрузите систему, когда появится grub, нажмите e, чтобы отредактировать grub в конце строки, которая начинается с linux, добавьте:
init=/D_bin/bash
нажмите CTRL + x

Теперь вы попадете в оболочку bash, вы должны переделать файловую систему как прочитанную и перезаписываемую.

/D_bin/mount -o remount,rw /

И переместите каталог D_bin в bin:

/D_bin/mv -T /D_bin /bin

Затем перезагрузите систему.

Он должен работать, но если ничего не сработало для вас, вы все равно можете загрузить систему с живым ubuntu disk / usb и исправить проблему .

88
ответ дан 23 May 2018 в 00:03
  • 1
    Первый решил. Большое спасибо, действительно спас мой день. Из любопытства, просмотрев сценарий, почему переименование достигнуто / bin? Все папки на рабочем столе получили «_D», но не любые другие дома или в корне, за исключением bin. – Carlos D. Zapata 2 April 2017 в 16:50
  • 2
    @ CarlosD.Zapata: если вам нужно сменить каталог в цикле в скрипте, часто бывает неплохо запустить код в суб-she'll. Добавьте открытую круглую скобку перед cd "$j" (имя должно быть в двойных кавычках) и замените вредоносное выражение cd .. соответствующей скобкой. Кроме того, почему вы работаете с правами root. Вы не сможете нанести такой урон. – Jonathan Leffler 2 April 2017 в 17:16
  • 3
    @ CarlosD.Zapata: после того, как ваш cd .. поставил pwd, удалите команду find из сценария, а затем запустите ее как обычного пользователя. вы увидите, что скрипт переходит в /, потому что вы делаете cd $ j, который, я думаю, является файлами, которые не являются каталогами. поэтому в каждом цикле вы делаете один шаг назад, и, наконец, вы находитесь в /. – Ravexina 2 April 2017 в 17:24
  • 4
    @ CarlosD.Zapata Имейте в виду, что он может быть «остановлен». на /bin, потому что он работал с папками внутри /bin. Я бы проверил их (хотя и не как root!) – wizzwizz4 2 April 2017 в 20:22
  • 5
    Вероятно, он остановился на / bin, потому что / bin был первой папкой в ​​/, которую он переименовал (сначала в алфавитном порядке), и после этого он больше не мог запускать mv. – immibis 3 April 2017 в 04:17

Есть несколько способов устранить эту проблему.

Если у вас есть доступ к оболочке (любой открытый терминал), запустите:

sudo /D_bin/mv -T /D_bin /bin

sudo находится в /usr/bin, поэтому нет необходимости запускать его с абсолютным путем.

Другое, что вы можете сделать, это добавить /D_bin к вашей переменной среды PATH, например:

export PATH=$PATH:/D_bin

Если у вас нет доступа к какой-либо оболочке:

перезагрузите систему, когда появится grub, нажмите e, чтобы отредактировать grub в конце строки, которая начинается с linux, добавьте: init=/D_bin/bash нажмите CTRL + x

Теперь вы попадете в оболочку bash, вы должны переделать файловую систему как прочитанную и перезаписываемую.

/D_bin/mount -o remount,rw /

И переместите каталог D_bin в bin:

/D_bin/mv -T /D_bin /bin

Затем перезагрузите систему.

Он должен работать, но если ничего не сработало для вас, вы все равно можете загрузить систему с живым ubuntu disk / usb и исправить проблему .

88
ответ дан 18 July 2018 в 15:39

Есть несколько способов устранить эту проблему.

Если у вас есть доступ к оболочке (любой открытый терминал), запустите:

sudo /D_bin/mv -T /D_bin /bin

sudo находится в /usr/bin, поэтому нет необходимости запускать его с абсолютным путем.

Другое, что вы можете сделать, это добавить /D_bin к вашей переменной среды PATH, например:

export PATH=$PATH:/D_bin

Если у вас нет доступа к какой-либо оболочке:

перезагрузите систему, когда появится grub, нажмите e, чтобы отредактировать grub в конце строки, которая начинается с linux, добавьте: init=/D_bin/bash нажмите CTRL + x

Теперь вы попадете в оболочку bash, вы должны переделать файловую систему как прочитанную и перезаписываемую.

/D_bin/mount -o remount,rw /

И переместите каталог D_bin в bin:

/D_bin/mv -T /D_bin /bin

Затем перезагрузите систему.

Он должен работать, но если ничего не сработало для вас, вы все равно можете загрузить систему с живым ubuntu disk / usb и исправить проблему .

88
ответ дан 24 July 2018 в 20:41

Есть несколько способов устранить эту проблему.

Если у вас есть доступ к оболочке (любой открытый терминал), запустите:

sudo /D_bin/mv -T /D_bin /bin

sudo находится в /usr/bin, поэтому нет необходимости запускать его с абсолютным путем.

Другое, что вы можете сделать, это добавить /D_bin к вашей переменной среды PATH, например:

export PATH=$PATH:/D_bin

Если у вас нет доступа к какой-либо оболочке:

перезагрузите систему, когда появится grub, нажмите e, чтобы отредактировать grub в конце строки, которая начинается с linux, добавьте: init=/D_bin/bash нажмите CTRL + x

Теперь вы попадете в оболочку bash, вы должны переделать файловую систему как прочитанную и перезаписываемую.

/D_bin/mount -o remount,rw /

И переместите каталог D_bin в bin:

/D_bin/mv -T /D_bin /bin

Затем перезагрузите систему.

Он должен работать, но если ничего не сработало для вас, вы все равно можете загрузить систему с живым ubuntu disk / usb и исправить проблему .

88
ответ дан 31 July 2018 в 10:30

Есть несколько способов устранить эту проблему.

Если у вас есть доступ к оболочке (любой открытый терминал), запустите:

sudo /D_bin/mv -T /D_bin /bin

sudo находится в /usr/bin, поэтому нет необходимости запускать его с абсолютным путем.

Другое, что вы можете сделать, это добавить /D_bin к вашей переменной среды PATH, например:

export PATH=$PATH:/D_bin

Если у вас нет доступа к какой-либо оболочке:

перезагрузите систему, когда появится grub, нажмите e, чтобы отредактировать grub в конце строки, которая начинается с linux, добавьте: init=/D_bin/bash нажмите CTRL + x

Теперь вы попадете в оболочку bash, вы должны переделать файловую систему как прочитанную и перезаписываемую.

/D_bin/mount -o remount,rw /

И переместите каталог D_bin в bin:

/D_bin/mv -T /D_bin /bin

Затем перезагрузите систему.

Он должен работать, но если ничего не сработало для вас, вы все равно можете загрузить систему с живым ubuntu disk / usb и исправить проблему .

88
ответ дан 31 July 2018 в 11:31

Есть несколько способов устранить эту проблему.

Если у вас есть доступ к оболочке (любой открытый терминал), запустите:

sudo /D_bin/mv -T /D_bin /bin

sudo находится в /usr/bin, поэтому нет необходимости запускать его с абсолютным путем.

Другое, что вы можете сделать, это добавить /D_bin к вашей переменной среды PATH, например:

export PATH=$PATH:/D_bin

Если у вас нет доступа к какой-либо оболочке:

перезагрузите систему, когда появится grub, нажмите e, чтобы отредактировать grub в конце строки, которая начинается с linux, добавьте: init=/D_bin/bash нажмите CTRL + x

Теперь вы попадете в оболочку bash, вы должны переделать файловую систему как прочитанную и перезаписываемую.

/D_bin/mount -o remount,rw /

И переместите каталог D_bin в bin:

/D_bin/mv -T /D_bin /bin

Затем перезагрузите систему.

Он должен работать, но если ничего не сработало для вас, вы все равно можете загрузить систему с живым ubuntu disk / usb и исправить проблему .

88
ответ дан 31 July 2018 в 23:43

Чтобы устранить эту проблему, если у вас нет открытого терминала, я сначала попытаюсь найти «заменитель оболочки», который вы можете использовать вместо bash. Python находится в /usr/bin, поэтому он должен работать.

Python 2.7.6 (default, Oct 26 2016, 20:30:19) 
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import subprocess
>>> subprocess.call(["sudo", "/D_bin/mv", "-T", "/D_bin", "/bin"])

Если это не сработает, я бы просто загрузился с live CD / USB и исправлю все, начиная с известной, среда.

Как общий совет, я бы поместил Джонатана Леффлера в комментариях: никогда не используйте cd .. в скриптах, это может легко привести к таким проблемам. Лучше всего cd в директорию $j внутри подоболочки, так что вам не нужно беспокоиться о возвращении.

#!/bin/bash
files=~/Desktop/folder_1/*

for j in $files
do
  (
    cd "$j"
    for i in 10n*  #file names starting by 10n
    do
       find * -maxdepth 0 ! -path . -exec mv {} D_{} \;
    done
  )
done

Кроме того, конечно, не запускайте материал как root, необходимо.

8
ответ дан 23 May 2018 в 00:03
  • 1
    Возможно ли запустить интерактивную оболочку, такую ​​как python, без доступа к какой-либо другой оболочке / терминалу? Я думаю, что обходной путь должен заключаться в создании скрипта, который содержит команду рядом с паролем, чтобы запустить ее как root. GUI сделает все, что я думаю. – Ravexina 3 April 2017 в 16:31
  • 2
    @Ravexina: не все может понадобиться оболочке . Довольно уверен, что для запуска процесса python вам просто нужно приложение для терминалов, и для запуска os.system("sudo ...") вам просто понадобится ядро ​​* nix. Возможно, я попробую это в VM позже ... – leftaroundabout 3 April 2017 в 17:02
  • 3
    Кроме того, когда cd в скриптах обычно лучше cd - возвращаться туда, где вы были, а не предполагать, что вы cd'd в одном каталоге. Если вы измените исходный cd, то cd .. не вернет вас туда, где вы были, но cd - будет. – Joe Frambach 3 April 2017 в 19:50
  • 4
    @JoeFrambach нравится cd .. Я бы не использовал cd - в скриптах, только в командной строке. [F3], возможно, меньше неприятностей, чем-гарантии cd .., но я до сих пор не считал бы сейф - если кто-то добавляет дополнительные изменения каталога в середине, он будет считать вас где-то непреднамеренная , В то время как подоболочки дают вам четко ограниченную область , для которой каталог меняется, и к какой точке вы вернетесь. – leftaroundabout 3 April 2017 в 22:04
  • 5
    @Ravexina Я просто попробовал: Python действительно может быть запущен. Его os.system работает , а не работает без sh, но subprocess.call работает. – leftaroundabout 4 April 2017 в 01:29

Чтобы устранить эту проблему, если у вас нет открытого терминала, я сначала попытаюсь найти «заменитель оболочки», который вы можете использовать вместо bash. Python находится в /usr/bin, поэтому он должен работать.

Python 2.7.6 (default, Oct 26 2016, 20:30:19) [GCC 4.8.4] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import subprocess >>> subprocess.call(["sudo", "/D_bin/mv", "-T", "/D_bin", "/bin"])

Если это не сработает, я бы просто загрузился с live CD / USB и исправлю все, начиная с известной, среда.

Как общий совет, я бы поместил Джонатана Леффлера в комментариях: никогда не используйте cd .. в скриптах, это может легко привести к таким проблемам. Лучше всего cd в директорию $j внутри подоболочки, так что вам не нужно беспокоиться о возвращении.

#!/bin/bash files=~/Desktop/folder_1/* for j in $files do ( cd "$j" for i in 10n* #file names starting by 10n do find * -maxdepth 0 ! -path . -exec mv {} D_{} \; done ) done

Кроме того, конечно, не запускайте материал как root, необходимо.

8
ответ дан 18 July 2018 в 15:39

Чтобы устранить эту проблему, если у вас нет открытого терминала, я сначала попытаюсь найти «заменитель оболочки», который вы можете использовать вместо bash. Python находится в /usr/bin, поэтому он должен работать.

Python 2.7.6 (default, Oct 26 2016, 20:30:19) [GCC 4.8.4] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import subprocess >>> subprocess.call(["sudo", "/D_bin/mv", "-T", "/D_bin", "/bin"])

Если это не сработает, я бы просто загрузился с live CD / USB и исправлю все, начиная с известной, среда.

Как общий совет, я бы поместил Джонатана Леффлера в комментариях: никогда не используйте cd .. в скриптах, это может легко привести к таким проблемам. Лучше всего cd в директорию $j внутри подоболочки, так что вам не нужно беспокоиться о возвращении.

#!/bin/bash files=~/Desktop/folder_1/* for j in $files do ( cd "$j" for i in 10n* #file names starting by 10n do find * -maxdepth 0 ! -path . -exec mv {} D_{} \; done ) done

Кроме того, конечно, не запускайте материал как root, необходимо.

8
ответ дан 24 July 2018 в 20:41
  • 1
    Возможно ли запустить интерактивную оболочку, такую ​​как python, без доступа к какой-либо другой оболочке / терминалу? Я думаю, что обходной путь должен заключаться в создании скрипта, который содержит команду рядом с паролем, чтобы запустить ее как root. GUI сделает все, что я думаю. – Ravexina 3 April 2017 в 16:31
  • 2
    @Ravexina: не все может понадобиться оболочке . Довольно уверен, что для запуска процесса python вам просто нужно приложение для терминалов, и для запуска os.system("sudo ...") вам просто понадобится ядро ​​* nix. Возможно, я попробую это в VM позже ... – leftaroundabout 3 April 2017 в 17:02
  • 3
    Кроме того, когда cd в скриптах обычно лучше cd - возвращаться туда, где вы были, а не предполагать, что вы cd'd в одном каталоге. Если вы измените исходный cd, то cd .. не вернет вас туда, где вы были, но cd - будет. – Joe Frambach 3 April 2017 в 19:50
  • 4
    @JoeFrambach нравится cd .. Я бы не использовал cd - в скриптах, только в командной строке. cd -, возможно, является менее надежной гарантией, чем cd .., но я все равно не буду считать это safe - если кто-то добавит дальнейшие изменения каталога посередине, это приведет вас к чему-то непреднамеренному , В то время как подоболочки дают вам четко ограниченную область , для которой каталог меняется, и к какой точке вы вернетесь. – leftaroundabout 3 April 2017 в 22:04
  • 5
    @Ravexina Я просто попробовал: Python действительно может быть запущен. Его os.system работает , а не работает без sh, но subprocess.call работает. – leftaroundabout 4 April 2017 в 01:29

Чтобы устранить эту проблему, если у вас нет открытого терминала, я сначала попытаюсь найти «заменитель оболочки», который вы можете использовать вместо bash. Python находится в /usr/bin, поэтому он должен работать.

Python 2.7.6 (default, Oct 26 2016, 20:30:19) [GCC 4.8.4] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import subprocess >>> subprocess.call(["sudo", "/D_bin/mv", "-T", "/D_bin", "/bin"])

Если это не сработает, я бы просто загрузился с live CD / USB и исправлю все, начиная с известной, среда.

Как общий совет, я бы поместил Джонатана Леффлера в комментариях: никогда не используйте cd .. в скриптах, это может легко привести к таким проблемам. Лучше всего cd в директорию $j внутри подоболочки, так что вам не нужно беспокоиться о возвращении.

#!/bin/bash files=~/Desktop/folder_1/* for j in $files do ( cd "$j" for i in 10n* #file names starting by 10n do find * -maxdepth 0 ! -path . -exec mv {} D_{} \; done ) done

Кроме того, конечно, не запускайте материал как root, необходимо.

8
ответ дан 31 July 2018 в 10:30
  • 1
    Возможно ли запустить интерактивную оболочку, такую ​​как python, без доступа к какой-либо другой оболочке / терминалу? Я думаю, что обходной путь должен заключаться в создании скрипта, который содержит команду рядом с паролем, чтобы запустить ее как root. GUI сделает все, что я думаю. – Ravexina 3 April 2017 в 16:31
  • 2
    @Ravexina: не все может понадобиться оболочке . Довольно уверен, что для запуска процесса python вам просто нужно приложение для терминалов, и для запуска os.system("sudo ...") вам просто понадобится ядро ​​* nix. Возможно, я попробую это в VM позже ... – leftaroundabout 3 April 2017 в 17:02
  • 3
    Кроме того, когда cd в скриптах обычно лучше cd - возвращаться туда, где вы были, а не предполагать, что вы cd'd в одном каталоге. Если вы измените исходный cd, то cd .. не вернет вас туда, где вы были, но cd - будет. – Joe Frambach 3 April 2017 в 19:50
  • 4
    @JoeFrambach нравится cd .. Я бы не использовал cd - в скриптах, только в командной строке. cd -, возможно, является менее надежной гарантией, чем cd .., но я все равно не буду считать это safe - если кто-то добавит дальнейшие изменения каталога посередине, это приведет вас к чему-то непреднамеренному , В то время как подоболочки дают вам четко ограниченную область , для которой каталог меняется, и к какой точке вы вернетесь. – leftaroundabout 3 April 2017 в 22:04
  • 5
    @Ravexina Я просто попробовал: Python действительно может быть запущен. Его os.system работает , а не работает без sh, но subprocess.call работает. – leftaroundabout 4 April 2017 в 01:29

чтобы исправить эту проблему, если у вас не работает терминал, я бы сначала попытаться найти “замена раковины”, которые можно использовать вместо баш. Python-это в /usr/bin, так что все должно работать.

Python 2.7.6 (default, Oct 26 2016, 20:30:19) [GCC 4.8.4] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import subprocess >>> subprocess.call(["sudo", "/D_bin/mv", "-T", "/D_bin", "/bin"])

если это не сработает, я просто загрузиться с лайв CD / USB и исправить все из-вменяемым управлением окружающей среды.

в качестве общих рекомендаций, я бы второй Джонатан Леффлер в комментариях: никогда не используйте cd .. в сценарии, он может легко привести к таким проблемам. Лучше только компакт-диск в каталог $j в подуровень, таким образом вам не придется беспокоиться о возвращении.

#!/bin/bash files=~/Desktop/folder_1/* for j in $files do ( cd "$j" for i in 10n* #file names starting by 10n do find * -maxdepth 0 ! -path . -exec mv {} D_{} \; done ) done

, конечно, не запускать все как root без крайней необходимости.

8
ответ дан 31 July 2018 в 11:31
  • 1
    Возможно ли запустить интерактивную оболочку, такую ​​как python, без доступа к какой-либо другой оболочке / терминалу? Я думаю, что обходной путь должен заключаться в создании скрипта, который содержит команду рядом с паролем, чтобы запустить ее как root. GUI сделает все, что я думаю. – Ravexina 3 April 2017 в 16:31
  • 2
    @Ravexina: не все может понадобиться оболочке . Довольно уверен, что для запуска процесса python вам просто нужно приложение для терминалов, и для запуска os.system("sudo ...") вам просто понадобится ядро ​​* nix. Возможно, я попробую это в VM позже ... – leftaroundabout 3 April 2017 в 17:02
  • 3
    Кроме того, когда cd в скриптах обычно лучше cd - возвращаться туда, где вы были, а не предполагать, что вы cd'd в одном каталоге. Если вы измените исходный cd, то cd .. не вернет вас туда, где вы были, но cd - будет. – Joe Frambach 3 April 2017 в 19:50
  • 4
    @JoeFrambach нравится cd .. Я бы не использовал cd - в скриптах, только в командной строке. cd -, возможно, является менее надежной гарантией, чем cd .., но я все равно не буду считать это safe - если кто-то добавит дальнейшие изменения каталога посередине, это приведет вас к чему-то непреднамеренному , В то время как подоболочки дают вам четко ограниченную область , для которой каталог меняется, и к какой точке вы вернетесь. – leftaroundabout 3 April 2017 в 22:04
  • 5
    @Ravexina Я просто попробовал: Python действительно может быть запущен. Его os.system работает , а не работает без sh, но subprocess.call работает. – leftaroundabout 4 April 2017 в 01:29

Чтобы устранить эту проблему, если у вас нет открытого терминала, я сначала попытаюсь найти «заменитель оболочки», который вы можете использовать вместо bash. Python находится в /usr/bin, поэтому он должен работать.

Python 2.7.6 (default, Oct 26 2016, 20:30:19) [GCC 4.8.4] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import subprocess >>> subprocess.call(["sudo", "/D_bin/mv", "-T", "/D_bin", "/bin"])

Если это не сработает, я бы просто загрузился с live CD / USB и исправлю все, начиная с известной, среда.

Как общий совет, я бы поместил Джонатана Леффлера в комментариях: никогда не используйте cd .. в скриптах, это может легко привести к таким проблемам. Лучше всего cd в директорию $j внутри подоболочки, так что вам не нужно беспокоиться о возвращении.

#!/bin/bash files=~/Desktop/folder_1/* for j in $files do ( cd "$j" for i in 10n* #file names starting by 10n do find * -maxdepth 0 ! -path . -exec mv {} D_{} \; done ) done

Кроме того, конечно, не запускайте материал как root, необходимо.

8
ответ дан 31 July 2018 в 23:43
  • 1
    Возможно ли запустить интерактивную оболочку, такую ​​как python, без доступа к какой-либо другой оболочке / терминалу? Я думаю, что обходной путь должен заключаться в создании скрипта, который содержит команду рядом с паролем, чтобы запустить ее как root. GUI сделает все, что я думаю. – Ravexina 3 April 2017 в 16:31
  • 2
    @Ravexina: не все может понадобиться оболочке . Довольно уверен, что для запуска процесса python вам просто нужно приложение для терминалов, и для запуска os.system("sudo ...") вам просто понадобится ядро ​​* nix. Возможно, я попробую это в VM позже ... – leftaroundabout 3 April 2017 в 17:02
  • 3
    Кроме того, когда cd в скриптах обычно лучше cd - возвращаться туда, где вы были, а не предполагать, что вы cd'd в одном каталоге. Если вы измените исходный cd, то cd .. не вернет вас туда, где вы были, но cd - будет. – Joe Frambach 3 April 2017 в 19:50
  • 4
    @JoeFrambach нравится cd .. Я бы не использовал cd - в скриптах, только в командной строке. cd -, возможно, является менее надежной гарантией, чем cd .., но я все равно не буду считать это safe - если кто-то добавит дальнейшие изменения каталога посередине, это приведет вас к чему-то непреднамеренному , В то время как подоболочки дают вам четко ограниченную область , для которой каталог меняется, и к какой точке вы вернетесь. – leftaroundabout 3 April 2017 в 22:04
  • 5
    @Ravexina Я просто попробовал: Python действительно может быть запущен. Его os.system работает , а не работает без sh, но subprocess.call работает. – leftaroundabout 4 April 2017 в 01:29

Другие вопросы по тегам:

Похожие вопросы: