Начальная загрузка в однопользовательский режим.
самый легкий путь состоит в том, чтобы добавить, "s" в конец строки ядра в личинке (используйте e для редактирования записи и b для начальной загрузки). Это будет обычно отбрасывать Вас к корневой подсказке.
совместное использование пароля не должно иметь значения между прочим, таким образом хождение в james и делая "su" должно работать.
На более старых версиях, может только быть python
вместо python2
. Для создания строки хижины более ясной Вы могли создать ссылку python2 -> python
таким образом, можно использовать #!/usr/bin/env python2
.
Я думаю, что "стандарт" определен в https://www.python.org/dev/peps/pep-0394/
Этот ПЭП обеспечивает конвенцию, гарантирующую, что питонские сценарии смогут продолжают быть переносимыми в *nix-системах, независимо от того, по умолчанию. версия интерпретатора Python (т.е. версия, на которую ссылается интерпретатор команда питона).
- python2 будет ссылаться на некоторую версию Python 2.x.
- python3 будет ссылаться на некоторую версию Python 3.x.
- на данный момент все дистрибутивы должны гарантировать, что python ссылается на ту же самую цель, что и python2.
- однако конечные пользователи должны знать, что python ссылается на python3, по крайней мере, на Arch Linux (это изменение и послужило причиной создания этот ПЭП), поэтому питон должен использоваться в линии Шебана только для того. скрипты, совместимые с источниками как на Python 2, так и на Python 3.
- в рамках подготовки к возможному изменению стандартной версии Python, на Python 2 должны быть обновлены только те сценарии, которые совместимы с исходными текстами как на Python 2, так и на Python 3. совместимый с Python 3 или использовать python2 в линии shebang.
Сценарий может проверить его версию Python и, если это Python 3, повторно запустите себя с помощью Python 2. Добавьте следующее возле главы скрипта:
if sys.version > '3':
python2 = os.popen('which python2 2> /dev/null').read().rstrip()
if python2:
args = sys.argv[:]
args.insert(0,python2)
os.execv(python2,args)
else:
sys.exit("%s requires Python Version 2 (python2 not in PATH)" % os.path.basename(__file__))
Это использует систему Команда
для определения размещения Python2
в пути окружающей среды
. Затем он отправляется с этим (или прервать, если не может его найти).
Обратите внимание, что скрипт должен быть действительным синтаксисом Python 3 для его запуска в Python 3.
Кроме того, любой выход должен быть промыты до вызова
или его будет потеряно. Добавление, например, Sys.Stdout.flush ()
Незадолго до вызова EXECV
будет промыть любой распечатки
.