Я всегда думал, что это не будет хорошей идеей. Я не глубоко исследовал это, но я сделал параллельные установки 2 или 3 версий Linux на (удаленной) машине, которая должна была продолжить работать максимально долго (который, по моему скромному мнению, является близко к Вашему дополнительному требованию).
Очевидно, существует механизм для установки пакетов к другому разделу, чем активное распределение (например, 'dpkg - корень =/some/dir), но это - просто упаковка. Я был осторожен, что существуют другие вещи, продолжающиеся во время установки, о которой могла бы знать версия X при установке себя с CD, та версия x-1 (или более старый) не знает о. Поэтому я не думаю, что это - хорошая идея установить X с X-1 (но снова, это могло бы быть отсутствие знаний), и я всегда устанавливаю версию X с собой.
Что я делаю для хранения времени простоя работы X-1, минимальная система:
openssh
, и т.д.), который не установлен по умолчанию.postfix
путем копирования main.cf
от рабочей машины.Дополнительно (если Ваша машина производительна) достаточно для получения хорошего впечатления, игры с версией X.
В этой точке у Вас есть установка X (настроенный версией X), но это находится на виртуальной машине а не на разделе, который Вы хотите. Следующие шаги:
find / -xdev -print0 | cpio -pdmv0 /target/partition/mounted/in/vm
)fstab
из версии X с соответствующими UUID (или устройства) и выбор подкачки (вероятно, может совместно использовать раздел с X-1, пока Вы не в спящем режиме к диску),/boot/grub/grub.cfg
(на X-1)grub-mkconfig -o /boot/grub/grub.cfg
и разность с копией Вы просто сделали. Новое ядро должно быть примечательным как основное изменение.Теперь у Вас должна быть система двойной загрузки, которая больше не имеет версию x-1 (значение по умолчанию) и X-2 как параметры загрузки, но X-1 (значение по умолчанию) и X. Можно теперь перезагрузить в версии X ручным выбором во время начальной загрузки. Если Вы хотите сделать тот выбор, более постоянный, можно измениться GRUB_DEFAULT=
в /etc/default/grub
(или измените X-1 систему на перезагрузку по умолчанию в последнем выбранном параметре загрузки),
В какой-то момент, самое позднее прежде, чем идти в версию X+1 и таким образом перезаписать версию x-1, необходимо работать grub-install
от версии X, и начинают использовать ее личинку а не ту от X-1.
Если у Вас есть Ваш /home
на отдельном разделе затем Вы смогли совместно использовать свой корневой каталог между версиями, но иногда который не работает, поскольку программы делают необратимые преобразования данных конфигурации.
попробуйте
awk 'NR>1 { print $2 } ' /home/pi/mario/BT.txt
, где
NR > 1
означает пропуск первой строки. (NR: количество записей) Существует пакет с именем gnome-manual-duplex
. Это работает для многих принтеров из коробки. Для других может потребоваться ручная настройка.
Можно использовать awk:
awk -F\/' {print $2 «=» $3, $4 «=» $5} 'input _ file
либо с входным файлом, либо только строкой за строкой.
Вы можете просто использовать Cut
следующим образом:
cut -d '/' -f 3,5
Пример:
$ echo '/ip/192.168.0.1/port/8080/' | cut -d '/' -f 3,5
192.168.0.1/8080
Это будет вырезать с разделителем /
и отпечатки 3 и 5-го полей Отказ
Или вы хотите:
$ echo ip=`cut -d '/' -f 3 input_file` port=`cut -d '/' -f 5 input_file`
ip=192.168.0.1 port=8080
Другой чистый путь Bash с использованием массивов:
$ s="/ip/192.168.0.1/port/8080/" # initial string
$ a=(${s//// }) # substitute / with " " and make array
$ echo ${a[1]} # Array index 1 (zero-based indexing)
192.168.0.1
$ echo ${a[3]} # Array index 3 (zero-based indexing)
8080
$
или аналогично вышеупомянутому, но с использованием IFS вместо расширения параметра для разделения строки :
$ OLDIFS="$IFS" # save IFS
$ IFS="/" # temporarily set IFS
$ a=($s) # make array from string, splitting on "/"
$ IFS="$OLDIFS" # restore IFS
$ echo "${a[2]}" # Array index 2
192.168.0.1
$ echo "${a[4]}" # Array index 4
8080
$
Обратите внимание, что этот метод потенциально более общий, чем два других в этом ответе в том, что он все равно будет работать, если объекты процентов содержат пробелы.
Или используя позиционные параметры:
$ s="/ip/192.168.0.1/port/8080/" # initial string
$ set -- ${s//// } # substitute / with " " and assign params
$ echo $2 # Param 2
192.168.0.1
$ echo $4 # Param 4
8080
$
Вы можете использовать awk:
awk -f \ / '{print $ 2 "=" $ 3, $ 4 "=" $ 5}' input_file
с входным файлом или просто построчно.
-121--77651-expr /ip/192.168.0.1/port/8080/ : '.*/port/\(.*\)/'
. *
соответствует начальной части строки до / Port
Это другой способ
$ cut -d '/' -f 3,5 <<< "/ip/192.168.0.1/port/8080/"|tr -s '/' ' '
192.168.0.1 8080
С Bash
s=/ip/192.168.0.1/port/8080/
IFS=/ read -r _ _ ip _ port <<<"$s"
echo "$ip"
192.168.0.1
echo "$port"
8080