Чтобы избежать проблем со специальными символами в тексте замены, я бы поместил новую запись cron в файл с именем, например new-entry
, а затем использовал:
{ crontab -l | sed '/^# SPECIAL_JOB/{
n
r /path/to/new-entry
d
}' } | crontab -
Я сделал незначительное изменение скобок подоболочки (
... )
на простые фигурные скобки {
... }
, потому что нет реальной необходимости создавать подоболочку; тоже без вреда!
Затем я использую sed для разбора входящего текста; он ищет строку, начинающуюся с # SPECIAL_JOB
, а затем выполняет три действия:
# SPECIAL_JOB
)r
читает задание из вашего файла d
удаляет строку, которая раньше следовала за# SPECIAL_JOB
--старым заданием. Модуль r8169
- это драйвер для ряда realtek nics. Многие из тех требуют пакет прошивки, чтобы успешно инициализировать NIC.
Проверьте свой список dmesg
(E.g.dmesg | grep firmware
):Вы можете найти сообщение, такое как Unable to load firmware <name of firmware file>
. Это означало бы, что вам придется предоставить этот файл прошивки.
Поскольку у вас есть пользовательская система, вам может быть легче всего загрузить этот файл из визиота GIT -и поместите его в каталог /lib/firmware/rtl_nic/
в вашей системе.
В Ubuntu файлы прошивки realtek NIC доступны как пакет firmware-realtek
, и установщик, вероятно, достаточно умный, чтобы добавить его автоматически во время процесса установки ОС, если он обнаруживает, что вам это понадобится.
Как только у вас есть файл прошивки на месте,выгрузить и перезагрузить модуль r8169
:
modprobe -r r8169
modprobe r8169
Теперь, когда модуль может найти файл микропрограммы и передать его аппаратному обеспечению сетевой карты, карта должна правильно инициализироваться.
Возможно, некоторым аппаратным устройствам может потребоваться несколько файлов прошивки, поэтому, если сетевая карта по-прежнему недоступна, снова проверьте конец списка dmesg
на наличие новых сообщений.
Ошибка -EIO означает, что что-то на более низком уровне, чем сетевой драйвер, выходит из строя. Вы можете проверить следующий отчет :https://bugzilla.kernel.org/show_bug.cgi?id=203025В качестве альтернативы выполните некоторую отладку printf, чтобы увидеть, где именно что-то не работает. Подробное изучение журнала dmesg также может дать подсказку. Сообщение, относящееся к igb -, здесь не имеет значения. Возможно, вы пропустили какой-то базовый параметр конфигурации для поддержки PCI (e ).