Как проверить, что патч подойдет к исходникам обновленного я
От: sasvak  
Дата: 27.07.17 15:38
Оценка:
После очередного обновления системы перестала работать сетевая карта. Получил патч для ядра.
Как проверить, что патч подойдет к исходникам обновленного ядра.

Какой командой проверить наложится ли патч на исходники:


patch --dry-run
patch --applicable
patch --unified
patch -pl
patch --context
Отредактировано 27.07.2017 15:49 sasvak . Предыдущая версия .
linux unix terminal lan
Re: Как проверить, что патч подойдет к исходникам обновленного ядра?
От: kov_serg Россия  
Дата: 27.07.17 15:44
Оценка: 3 (1)
Здравствуйте, sasvak, Вы писали:

S>После очередного обновления системы перестала работать сетевая карта. Получил патч для ядра.

S>Как проверить, что патч подойдет к исходникам обновленного ядра.

S>Какой командой проверить наложится ли патч на исходники:



S>
S>patch --dry-run
S>patch --applicable
S>patch --unified
S>patch -pl
S>patch --context
S>


git apply
Re[2]: Как проверить, что патч подойдет к исходникам обновленного ядра?
От: sasvak  
Дата: 27.07.17 15:48
Оценка:
Здравствуйте, kov_serg, Вы писали:

_>Здравствуйте, sasvak, Вы писали:


S>>После очередного обновления системы перестала работать сетевая карта. Получил патч для ядра.

S>>Как проверить, что патч подойдет к исходникам обновленного ядра.

S>>Какой командой проверить наложится ли патч на исходники:



S>>
S>>patch --dry-run
S>>patch --applicable
S>>patch --unified
S>>patch -pl
S>>patch --context
S>>


_>git apply


ТЕ все команды — а потом _>git apply
Re[3]: Как проверить, что патч подойдет к исходникам обновленного ядра?
От: sasvak  
Дата: 27.07.17 15:50
Оценка:
Здравствуйте, sasvak, Вы писали:

S>Здравствуйте, kov_serg, Вы писали:


_>>Здравствуйте, sasvak, Вы писали:


S>>>После очередного обновления системы перестала работать сетевая карта. Получил патч для ядра.

S>>>Как проверить, что патч подойдет к исходникам обновленного ядра.

S>>>Какой командой проверить наложится ли патч на исходники:



S>>>
S>>>patch --dry-run
S>>>patch --applicable
S>>>patch --unified
S>>>patch -pl
S>>>patch --context
S>>>


_>>git apply


S>ТЕ все команды - а потом _>git apply


Или только одну — но какую?
Re: Как проверить, что патч подойдет к исходникам обновленного я
От: Zhendos  
Дата: 27.07.17 16:24
Оценка:
Здравствуйте, sasvak, Вы писали:

S>После очередного обновления системы перестала работать сетевая карта. Получил патч для ядра.

S>Как проверить, что патч подойдет к исходникам обновленного ядра.

S>Какой командой проверить наложится ли патч на исходники:



S>
S>patch --dry-run
S>patch --applicable
S>patch --unified
S>patch -pl
S>patch --context
S>


А зачем, patch достаточно умный чтобы откатить только примененное.
Т.е. ставите `patch -p1 < path/to/patch`, если вам что-то не понравилось
то `patch -p1 -R < path/to/patch`.
Re[2]: Как проверить, что патч подойдет к исходникам обновленного я
От: sasvak  
Дата: 27.07.17 16:31
Оценка:
Здравствуйте, Zhendos, Вы писали:

Z>Здравствуйте, sasvak, Вы писали:


S>>После очередного обновления системы перестала работать сетевая карта. Получил патч для ядра.

S>>Как проверить, что патч подойдет к исходникам обновленного ядра.

S>>Какой командой проверить наложится ли патч на исходники:



S>>
S>>patch --dry-run
S>>patch --applicable
S>>patch --unified
S>>patch -pl
S>>patch --context
S>>


Z>А зачем, patch достаточно умный чтобы откатить только примененное.

Z>Т.е. ставите `patch -p1 < path/to/patch`, если вам что-то не понравилось
Z>то `patch -p1 -R < path/to/patch`.

А зачем тогда:
patch --dry-run
Re: Как проверить, что патч подойдет к исходникам обновленного я
От: aik Австралия  
Дата: 27.07.17 16:42
Оценка: 3 (1) +1
Здравствуйте, sasvak, Вы писали:

S>Какой командой проверить наложится ли патч на исходники:

S>
S>patch --dry-run
S>


Этой.
Re[2]: Как проверить, что патч подойдет к исходникам обновленного я
От: sasvak  
Дата: 27.07.17 16:54
Оценка:
Здравствуйте, aik, Вы писали:

aik>Здравствуйте, sasvak, Вы писали:


S>>Какой командой проверить наложится ли патч на исходники:

S>>
S>>patch --dry-run
S>>


aik>Этой.


Спасибо. Можно еще вопрос?
Re[3]: Как проверить, что патч подойдет к исходникам обновленного я
От: aik Австралия  
Дата: 27.07.17 17:01
Оценка:
Здравствуйте, sasvak, Вы писали:

S>Спасибо. Можно еще вопрос?


Ты как то первый вопрос без вопросов задал, зачем тут формальности?
Re[4]: Как проверить, что патч подойдет к исходникам обновленного я
От: sasvak  
Дата: 27.07.17 17:37
Оценка:
Здравствуйте, aik, Вы писали:

aik>Здравствуйте, sasvak, Вы писали:


S>>Спасибо. Можно еще вопрос?


aik>Ты как то первый вопрос без вопросов задал, зачем тут формальности?


Тогда вопрос такой: Сисадмин пишет скрипт для установки бухгалтерской проги. После установки админ не получает никаких сообщений.

Можно ли правильно оценить статус завершения предыдущей команды в своем скрипте на BASH:

if [ "$#" -eq "0" ]; then…
if ["$#" == 0]; then…
if [ "$?" -eq "0" ]; then…
if [ $@ -eq 0 ]; then…
if ["$?" -ne "0"]; then…
Re[5]: Как проверить, что патч подойдет к исходникам обновленного я
От: aik Австралия  
Дата: 28.07.17 01:22
Оценка:
Здравствуйте, sasvak, Вы писали:

S>Тогда вопрос такой: Сисадмин пишет скрипт для установки бухгалтерской проги. После установки админ не получает никаких сообщений.

S>Можно ли правильно оценить статус завершения предыдущей команды в своем скрипте на BASH:
S>
S>if [ "$#" -eq "0" ]; then…
S>if ["$#" == 0]; then…
S>if [ "$?" -eq "0" ]; then…
S>if [ $@ -eq 0 ]; then…
S>if ["$?" -ne "0"]; then…
S>


Шелл не люблю люто, так что не знаю что такое $# и $@. Прошелся по своим скриптам, нашлось:
if [ $? -eq 0 ] ; then
if [ $? -ne 0 ] ; then
if [ "$?" == "0" ]; then
if [ $? != 0 ] ; then
RET=$?
if [ "$RET" == "0" ] ; then


Ну и обычно пишут с ||, типа:
vim --version || sudo dnf install vim

что означает логическую операцию ret_from_vim||ret_from_dnf — и баш вторую команду выполнит только если первая сфейлила (например, vim не установлен). Причем, в баше остроумно решили (или это до них решили, скорее) что "успешно", это когда $? равен нулю:
[aik@aik ~]$ true ; echo $?
0
[aik@aik ~]$ false ; echo $?
1
[aik@aik ~]$ true || echo $?
[aik@aik ~]$ false || echo $?
1
Re[6]: Как проверить, что патч подойдет к исходникам обновленного я
От: DOOM Россия  
Дата: 28.07.17 07:02
Оценка:
Здравствуйте, aik, Вы писали:

aik>Причем, в баше остроумно решили (или это до них решили, скорее) что "успешно", это когда $? равен нулю:

Справедливости ради замечу, что код возврата 0 как индикация отсутствия ошибок — повсеместный стандарт во всех ОС и никак не связан с шелом.
Даже на си всем вдалбливали писать в конце return 0 (а писать void main было жутчайшим моветоном), а на том же ACM, без return 0 программа сразу получала Presentation Error.
Re[7]: Как проверить, что патч подойдет к исходникам обновленного я
От: aik Австралия  
Дата: 28.07.17 07:11
Оценка:
Здравствуйте, DOOM, Вы писали:

DOO>Даже на си всем вдалбливали писать в конце return 0 (а писать void main было жутчайшим моветоном), а на том же ACM, без return 0 программа сразу получала Presentation Error.


На си ноль — это false. В шелле ноль — это true. И логические операции перевернуты. Хочется дать в глаз.
Re[8]: Как проверить, что патч подойдет к исходникам обновленного я
От: DOOM Россия  
Дата: 28.07.17 07:16
Оценка:
Здравствуйте, aik, Вы писали:


aik>На си ноль — это false. В шелле ноль — это true. И логические операции перевернуты. Хочется дать в глаз.

Ну это претензия к командам true и false. Их типа сделали для удобства

Но мне всегда было привычнее делать что-то типа "die if !open" (читается: если не открылось, то все)
Re[9]: Как проверить, что патч подойдет к исходникам обновленного я
От: aik Австралия  
Дата: 28.07.17 07:27
Оценка:
Здравствуйте, DOOM, Вы писали:

aik>>На си ноль — это false. В шелле ноль — это true. И логические операции перевернуты. Хочется дать в глаз.

DOO>Ну это претензия к командам true и false. Их типа сделали для удобства

Не, это претензия к обработке || и &&, точнее, к приведению типа int к bool в баше.

DOO>Но мне всегда было привычнее делать что-то типа "die if !open" (читается: если не открылось, то все)


Да это пожалуйста, и не к такому привыкнуть можно. ТСу просто стоит иметь ввиду если он решил все таки учить баш вместо куда как более приличного питона.
Re[6]: Как проверить, что патч подойдет к исходникам обновленного я
От: sasvak  
Дата: 28.07.17 10:22
Оценка:
Здравствуйте, aik, Вы писали:

aik>Здравствуйте, sasvak, Вы писали:


S>>Тогда вопрос такой: Сисадмин пишет скрипт для установки бухгалтерской проги. После установки админ не получает никаких сообщений.

S>>Можно ли правильно оценить статус завершения предыдущей команды в своем скрипте на BASH:
S>>
S>>if [ "$#" -eq "0" ]; then…
S>>if ["$#" == 0]; then…
S>>if [ "$?" -eq "0" ]; then…
S>>if [ $@ -eq 0 ]; then…
S>>if ["$?" -ne "0"]; then…
S>>


aik>Шелл не люблю люто, так что не знаю что такое $# и $@. Прошелся по своим скриптам, нашлось:

aik>
aik>if [ $? -eq 0 ] ; then
aik>if [ $? -ne 0 ] ; then
aik>if [ "$?" == "0" ]; then
aik>if [ $? != 0 ] ; then
aik>RET=$?
aik>if [ "$RET" == "0" ] ; then
aik>


aik>Ну и обычно пишут с ||, типа:

aik>
aik>vim --version || sudo dnf install vim
aik>

aik>что означает логическую операцию ret_from_vim||ret_from_dnf — и баш вторую команду выполнит только если первая сфейлила (например, vim не установлен). Причем, в баше остроумно решили (или это до них решили, скорее) что "успешно", это когда $? равен нулю:
aik>
aik>[aik@aik ~]$ true ; echo $?
aik>0
aik>[aik@aik ~]$ false ; echo $?
aik>1
aik>[aik@aik ~]$ true || echo $?
aik>[aik@aik ~]$ false || echo $?
aik>1
aik>



Спасибо разобрался. Вот еще челендж щас идет с консолью https://pinguem.ru/contest/task/foreign-file/

Доступ (если попросит)

Логин sassas10001@gmail.com Пароль ivan12345

Может быть получится решить
Re[8]: Как проверить, что патч подойдет к исходникам обновленного я
От: alexku Россия  
Дата: 03.08.17 10:40
Оценка:
Здравствуйте, aik, Вы писали:

aik>На си ноль — это false. В шелле ноль — это true. И логические операции перевернуты. Хочется дать в глаз.


Это так видимо потому, что 0 — код успешного завершения (true), не 0 — код ошибки (false). С этой точки зрения логично.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.