Це команда virt-edit, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн емулятор Windows або онлайн емулятор MAC OS
ПРОГРАМА:
ІМ'Я
virt-edit - редагувати файл у віртуальній машині
СИНТАКСИС
virt-edit [--параметри] -d ім'я домену файл [файл ...]
virt-edit [--options] -a disk.img [-a disk.img ...] файл [файл ...]
virt-edit [-d ім'я домену|-a disk.img] файл -e 'expr'
Старий стиль:
virt-edit файл домену
virt-edit disk.img [disk.img ...] файл
УВАГА
Використовуючи "virt-edit" на віртуальних машинах або одночасно з іншими інструментами для редагування дисків,
може бути небезпечним, потенційно спричиняючи пошкодження диска. Віртуальна машина повинна бути закрита
перед використанням цієї команди, а образи дисків не можна редагувати одночасно.
ОПИС
"virt-edit" - це інструмент командного рядка для редагування "файлу", де кожен "файл" існує в названому
віртуальна машина (або образ диска).
Можна дати декілька імен файлів, у цьому випадку кожен з них редагується по черзі. Кожен
Ім'я файлу має бути повним шляхом, починаючи з кореневого каталогу (починаючи з '/').
Якщо ви хочете просто переглянути файл, використовуйте вірт-кіт(1).
Для більш складних випадків слід подивитися на риба-гость(1) інструмент (див. «ВИКОРИСТАННЯ GUESTFISH»
нижче).
"virt-edit" не можна використовувати для створення нового файлу. риба-гость(1) може зробити це та багато іншого.
ПРИКЛАДИ
Інтерактивно редагуйте названі файли:
virt-edit -d мій домен /boot/grub/grub.conf
virt-edit -d мій домен / etc / passwd
Для гостей Windows деякі шляхи Windows зрозумілі:
virt-edit -d mywindomain 'c:\autoexec.bat'
Якщо встановлено Perl, ви також можете редагувати файли неінтерактивно (див. «НЕІНТЕРАКТИВНІ
РЕДАГУВАННЯ" нижче). Щоб змінити рівень ініціалізації за замовчуванням на 5:
virt-edit -d mydomain /etc/inittab -e 's/^id:.*/id:5:initdefault:/'
ВАРІАНТИ
--допомога
Відобразити коротку довідку.
-a файл
--додати файл
додавати файл який має бути образом диска з віртуальної машини. Якщо віртуальна машина
має кілька блочних пристроїв, ви повинні постачати їх окремо -a Варіанти.
Формат образу диска визначається автоматично. Щоб скасувати це та примусити a
використовувати певний формат --формат=.. варіант.
-a URI
--додати URI
Додайте віддалений диск. Дивіться розділ «ДОДАВАННЯ ДИСТАНЦІЙНОГО СХОВ'Я» в риба-гость(1).
-b розширення
--резервне копіювання розширення
Створіть резервну копію вихідного файлу in гість диск зображення. Резервна копія має
оригінальне ім'я файлу з доданим "розширенням".
Зазвичай першим символом "extension" буде крапка "." тому ви б написали:
virt-edit -b .orig [і т.д.]
За замовчуванням файл резервної копії не створюється.
-c URI
-- підключити URI
Якщо використовується libvirt, підключіться до даного URI. Якщо пропущено, ми підключаємось до
гіпервізор libvirt за замовчуванням.
Якщо ви вкажете напряму гостьові блокові пристрої, то libvirt взагалі не використовується.
-d гість
--домен гість
Додайте всі диски з названого гостя libvirt. Замість них можна використовувати UUID домену
імена.
--ехо-клавіші
Коли ви запитуєте ключі та парольні фрази, virt-edit зазвичай вимикає ехо, щоб ви
не видно, що ви вводите. Якщо вас не турбують атаки Tempest і
у кімнаті більше нікого немає, ви можете вказати цей прапорець, щоб побачити, що ви вводите.
-e ЕКСПРЕС
--редагувати ЕКСПРЕС
- вираз ЕКСПРЕС
Замість того, щоб запускати зовнішній редактор, застосовуйте вираз Perl неінтерактивно
"EXPR" до кожного рядка у файлі. Див. "НЕІНТЕРАКТИВНЕ РЕДАГУВАННЯ" нижче.
Будьте обережні, правильно цитуйте вираз, щоб запобігти його зміні
оболонки.
Зауважте, що ця опція доступна лише тоді, коли інстальовано Perl 5.
--format=raw|qcow2|..
--формат
За замовчуванням для -a опція — автоматичне визначення формату образу диска. Використання
це змушує форматувати диск для -a параметри, які слідують у командному рядку. Використання
--формат без аргументу повертається до автоматичного визначення для наступного -a Варіанти.
Наприклад:
virt-edit --format=raw -файл disk.img
змушує необроблений формат (без автоматичного визначення) для disk.img.
virt-edit --format=raw -a disk.img --format -a another.img файл
змушує необроблений формат (без автоматичного визначення) для disk.img і повертається до автоматичного визначення для
інший.img.
Якщо у вас є ненадійні образи гостьового диска в необробленому форматі, вам слід скористатися цим параметром
вкажіть формат диска. Це дозволяє уникнути можливої проблеми безпеки зі зловмисником
гостей (CVE-2010-3851).
--ключі-від-стандарту
Читання параметрів ключа або парольної фрази зі стандартного входу. За замовчуванням потрібно спробувати прочитати
парольні фрази від користувача, відкриваючи /dev/tty.
-m dev[:mountpoint[:options[:fstype]]]
--монтувати dev[:mountpoint[:options[:fstype]]]
Змонтуйте названий розділ або логічний том на задану точку монтування.
Якщо точку монтування опущено, вона за замовчуванням /.
Зазначення будь-якої точки монтування вимикає перевірку гостя та його монтування
root і всі його точки монтування, тому не забудьте змонтувати всі необхідні точки монтування
працювати з іменами файлів, наведеними як аргументи.
Якщо ви не знаєте, які файлові системи містить образ диска, ви можете запустити guestfish
без цієї опції, перелічіть доступні розділи, файлові системи та LV (див
команди "list-partitions", "list-filesystems" і "lvs"), або ви можете використовувати
virt-файлові системи(1) програма.
Третя (і рідко використовувана) частина параметра монтування — це список параметрів монтування
використовується для монтування базової файлової системи. Якщо цього не вказано, то варіанти монтування
є або порожнім рядком, або "ro" (останнє, якщо --ро використовується прапор). За
вказуючи параметри монтування, ви замінюєте цей вибір за замовчуванням. Мабуть єдиний
час, який ви б використали, щоб увімкнути списки керування доступом та/або розширені атрибути, якщо файлова система
може підтримати їх:
-m /dev/sda1:/:acl,user_xattr
Використання цього прапорця еквівалентно використанню команди "mount-options".
Четверта частина параметра - це драйвер файлової системи, який потрібно використовувати, наприклад "ext3" або
"ntfs". Це рідко потрібно, але може бути корисно, якщо для a
файлову систему (наприклад: "ext2" і "ext3"), або якщо libguestfs неправильно ідентифікує файлову систему.
-v
-багатослівний
Увімкнути докладні повідомлення для налагодження.
-V
-- версія
Відобразити номер версії та вийти.
-x Увімкнути відстеження викликів API libguestfs.
СТАРИЙ СТИЛЬ КОМАНДА ЛІНІЯ АРГУМЕНТИ
Попередні версії virt-edit дозволяли вам писати:
virt-edit disk.img [disk.img ...] файл
or
virt-edit файл імені гостя
тоді як у цій версії ви повинні використовувати -a or -d відповідно, щоб уникнути плутанини
де образ диска може мати те саме ім'я, що й ім'я гостя.
Для сумісності все ще підтримується старий стиль.
НЕІНТЕРАКТИВНИЙ Редагування
"virt-edit" зазвичай викликає $EDITOR (або vi), щоб системний адміністратор міг
інтерактивно редагувати файл.
Існує також два способи використання "virt-edit" зі скриптів для автоматичного редагування
до файлів. (Зверніть увагу, що хоча ви може Використовуйте "virt-edit", як це, воно менш схильне до помилок
писати сценарії безпосередньо за допомогою API libguestfs і Augeas для файлу конфігурації
редагування.)
Перший метод полягає в тому, щоб тимчасово встановити $EDITOR на будь-який сценарій або програму, яку потрібно запустити.
Сценарій викликається як "$EDITOR tmpfile", однак він повинен оновити "tmpfile" на місці
це подобається.
Другий спосіб полягає у використанні -e параметр "virt-edit", щоб запустити короткий фрагмент Perl
стиль sed(1). Наприклад, щоб замінити всі екземпляри "foo" на "bar" у файлі:
virt-edit -d ім'я домену ім'я файлу -e 's/foo/bar/'
Можна використовувати всю потужність регулярних виразів Perl (див perlre(1)). Наприклад до
видалити пароль root ви можете зробити:
virt-edit -d ім'я домену / etc / passwd -e 's/^root:.*?:/ корінь::/'
Що насправді відбувається, так це те, що фрагмент оцінюється як вираз Perl для кожного рядка
файл. Рядок, включаючи кінцевий "\n", передається в $_, а вираз повинен
оновити $_ або залишити без змін.
Щоб видалити рядок, встановіть для $_ порожній рядок. Наприклад, щоб видалити користувача «apache».
обліковий запис із файлу паролів ви можете зробити:
virt-edit -d мій домен / etc / passwd -e '$_ = "" якщо /^apache:/'
Щоб вставити рядок, додайте його перед або додайте до $_. Однак додавання рядків до кінця
файл досить складний, оскільки немає поняття «останній рядок файлу» -
твій вираз просто більше не викликається. Можливо, ви захочете скористатися першим методом
(встановлення $EDITOR), якщо ви хочете це зробити.
Змінна $lineno містить поточний номер рядка. Як традиційно, перший рядок
у файлі номер 1.
Повернене значення з виразу ігнорується, але вираз може викликати "die".
щоб перервати всю програму, залишивши вихідний файл недоторканим.
Пам’ятайте, що при збігу кінця рядка $_ може містити кінцевий «\n» або (для DOS
файли) "\r\n", або якщо файл не закінчується символом нового рядка, то жодне з них. Таким чином до
відповідність або заміна тексту в кінці рядка, скористайтеся цим регулярним виразом:
/якийсь текст(\r?\n)?$/
Крім того, скористайтеся функцією perl "chomp", обережно, щоб не chomp сам $_ (оскільки
це видалить усі нові рядки з файлу):
мій $m = $_; chomp $m; $m =~ /деякий текст$/
WINDOWS Шляхи
"virt-edit" має обмежену здатність розуміти літери дисків і шляхи Windows (наприклад.
E:\foo\bar.txt).
Якщо і тільки якщо гість працює під керуванням Windows, то:
· Префікси букв диска, як-от "C:", розв'язуються з реєстром Windows до
правильна файлова система.
· Будь-які символи зворотної косої риски ("\") у шляху замінюються прямими рисками, щоб
libguestfs може обробити його.
· Шлях розв'язується без урахування регістру, щоб знайти файл, який потрібно відредагувати.
Є деякі відомі недоліки:
· Деякі символічні посилання NTFS можуть бути некоректними.
· Точки з'єднання NTFS, які не дотримуються між файловими системами.
ВИКОРИСТАННЯ РИБА ГОСТЯ
риба-гость(1) є потужнішим інструментом нижнього рівня, який можна використовувати під час "virt-edit"
не працює.
Використання "virt-edit" приблизно еквівалентно виконанню:
guestfish --rw -i -d ім'я домену редагувати / файл
де "domname" - це ім'я гостя libvirt, і /файл це повний шлях до файлу.
Команда вище використовує функцію гостьової перевірки libguestfs і тому не працює
гості, які libguestfs не може перевірити, або на такі речі, як довільні образи дисків, які цього не роблять
містити гостей. Щоб безпосередньо редагувати файл на образі диска, використовуйте:
guestfish --rw -a disk.img -m /dev/sda1 редагувати /файл
де disk.img це образ диска, / dev / sda1 є файловою системою в образі диска
редагувати, і /файл це повний шлях до файлу.
"virt-edit" не може створювати нові файли. Використовуйте команди guestfish "touch", "write" або
натомість "завантажити":
guestfish --rw -i -d ім'я домену touch /newfile
guestfish --rw -i -d ім'я домену write /newfile "новий вміст"
guestfish --rw -i -d ім'я домену завантажити локальний файл / новий файл
НАВКОЛИШНЄ СЕРЕДОВИЩЕ ЗМІННІ
"РЕДАКТОР"
Якщо встановлено, цей рядок використовується як редактор. Він може містити аргументи, напр. "emacs -nw"
Якщо не встановлено, використовується «vi».
EXIT СТАТУС
Ця програма повертає 0 в разі успіху або відмінний від нуля, якщо сталася помилка.
Використовуйте virt-edit онлайн за допомогою служб onworks.net