Я боюсь, что это невозможно впоследствии. После того, как весь "поврежденный канал" означает, что другого процесса не стало (или по крайней мере закрыл его дескриптор файла).
В то время как все все еще в порядке, можно сделать это:
sleep 1000 | sleep 1000
PID=12345 # PID of one of the sleep processes
ls -l /proc/$PID/fd
# output [...]
l-wx------ 1 hl hauke 64 15. Apr 19:11 1 -> pipe:[108237859]
# output [...]
lsof -n | grep 108237859 # gives you all processes which have access to this pipe
sleep 12928 hl 1w FIFO 0,8 0t0 108262866 pipe
sleep 12929 hl 0r FIFO 0,8 0t0 108262866 pipe
Редактирование 1
Если lsof не доступен:
for dir in /proc/[1-9]*; do
test -r "$dir"/fd || continue
if ls -ln "$dir"/fd | grep -q 108355662; then
echo "PID: ${dir#/proc/}"
fi
done
Честно говоря, звучит немного глупо.
grep -Ev "[[]"
исключает процессы, в команде которых имеется открывающая квадратная скобка. Хотя это часто процессы ядра, даже обычная пользовательская космическая программа может иметь этот символ, присутствующий в командной строке.
grep -Ev "tty"
- то же самое в бледно-синем цвете. Он исключает процессы, имеющие последовательность «tty» где-то на их линии вывода ps
. Сюда входят процессы с открытым оконечным устройством (но не процессы, чем с открытым псевдотерминалом (!)), поэтому это звучит как ограничение вывода демонизированными задачами.
Однако, как и в вышеупомянутом случае, это также исключит процессы, которые появляются в выходных данных ps
как:
pid ? R+ 310:03 /home/pwned_user/bin/rootkit_tty[_rofl crack root-password
То есть, вам очень повезло, что вы нашли что-либо, и вы не можете быть действительно уверены, что нашли все. Учитывая ваш вопрос имеет «корпоративный сервер безопасности» в начале приводит его еще на один уровень вверх (или вниз, если хотите).
-121--128954- Вот выходные данные apt-cache search ltsp
на raspbian (Debian Wheezy скомпилирован для armv6 малины pi):
fts-ltsp-ldap - LDAP LTSP module for the TFTP/Fuse supplicant
fts-opsi - LDAP LTSP module for the TFTP/Fuse supplicant
ldm - LTSP display manager
ldm-server - server components for LTSP display manager
ldm-themes - Collection of themes for the LTSP login manager
ltsp-client - complete LTSP client environment
ltsp-client-core - basic LTSP client environment
ltsp-controlaula - classroom management tool - LTSP client version
ltsp-docs - LTSP Documentation
ltsp-server - basic LTSP server environment
ltsp-server-standalone - complete LTSP server environment
ltspfs - Fuse based remote filesystem for LTSP thin clients
ltspfsd - Fuse based remote filesystem hooks for LTSP thin clients
ltspfsd-core - Fuse based remote filesystem daemon for LTSP thin clients
Пакет ltsp-server-standalone
упоминается здесь ", если вы хотите получить полный LT Итак, ответ на ваш вопрос «Как использовать ARM в качестве сервера LTSP?»: Точно так же, как вы это делаете в любом другом месте . У них даже есть вики .
То есть, если вы хотите использовать малиновый pi, или банановый pi, или любую другую систему ARM с низкой мощностью для этой цели, вы почти наверняка будете разочарованы. Эти машины могут поддерживать рабочий стол для себя, но у них просто нет мощности или оперативной памяти , чтобы сделать это для нескольких клиентов. Конечно, я могу ошибаться - удачи!
-121--175324- Забыть grub
полностью - это не что иное, как отвлечение внимания. Это даже не загрузчик ; в системах EFI загрузчик встроен в встроенное ПО. grub
является просто загрузочным менеджером в этом контексте - и почти определенно полностью избыточным. Более того - вероятно, именно установка grub
сломала все в первую очередь.
Это те вещи, которые вам нужны:
Boot0000- {UUID}
, но это также зависит от значения BootOrder- {UUID}
) . Строго говоря, это все. Вышеуказанную настройку можно выполнить с помощью инструментов командной строки gdisk
и efibootmgr
.
Прагматично, boot-manager имеет смысл - но grub
является самым сложным из всех доступных. Как и в других рекомендуемых случаях, rEFInd
, вероятно, лучший из группы.
Я написал пошаговое руководство по разделению, форматированию и настройке системного раздела EFI с поддержкой rEFInd
перед здесь . Здесь также еще один ответ на эту тему, в котором вы можете найти некоторые дополнительные объяснения относительно утверждений, которые я делаю здесь.
Когда я переустановил свой ESP и личинку, я использовал, повторно найдите: http://sourceforge.net/projects/refind/files/?source=navbar (вариант карты флэш-памяти) для начальной загрузки в мое распределение.
После начальной загрузки монтируют ваш ESP в/boot/efi
mount -t vfat /dev/yourESPdev /boot/efi
Затем, необходимо смочь переустановить личинку с этим каталогом EFI.
grub-install --efi-directory=/boot/efi
Это должно восстановить личинку. Если ваш ESP был удален, и необходимо было воссоздать его, то необходимо будет обновить, это - UUID в/etc/fstab. Использовать blkid
для списка UUID устройств. После обновления UUID вашего устройства в/etc/fstab, выполненном личинка обновления
.
необходимо будет, вероятно, также создать новую запись efi для личинки. Использовать что-то вроде:
efibootmgr -c -d /dev/yourHD -p ESP_PartionNumber -L "Boot Title" -l '\\EFI\\DIST\\grubx64.efi' -u "root=/dev/yourRootFS"
, Где ESP_PartitionNumber является количеством вашего ESP на жестком диске (/dev/sda1 был бы 1), и DIST папка, имя которой характерно для вашего дистрибутива, если вы не создали его. Папка находится в/boot/efi/EFI. Заголовок начальной загрузки является просто заголовком, который вы хотите для своей записи EFI.
прошло некоторое время, так как я переустановил свой ESP, таким образом, я не могу протестировать ни одну из этих команд снова. Вам, возможно, понадобится больше параметров для некоторых, но я вполне уверен, это было всем.
В зависимости от распределения вы загружаетесь от:
для Ubuntu / Debian :
APT-Get-Get install --reinstall Grub-EFI-AMD64
Или альтернативно:
apt-get install --reinstall grub-efi
Update-grub.
Если вышеизложенное даст вам личинка, но не загружаемая
Для Федора (до 16, может работать для других):
yum reestall grub-efi
В следующей команде вам необходимо заменить SDX с устройством, которое имеет
Раздел EFI, с которого вы хотите загрузить. В - Часть y
Вы должны заменить Y
С числом разбиения EFI (как в / dev / sdxy
).
efibootmgr -c --disk / dev / sdx --part y
efibootmgr -v # проверить новую запись под названием Linux, есть
для i в / sys / proc / dev / pts / dev; DO SUDO UOUNT / MNT $ I; сделано sudo umount / mnt / boot / efi # Пожалуйста, сделайте это. Поврежденные разделы EFI не приятно sudo umount / mnt Sudo Reboot
Вам может потребоваться адаптировать это к вашим потребностям
Источник: SU
Когда вы не уверены в таких вещах, как разметка, попытайтесь спасти то, что вы можете и стереть диск (или, по крайней мере, LVM/GPT метаданные, по крайней мере, некоторые из них находятся не только в начале блочного устройства IIRC). Это может сэкономить вам немного времени (в прошлом веке BIOS, PTBL и MBR имели три различных представления о том, что такое геометрия диска).
Если бы вы действительно могли повернуть ситуацию вспять, вы бы здесь не спрашивали (не обижайтесь, я тоже прострелил себе ногу этой книгой на "Next").
Если вы все равно захотите с этим замутить, начните со спасательного изображения (бесстыдная вилка: я бы использовал эту ) и посмотрите на
efibootmgr
blkid /dev/sdX
Вы тоже можете найти Книги Рода на EFI полезными.
Удачи.
Это небольшое, но важное замечание:
В большинстве случаев, когда вы получаете Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables.
, это связано с тем, что вы не загрузились с использованием UEFI. Эти переменные отображаются только при загрузке системы с UEFI, с помощью CSM они не включены... так что это проблема курицы и яйца, чтобы настроить UEFI, нужно загрузиться с UEFI! :)
Так что попробуйте настроить как можно больше, затем возьмите образ rEFInd usb или CD и используйте его для загрузки системы в первый раз. После этого завершите настройку без проблем.
Это высоко в Google, но все остальные только частично полный, по крайней мере, для кого-то в моей ситуации.
Мой компьютер уже дважды (и еще больше, зная мою удачу) потерял информацию о том, что моя установка Debian 8.2 существует. Это может как-то быть вызвано ошибкой в моей прошивке UEFI и/или использованием слота SATA, которого официально не существует... или, может быть, какая-то программа мешает разделу или самому SSD подозрительно... не знаю.
Во всяком случае, в первый раз я так рано все настроил, что просто полностью переустановил. Это исправило это. Но это было немного кувалдой.
На этот раз это невозможно. Я потратил слишком много времени на свою конфигурацию!
Сегодня мой более диагностический подход показал, что (по крайней мере, на этот раз) причина была не — или не только — прошивка «забыла» о существовании раздела EFI — но также указанный раздел каким-то образом был поврежден. Опять же, я не могу это объяснить: это может быть дрянная прошивка, ужас несвязанной файловой системы или что-то совсем другое. Я просто должен иметь дело с этим, я думаю.
Симптомы были следующие:
debian
загрузочного раздела EFI efibootmgr
теперь сообщал о диске как о старом типе BIOS, не EFI монтировать
как /boot/efi
, так как... fsck
пожаловался на то, что загрузочный сектор отличается от намерения/резервной копии, и на поврежденный корневой узел FAT (термин dat) или что-то в этом роде Итак, вот полный и аргументированный список того, что я сделал, чтобы это исправить (на данный момент?):
/
все еще не поврежден mkdosfs -F 32 /dev/sdXN
- замените свой собственный KNAME
- и избегайте их во всех случаях, кроме временных ситуаций во время выполнения, потому что они вызывают проблемы, если диски перемешаны grub -install /dev/sdXN
/etc/fstab
со своим старым UUID, вызывая systemd
для отказа от зависимостей /etc/fstab
для ссылки на пути типа /dev/disk/by-id/ata-EVILCORP-C3PO-partN
для всех дисков - поскольку (A) KNAME
является рискованным и (B) UUID меняются, если вам вдруг придется переформатировать, как бедный я... Как говорится, «до следующего раза» — пожалуй, буквально. Может быть, это поможет какой-нибудь другой заблудшей душе, лихорадочно ищущей в Google какой-нибудь неисправный одолженный ПК.