Ранее косвенная также узнали некоторые из Linux на основе, долгосрочные без много точек знания были забыты. Теперь готов на эксплуатацию и техническое обслуживание этого пути еще дальше, так что Linux дисциплина, язык под углубленное исследование недавно началось.
В последнее время я общаюсь с компанией, к счастью разумеющимся, что мы можем сделать проект вместе с Даниилом, чтобы способствовать нашему прогрессу. Первая задача состоит в том, чтобы получить полную информацию Redhat7 патча обобщать статистику. Требования к проекту заключаются в следующем:
От https://access.redhat.com/errata/#/?q=&p=1&sort=portal_publication_date%20desc&rows=100&portal_advisory_type=Security%20Advisory&portal_product=Red%20Hat%20Enterprise%20Linux&portal_product_variant=Red%20Hat%20Enterprise%20Linux%20Server&portal_product_version= 7 & portal_architecture = x86_64 информация , полученная информация открыта ссылка патч сохраняется следующим образом
Хотелось бы, чтобы закончить этот проект Есть много способов, один из которых является одним из звеньев, а затем открыть информацию, которую мы получили одно за другим, чтобы заполнить в таблице выше, но слишком много времени, и потеряли первоначальную цель нашего проекта, поэтому мы, конечно, будет Со знанием мы научились упрощать этот вопрос, сделать вещи проще трудоемкими веслами. Вот мои идеи и достижение за последние несколько дней, конечно, тратить так много времени, и сказал мне только предварительное исследование системы, связанной с Linux, никоим образом знания не является слабым он может узнать только знание с точкой знаний!
Во-первых, на следующий мы детальный анализ этого вопроса:
1, хотели бы заполнить эту форму на самом деле, нам нужно только найти номер RHSA, CVE, соответствующие ссылки, тип системы безопасности, и могут быть описаны
2, как получить данные в этой связи, мы должны получить исходный код для этой ссылки
3, что, открыв исходный код RHSA номер два канала передачи данных может быть получены непосредственно из исходного кода страницы, ССО, типа безопасности, а также описание необходимости открывать ссылки из соответствующих захваченных в контенте.
Во-вторых, ход проекта (знание ограничено, только в случае существующего запаса знаний мышления)
1, как получить Redhat7 ссылку исходного кода
файлы исходного кода HTML, найденные по #curl Redhat7 ссылке >> linux.html получали в отсутствии таких несколько ключевых слов, которые мы должны на практике системы Linux, так что я могу только через веб-ссылки будут открывать Redhat7 сохранить переименованы, а затем я открою эту redhat.html страницу локально, как redhat.html этот файл на рабочем столе, а затем нажмите клавишу F12, чтобы сохранить исходный код доступен test.html файл в другой файл, на этот раз мы нашли test.html файл есть ключевое слово в адресной информации RHSA нам нужен номер, и соответствующие ссылки. (На самом деле, этот test.html файл не содержит всю информацию о всех номерах RHSA, так как эта информация через доступ к более чем девятисот частям, есть открытые вкладки, просто сохраните его как способ, в котором мы устанавливаем, чтобы открыть только один из 100 Статья информации номера, конечно, это не влияет на наше исследование этой проблемы, нам нужно только повторить операцию несколько раз просто отлично на основе полных данных на странице 100)
2, с помощью test.html мы загружаем файл на локальном рабочем столе в операционной системе Linux мы используем, и здесь я использую систему CentOS6.8. После того, как мы загрузили файл манипулировать, чтобы получить то, что мы хотим, чтобы число RHSA и связывает эти данные
Получить RHSA количество командных #grep "RHSA" test.html | Grep --color "HREF" | вырезать -d = -f7 | вырезать -d '«' -f2 | вырезать -d '/' -f5
Для командования ссылки #grep "RHSA" test.html | Grep --color "HREF" | вырезать -d = -f7 | вырезать -d '«' -f2> test1.txt Эта команда является результатом нашего приобретенным сохранить 100 test1.txt ссылки на этот файл
3, после получения 100 ссылок, мы должны пройти через эти ссылки одиннадцать ссылки, чтобы получить CVE, тип системы безопасности, а также соответствующее описание, например:
Получить команду из одного соединения, в котором внутри CVE
#curl https://access.redhat.com/errata/RHSA-2019:1166 | Grep --color -A 50 "CVEs" | Grep -o "ССО - * \". | СЕПГ 's /\.// г'
В чем приобретенный тип защиты от одного заказа соединения внутри
#curl https://access.redhat.com/errata/RHSA-2019:2462 | Grep --Цвет -o "Security Advisory: [[: пространство:]] [[цифра, буква]] *" | вырезать -d '' -f3
Получить в котором Описание (как описано ниже) от одного заказа соединения внутри
#curl https://access.redhat.com/errata/RHSA-2019:2462 | Grep --color -A 1 "<h2> Описание </ h2>" | Grep -E «^ [[: пространство:]] + <р> '| СЭД -r 's @ ^ [[: пространство:]] + @@ г' | Grep -o --color "^ <р> * Security Fix" | СЭД -r' s @ < BR /> <P> Исправление безопасности @@ г»| СЭД -r 's @ <br /> @@ г' | СЭД -r 's @ <р> @@ г'
Конечно, это одиннадцать ссылок отнимает много времени, на этот раз мы напишем скрипт, по одному траверсы 100 ссылок на данные, чтобы получить данные, которые мы хотим
Первый способ (этот путь приходит вдохновение из круговика со сдвигом $ 1, то есть, когда мы запускаем скрипт, есть несколько параметров, каждый параметр участвует только сделать первый скрипт запускаются, конец счета, Круговой, выгнал из первого аргумента, второй аргумент становится первым параметром, а затем запустить скрипт участвует, и так далее, пока все параметры не участвуют в довершении всего):
Мы создаем исполняемый файл в / TMP каталог #nano ceshishift.sh для редактирования:
#! / Bin / Баш
Эхо -e "binhao:` Эхо $ 1 | вырезать -d '/' -f5` \ nlianjie: $ 1 \ nCVEs: `свернуться $ 1 | Grep --color -A 50 " CVEs" | Grep -o" CVE - * \ .»| СЕПГ«s /\.// g'` \ nanquanleixing: `свернуться $ 1 | Grep --Цвет -o "Security Advisory: [[: пространство:]] [[цифра, буква]] *" | вырезано - d» '-f3` \ nDescription:` свернуться $ 1 | Grep --color -A 1 "<h2> Описание </ h2>" | Grep -E '^ [[: пространство:]] + <р>' | СЭД -r 's @ ^ [[: пространство:]] + @@ г' | Grep -o --color "^ <р> * Security Fix" | СЭД -r «s @ <br /> <P> Безопасность Фикс @@ г '| СЭД -r 's @ <br /> @@ г' | СЭД -r' s @ <р> @@ g'`»
сдвиг
,
,
100 раз
После сохранения файла, чтобы добавить разрешения #chmod + х
Установка переменной а, значение, присвоенное ему 100 ссылок # а = `кошка test1.txt`
Тогда мы начали запускать скрипт # / ceshishift.sh $ а может получить данные, которые мы хотим что-то вроде следующего:
Хотя выше мнение путем опроса можно сделать, но вы должны написать код выше 100, который много друзей, так что очень легко добиться эффекта мы хотим, и по-прежнему вниз
Второй метод (здесь мы используем цикл):
Мы создаем исполняемый файл в / TMP каталог #nano ceshifor.sh для редактирования:
#! / Bin / Баш
а = `кошка test1.txt`
для LJ в $ а;
делать
Эхо -e "binhao:` Эхо $ LJ | вырезать -d '/' -f5` \ nlianjie: $ LJ \ nCVEs: `свернуться $ LJ | Grep --color -A 50 "CVEs" | Grep -o" CVE- . * \ «| СЕПГ«s /\.// g'` \ nanquanleixing: `свернуться $ LJ | Grep --Цвет -o«. Security Advisory: [[: пространство:]] [[цифра, буква]] * "| покрой -d» '-f3` \ nDescription: `свернуться $ LJ | Grep --color -A 1 "<h2> Описание </ h2>" | Grep -E' ^ [[: пространство:]] + < р> '| СЭД -r 's @ ^ [[: пространство:]] + @@ г' | Grep -o --color "^ <р> * Security Fix" | СЭД -r' s @ <BR / > <P> Исправление безопасности @@ г '| СЭД -r 's @ <br /> @@ г' | СЭД -r' s @ <р> @@ g'` ";
сделанный
Сохранение и выход, добавить в файл разрешения #chmod + х
Запустите скрипт # / ceshifor.sh |. Tee linux100.txt может напечатать 100, а число соответствующих данных, сохраненных в одиннадцать linux100.txt файла на экране, например,
Есть много способов сделать это, но, основываясь на моем существующем знании вышеуказанного количества завершено, многие из последних в плане моего запаса знаний я буду приходить и затем загрузить дополнительные модификации, такие, которые могут быть использованы, например, для использования функции или рептилии, это случаю моего друга с Python сценария рептилии могут достичь полного эффекта предмета требуется, и я могу только достигнуть вышеуказанных функций, чтобы получить необходимые данные, то как данные в электронные таблицы, требуемые командой или другими средствами, а также Нам нужно время, чтобы разобраться. Теперь я, как мой рептилий друг код распространяется в виде картинок на:
Фигура эффект является .xlsx файл автоматически: