Ответ Луиса великолепен. Я предлагаю небольшое возможное улучшение.
Вместо создания файла /tmp/command
, который содержит путь к скрипту, который вы хотите выполнить, как предложил Луи в следующем коде:
cat [path to dumpfile crated earlier] /tmp/command | xargs -0 -x env -i
Вместо этого вы можете назвать скрипт непосредственно в команде с помощью следующей альтернативной команды (обратите внимание на \x00
, приложенной к пути к скрипту cron, что очень важно:
printf "/path/to/cron/script\x00" | cat /path/to/dumpfile/created/earlier - | xargs -0 -x env -i
Это позволяет избежать необходимости создания файла /tmp/command
.
Для этого обычно используется paste
:
paste -d '\n' file1 file2
Можно также использовать GNU sed
:
sed Rfile2 file1
С помощью awk
:
awk '{print;getline < "file2"; print}' file1 file2
(обратите внимание на то, как они проявляют 3 различное поведение, когда оба файла не имеют одинакового количества строк).
-121--247446-Вероятно, да и нет.
Да, вероятно, вы можете загрузить образ (или что-либо, что выполняется в системе для этого) - просто загрузите «необработанные» данные /dev/mtdblock *
. В большинстве случаев вы получите изображение SquashFS , которое вы сможете монтировать и исследовать локально.
Нет, вы не собираетесь получать исходный код таким образом, за исключением любых (обычно shell) скриптов. Значительная часть данных, которые вы получите, будут скомпилированы (и почти наверняка удалены ) двоичные файлы.
Это означает, что если вы хотите увидеть, как работает загрузка на уровне init , вы получите то, что хотите. Если вы хотите исходный код для программного обеспечения, которое работает в системе, вам не повезло (если он не пришел с аппаратным обеспечением, которое, конечно, должно быть). Если вы действительно хотите источники, спросите поставщика системы - они должны дать вам исходный код, в противном случае они нарушают GPL (что используется для большинства программных обеспечений, работающих на Linux boxen в наши дни) - см. GPL Нарушения страницы для более подробной информации и списка судебных исков. Это, конечно, относится только к лицензионному программному обеспечению GPL (или аналогичным образом) - если вы находитесь после их проприетарного программного обеспечения, вам, скорее всего, не повезло, хотя иногда можно убедить их предоставить вам некоторый доступ к нему.
-121--175645-Просмотрели ли вы ваши процессы - содержат ли они sshd?
ps -eF | grep ssh
Проверьте выходные данные упомянутой выше команды до и после остановки/запуска службы. Может, что-то пойдет не так, когда запустят демона.