ipconfig (конфигурация протокола Интернета) в Microsoft Windows является консольным приложением, которое отображает все текущие значения конфигурации сети TCP/IP и может изменить настройки Dynamic Host Configuration Protocol DHCP и Domain Name System DNS.
ifconfig (короткий для интерфейсной конфигурации) является утилитой системного администрирования в подобных Unix операционных системах, чтобы настроить, управлять, и запросить параметры сетевого интерфейса TCP/IP от интерфейса командной строки (CLI) или в сценариях конфигурации системы.
dhcpcd является клиентом DHCP. Это используется, чтобы получить IP-адрес и другую информацию с dhcp сервера, возобновить время владения IP-адреса и автоматически настроить сетевой интерфейс. Программа выполняет подобную функцию как dhclient.
Загрузите другую чистую ОС, смонтируйте файловую систему и исправьте полномочия.
Поскольку Ваша поврежденная файловая система живет в VM, необходимо иметь в наличии хост-систему и работу. Смонтируйте свою поврежденную файловую систему там и зафиксируйте ее.
В случае QEMU/KVM можно, например, смонтировать файловую систему с помощью nbd.
Как раз когда root
, Вы не можете выполнить файлы, которые имеют нет x
бит полномочий установлен. Что можно сделать, хотя вызов ld.so
на нем (если они - динамично связанные исполняемые файлы):
$ echo /lib/*/ld*.so
/lib/i386-linux-gnu/ld-2.27.so /lib/x86_64-linux-gnu/ld-2.27.so
Используйте тот, который соответствует архитектуре chmod
исполняемый файл. В моем случае x86_64
один:
sudo /lib/x86_64-linux-gnu/ld-2.27.so /bin/chmod 755 /bin /bin/chmod
Или призовите что-то /usr/bin
или в другом месте сделать chmod
как perl
:
sudo perl -e 'chmod 0755, "/bin", "/bin/chmod"
Остерегайтесь при восстановлении полномочий что некоторые файлы в /bin
как mount
или su
предназначены, чтобы иметь полномочия кроме 0755.
Если Вы перезагрузили, однако, Вы не смогли переходить к сути дела, куда можно работать perl
или ld.so
все же. Можно починить вещи от initramfs
хотя (передают неправильный корневой каталог для получения оболочки восстановления в initramfs; см. также break=bottom
или break=init
параметр ядра на Debian, чтобы initramfs дал Вам оболочку после корневой файловой системы, был смонтирован (только для чтения хотя)). Или загрузите свой VM от живого образа CD или зафиксируйте путем монтирования файловой системы VM на хосте как предложенные другие.
В grub
, отредактируйте запись загрузки и удалите root=
параметр от linux
команда:
setparams 'Ubuntu, with Linux 3.2.0-27-generic'
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod ext2
set root='(hd1)'
search --no-floppy --fs-uuid --set=root dc02b07c-88ef-4804-afe0-4f02db2\
94561
linux /boot/vmlinuz-3.2.0-27-generic
initrd /boot/initrd.img-3.2.0-27-generic
Ctrl-X для начальной загрузки. initramfs Ubuntu не найдет корневую файловую систему, так запустите восстановление sh
. Затем смонтируйте корневую файловую систему (в моем случае /dev/vdb
, адаптируйтесь к своей машине), и почините вещи там:
Target filesystem doesn't have requested /sbin/init.
No init found. Try passing init= bootarg.
BusyBox v1.18.5 (Ubuntu 1:1.18.5-1ubuntu4) built-in shell (ash)
Enter 'help' for a list of built-in commands.
(initramfs) mkdir /x
(initramfs) mount /dev/vdb /x
[ 48.430071] EXT3-fs (vdb): error: couldn't mount because of unsupported optio
nal features (240)
[ 48.477406] EXT4-fs (vdb): recovery complete
[ 48.477747] EXT4-fs (vdb): mounted filesystem with ordered data mode. Opts: (
null)
(initramfs) chmod -R 755 /x/bin
(initramfs) umount /x
(initramfs) reboot
После того, как загруженный, исправьте полномочия файлов, которые не предназначены, чтобы иметь 755 полномочий путем сравнения другой системе.
python
как init
:В grub
, отредактируйте запись загрузки, на этот раз сохраните root=
параметр, изменение ro
кому: rw
и добавьте a init=/usr/bin/python
:
setparams 'Ubuntu, with Linux 3.2.0-27-generic'
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod ext2
set root='(hd1)'
search --no-floppy --fs-uuid --set=root dc02b07c-88ef-4804-afe0-4f02db2\
94561
linux /boot/vmlinuz-3.2.0-27-generic root=UUID=dc02b07c-88ef-4804-afe0-\
4f02db294561 rw init=/usr/bin/python
initrd /boot/initrd.img-3.2.0-27-generic
Затем при подсказке Python:
Begin: Running /scripts/init-bottom ... done.
Python 2.7.3 (default, Apr 20 2012, 22:39:59)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.chmod('/bin/sh',0755)
>>> os.chmod('/bin/chmod',0755)
>>> os.execl('/bin/sh','sh')
sh: 0: can't access tty; job control turned off
# chmod -R 0755 /bin
# mount -o remount,ro /
[ 100.704720] EXT4-fs (vdb): re-mounted. Opts: errors=remount-ro
# exec /sbin/init
Снова, когда-то загруженный, исправьте полномочия файлов, которые не предназначены, чтобы иметь 755 полномочий путем сравнения другой системе.
already try to reboot
случай: начальная загрузка на живом CD, смонтируйте rw раздел, содержащий / мусорное ведро, и chmod 755 /bin
(и файлы внутри, если они были изменены также). Но позже, проверьте, что все файлы являются правильным разрешением (в зависимости от Вашего Linux distrib, вероятно, можно проверить / мусорное ведро по исходному пакету),
– Olivier Dulac
01.06.2013, 10:29
ld.so
, возможно, в некотором каталоге как /lib/x86_64-linux-gnu
.
– Stéphane Chazelas
04.06.2013, 09:32
os.execl
и exec
для выполнения, они не разветвляют процесс, просто заменяют исполняемый файл в том же процессе, таким образом, все сделано в pid 1. Обработайте 1 первоначально выполнения python
, затем sh
, затем init
.
– Stéphane Chazelas
08.06.2013, 12:29
Используйте Python :)
$ python
>>> import os
>>> os.chmod('/bin', 0755)
Этому ничто не должно быть нужно от /bin
сделать его задание. Очевидно, я не испытал это...
chmod
системный вызов, названный chmod
программа и также chmod
функция в python/perl/ruby и т.д. окружает, действительно звонят chmod
утилита все же.
– Dennis Kaarsemaker
01.06.2013, 11:43
chmod
встроенный. Это - вид ситуации где оболочки как sash
полезны. Это статически связано и имеет большинство команд восстановления как chmod
встроенный (так не полагается ни на что больше). Это обычно находилось бы в /sbin
хотя это не вредило бы имеющим дополнительным копиям во всех файловых системах и может использоваться в сочетании с memlockd. zsh
и ksh93
имейте chmod встроенное (хотя не включенный по умолчанию).
– Stéphane Chazelas
01.06.2013, 20:13
Можно попробовать sudo chmod -R 744 /path-to-your-system/bin
от живого дистрибутива.
/boot
раздел этого VM. Попытайтесь определить местоположение корневой файловой системы. Если на LVM, выполненномvgchange -ay
после соединенияnbd
активировать его. – Stéphane Chazelas 01.06.2013, 10:44