Что такое обновление ядра с помощью & ldquo; Bump ABI & rdquo ;?

Боб. У меня такие же проблемы, и мой интернет-провайдер также является Хартией. Я только что получил телефон с их технической поддержкой, и они сказали, что они не блокируют Ubuntu.com или любой из его поддоменов на их конце. Технология собирается передать заметку в мой местный офис, чтобы убедиться, что проблем с маршрутизации нет. Я действительно не знаю, что происходит, потому что я могу получить доступ к нему в своей камере (как только я снимаю его с Wi-Fi) и в моем офисе. Я пробовал несколько разных DNS-серверов (OpenDNS, Google и Хартия), и это не имеет никакого значения.

18
задан 21 March 2011 в 19:14

30 ответов

NB: я не эксперт в области ядра, поэтому это основано на собранных знаниях и опыте.

ABI «bump» не должен приносить новые функции, даже если он может «исправлять» ошибки в некоторых модулей / приложений, которые ищут более высокую версию ABI. Вы должны установить эти обновления, поскольку в целом синхронизация всех компонентов обеспечит стабильность и безопасность.

11
ответ дан 25 May 2018 в 22:28

NB: я не эксперт в области ядра, поэтому это основано на собранных знаниях и опыте.

ABI «bump» не должен приносить новые функции, даже если он может «исправлять» ошибки в некоторых модулей / приложений, которые ищут более высокую версию ABI. Вы должны установить эти обновления, поскольку в целом синхронизация всех компонентов обеспечит стабильность и безопасность.

11
ответ дан 25 July 2018 в 22:19

NB: я не эксперт в области ядра, поэтому это основано на собранных знаниях и опыте.

ABI «bump» не должен приносить новые функции, даже если он может «исправлять» ошибки в некоторых модулей / приложений, которые ищут более высокую версию ABI. Вы должны установить эти обновления, поскольку в целом синхронизация всех компонентов обеспечит стабильность и безопасность.

11
ответ дан 31 July 2018 в 10:37

NB: я не эксперт в области ядра, поэтому это основано на собранных знаниях и опыте.

ABI «bump» не должен приносить новые функции, даже если он может «исправлять» ошибки в некоторых модулей / приложений, которые ищут более высокую версию ABI. Вы должны установить эти обновления, поскольку в целом синхронизация всех компонентов обеспечит стабильность и безопасность.

11
ответ дан 31 July 2018 в 11:41

NB: я не эксперт в области ядра, поэтому это основано на собранных знаниях и опыте.

ABI «bump» не должен приносить новые функции, даже если он может «исправлять» ошибки в некоторых модулей / приложений, которые ищут более высокую версию ABI. Вы должны установить эти обновления, поскольку в целом синхронизация всех компонентов обеспечит стабильность и безопасность.

11
ответ дан 2 August 2018 в 03:47

NB: я не эксперт в области ядра, поэтому это основано на собранных знаниях и опыте.

ABI «bump» не должен приносить новые функции, даже если он может «исправлять» ошибки в некоторых модулей / приложений, которые ищут более высокую версию ABI. Вы должны установить эти обновления, поскольку в целом синхронизация всех компонентов обеспечит стабильность и безопасность.

11
ответ дан 4 August 2018 в 19:51

NB: Я не эксперт в области ядра, поэтому это основано на собранных знаниях и опыте.

ABI «bump» не должен приносить новые функции, хотя это могут «исправлять» ошибки в некоторых модулях / приложениях, которые ищут более высокую версию ABI. Вы должны установить эти обновления, так как в целом синхронизация всех компонентов обеспечит стабильность и безопасность.

11
ответ дан 6 August 2018 в 03:54

NB: Я не эксперт в области ядра, поэтому это основано на собранных знаниях и опыте.

ABI «bump» не должен приносить новые функции, хотя это могут «исправлять» ошибки в некоторых модулях / приложениях, которые ищут более высокую версию ABI. Вы должны установить эти обновления, так как в целом синхронизация всех компонентов обеспечит стабильность и безопасность.

11
ответ дан 7 August 2018 в 21:51

NB: Я не эксперт в области ядра, поэтому это основано на собранных знаниях и опыте.

ABI «bump» не должен приносить новые функции, хотя это могут «исправлять» ошибки в некоторых модулях / приложениях, которые ищут более высокую версию ABI. Вы должны установить эти обновления, так как в целом синхронизация всех компонентов обеспечит стабильность и безопасность.

11
ответ дан 10 August 2018 в 10:05

NB: Я не эксперт в области ядра, поэтому это основано на собранных знаниях и опыте.

ABI «bump» не должен приносить новые функции, хотя это могут «исправлять» ошибки в некоторых модулях / приложениях, которые ищут более высокую версию ABI. Вы должны установить эти обновления, так как в целом синхронизация всех компонентов обеспечит стабильность и безопасность.

11
ответ дан 13 August 2018 в 16:25

Во-первых, вы не смотрите на журнал изменений для ядра linux. Вы смотрите на мета-пакет, который является пакетом, который зависит от последнего ядра. Вероятно, вы хотите что-то вроде: http://changelogs.ubuntu.com/changelogs/pool/main/l/linux-image-2.6.35-28-generic/linux-image-2.6.35-28-generic_2.6.35- 28.50 / changelog

Цель этого мета-пакета - перевести пользователя через эти ABI-удары.

Я придерживаюсь того же представления, что и вы в ABI и ядре. Практически говоря, баг ABI означает, что все модули необходимо перестроить против обновленного ядра.

Мое понимание также согласуется с Roland, поскольку баги ABI не означают новые функции, просто критические исправления и обновления безопасности.

11
ответ дан 25 May 2018 в 22:28
  • 1
    Спасибо, что указали, что это всего лишь мета-пакет. Я забыл об этом. aptitude changelog linux-image-2.6.35-28-generic отображает список изменений. Я не уверен, почему мета-пакет не содержит обновлений пакетов linux-{image,headers}-*-generic; возможно, потому что есть также linux-{image,headers}-*-server пакеты? – Lekensteyn 21 March 2011 в 21:14

ABI - это прикладной двоичный интерфейс (не путать с API, интерфейсом программирования приложений). ABI определяет размеры, знаки и порядки номеров, которые использует приложение.

Чтобы быть ясным, вот пример: я хочу кодировать возраст здания, выраженный в годах. Для этого я могу использовать C unsigned char, который является типом, размер которого равен 1 байту, и который может кодировать значения от 0 до 255. Теперь предположим, что я обнаружил, что 255 является слишком низким пределом, потому что есть здания, которые были построены более 255 лет назад. Затем я могу использовать C unsigned int длиной 4 байта и кодировать значения от 0 до 65535.

Изменяя тип от char до int, я не изменил семантическое значение поля (это был возраст, выраженный в годы и до сих пор), однако я изменил его размер. Каждое программное обеспечение, которое взаимодействует с моим приложением, не нужно изменять, однако оно будет говорить на другом «языке».

Поэтому, когда ядро ​​меняет свой ABI, это означает, что он изменил язык, на котором он говорит, но никакие функциональные возможности не были добавлены, удалены или изменены. Все сторонние модули, которые должны взаимодействовать с ядром, должны быть перекомпилированы, чтобы говорить на этом новом языке, но их не нужно каким-либо образом изменять, чтобы работать правильно.

3
ответ дан 25 May 2018 в 22:28

ABI - это прикладной двоичный интерфейс (не путать с API, интерфейсом программирования приложений). ABI определяет размеры, знаки и порядки номеров, которые использует приложение.

Чтобы быть ясным, вот пример: я хочу кодировать возраст здания, выраженный в годах. Для этого я могу использовать C unsigned char, который является типом, размер которого равен 1 байту, и который может кодировать значения от 0 до 255. Теперь предположим, что я обнаружил, что 255 является слишком низким пределом, потому что есть здания, которые были построены более 255 лет назад. Затем я могу использовать C unsigned int длиной 4 байта и кодировать значения от 0 до 65535.

Изменяя тип от char до int, я не изменил семантическое значение поля (это был возраст, выраженный в годы и до сих пор), однако я изменил его размер. Каждое программное обеспечение, которое взаимодействует с моим приложением, не нужно изменять, однако оно будет говорить на другом «языке».

Поэтому, когда ядро ​​меняет свой ABI, это означает, что он изменил язык, на котором он говорит, но никакие функциональные возможности не были добавлены, удалены или изменены. Все сторонние модули, которые должны взаимодействовать с ядром, должны быть перекомпилированы, чтобы говорить на этом новом языке, но их не нужно каким-либо образом изменять, чтобы работать правильно.

3
ответ дан 25 July 2018 в 22:19

Во-первых, вы не смотрите на журнал изменений для ядра linux. Вы смотрите на мета-пакет, который является пакетом, который зависит от последнего ядра. Вероятно, вы хотите что-то вроде: http://changelogs.ubuntu.com/changelogs/pool/main/l/linux-image-2.6.35-28-generic/linux-image-2.6.35-28-generic_2.6.35- 28.50 / changelog

Цель этого мета-пакета - перевести пользователя через эти ABI-удары.

Я придерживаюсь того же представления, что и вы в ABI и ядре. Практически говоря, баг ABI означает, что все модули необходимо перестроить против обновленного ядра.

Мое понимание также согласуется с Roland, поскольку баги ABI не означают новые функции, просто критические исправления и обновления безопасности.

11
ответ дан 25 July 2018 в 22:19
  • 1
    Спасибо, что указали, что это всего лишь мета-пакет. Я забыл об этом. aptitude changelog linux-image-2.6.35-28-generic отображает список изменений. Я не уверен, почему мета-пакет не содержит обновлений пакетов linux-{image,headers}-*-generic; возможно, потому что есть также linux-{image,headers}-*-server пакеты? – Lekensteyn 21 March 2011 в 21:14

ABI - это прикладной двоичный интерфейс (не путать с API, интерфейсом программирования приложений). ABI определяет размеры, знаки и порядки номеров, которые использует приложение.

Чтобы быть ясным, вот пример: я хочу кодировать возраст здания, выраженный в годах. Для этого я могу использовать C unsigned char, который является типом, размер которого равен 1 байту, и который может кодировать значения от 0 до 255. Теперь предположим, что я обнаружил, что 255 является слишком низким пределом, потому что есть здания, которые были построены более 255 лет назад. Затем я могу использовать C unsigned int длиной 4 байта и кодировать значения от 0 до 65535.

Изменяя тип от char до int, я не изменил семантическое значение поля (это был возраст, выраженный в годы и до сих пор), однако я изменил его размер. Каждое программное обеспечение, которое взаимодействует с моим приложением, не нужно изменять, однако оно будет говорить на другом «языке».

Поэтому, когда ядро ​​меняет свой ABI, это означает, что он изменил язык, на котором он говорит, но никакие функциональные возможности не были добавлены, удалены или изменены. Все сторонние модули, которые должны взаимодействовать с ядром, должны быть перекомпилированы, чтобы говорить на этом новом языке, но их не нужно каким-либо образом изменять, чтобы работать правильно.

3
ответ дан 31 July 2018 в 10:37

Во-первых, вы не смотрите на журнал изменений для ядра linux. Вы смотрите на мета-пакет, который является пакетом, который зависит от последнего ядра. Вероятно, вы хотите что-то вроде: http://changelogs.ubuntu.com/changelogs/pool/main/l/linux-image-2.6.35-28-generic/linux-image-2.6.35-28-generic_2.6.35- 28.50 / changelog

Цель этого мета-пакета - перевести пользователя через эти ABI-удары.

Я придерживаюсь того же представления, что и вы в ABI и ядре. Практически говоря, баг ABI означает, что все модули необходимо перестроить против обновленного ядра.

Мое понимание также согласуется с Roland, поскольку баги ABI не означают новые функции, просто критические исправления и обновления безопасности.

11
ответ дан 31 July 2018 в 10:37
  • 1
    Спасибо, что указали, что это всего лишь мета-пакет. Я забыл об этом. aptitude changelog linux-image-2.6.35-28-generic отображает список изменений. Я не уверен, почему мета-пакет не содержит обновлений пакетов linux-{image,headers}-*-generic; возможно, потому что есть также linux-{image,headers}-*-server пакеты? – Lekensteyn 21 March 2011 в 21:14

ABI - это прикладной двоичный интерфейс (не путать с API, интерфейсом программирования приложений). ABI определяет размеры, знаки и порядки номеров, которые использует приложение.

Чтобы быть ясным, вот пример: я хочу кодировать возраст здания, выраженный в годах. Для этого я могу использовать C unsigned char, который является типом, размер которого равен 1 байту, и который может кодировать значения от 0 до 255. Теперь предположим, что я обнаружил, что 255 является слишком низким пределом, потому что есть здания, которые были построены более 255 лет назад. Затем я могу использовать C unsigned int длиной 4 байта и кодировать значения от 0 до 65535.

Изменяя тип от char до int, я не изменил семантическое значение поля (это был возраст, выраженный в годы и до сих пор), однако я изменил его размер. Каждое программное обеспечение, которое взаимодействует с моим приложением, не нужно изменять, однако оно будет говорить на другом «языке».

Поэтому, когда ядро ​​меняет свой ABI, это означает, что он изменил язык, на котором он говорит, но никакие функциональные возможности не были добавлены, удалены или изменены. Все сторонние модули, которые должны взаимодействовать с ядром, должны быть перекомпилированы, чтобы говорить на этом новом языке, но их не нужно каким-либо образом изменять, чтобы работать правильно.

3
ответ дан 31 July 2018 в 11:41

Во-первых, вы не смотрите на журнал изменений для ядра linux. Вы смотрите на мета-пакет, который является пакетом, который зависит от последнего ядра. Вероятно, вы хотите что-то вроде: http://changelogs.ubuntu.com/changelogs/pool/main/l/linux-image-2.6.35-28-generic/linux-image-2.6.35-28-generic_2.6.35- 28.50 / changelog

Цель этого мета-пакета - перевести пользователя через эти ABI-удары.

Я придерживаюсь того же представления, что и вы в ABI и ядре. Практически говоря, баг ABI означает, что все модули необходимо перестроить против обновленного ядра.

Мое понимание также согласуется с Roland, поскольку баги ABI не означают новые функции, просто критические исправления и обновления безопасности.

11
ответ дан 31 July 2018 в 11:41
  • 1
    Спасибо, что указали, что это всего лишь мета-пакет. Я забыл об этом. aptitude changelog linux-image-2.6.35-28-generic отображает список изменений. Я не уверен, почему мета-пакет не содержит обновлений пакетов linux-{image,headers}-*-generic; возможно, потому что есть также linux-{image,headers}-*-server пакеты? – Lekensteyn 21 March 2011 в 21:14

ABI - это прикладной двоичный интерфейс (не путать с API, интерфейсом программирования приложений). ABI определяет размеры, знаки и порядки номеров, которые использует приложение.

Чтобы быть ясным, вот пример: я хочу кодировать возраст здания, выраженный в годах. Для этого я могу использовать C unsigned char, который является типом, размер которого равен 1 байту, и который может кодировать значения от 0 до 255. Теперь предположим, что я обнаружил, что 255 является слишком низким пределом, потому что есть здания, которые были построены более 255 лет назад. Затем я могу использовать C unsigned int длиной 4 байта и кодировать значения от 0 до 65535.

Изменяя тип от char до int, я не изменил семантическое значение поля (это был возраст, выраженный в годы и до сих пор), однако я изменил его размер. Каждое программное обеспечение, которое взаимодействует с моим приложением, не нужно изменять, однако оно будет говорить на другом «языке».

Поэтому, когда ядро ​​меняет свой ABI, это означает, что он изменил язык, на котором он говорит, но никакие функциональные возможности не были добавлены, удалены или изменены. Все сторонние модули, которые должны взаимодействовать с ядром, должны быть перекомпилированы, чтобы говорить на этом новом языке, но их не нужно каким-либо образом изменять, чтобы работать правильно.

3
ответ дан 2 August 2018 в 03:47

Во-первых, вы не смотрите на журнал изменений для ядра linux. Вы смотрите на мета-пакет, который является пакетом, который зависит от последнего ядра. Вероятно, вы хотите что-то вроде: http://changelogs.ubuntu.com/changelogs/pool/main/l/linux-image-2.6.35-28-generic/linux-image-2.6.35-28-generic_2.6.35- 28.50 / changelog

Цель этого мета-пакета - перевести пользователя через эти ABI-удары.

Я придерживаюсь того же представления, что и вы в ABI и ядре. Практически говоря, баг ABI означает, что все модули необходимо перестроить против обновленного ядра.

Мое понимание также согласуется с Roland, поскольку баги ABI не означают новые функции, просто критические исправления и обновления безопасности.

11
ответ дан 2 August 2018 в 03:47
  • 1
    Спасибо, что указали, что это всего лишь мета-пакет. Я забыл об этом. aptitude changelog linux-image-2.6.35-28-generic отображает список изменений. Я не уверен, почему мета-пакет не содержит обновлений пакетов linux-{image,headers}-*-generic; возможно, потому что есть также linux-{image,headers}-*-server пакеты? – Lekensteyn 21 March 2011 в 21:14

ABI - это прикладной двоичный интерфейс (не путать с API, интерфейсом программирования приложений). ABI определяет размеры, знаки и порядки номеров, которые использует приложение.

Чтобы быть ясным, вот пример: я хочу кодировать возраст здания, выраженный в годах. Для этого я могу использовать C unsigned char, который является типом, размер которого равен 1 байту, и который может кодировать значения от 0 до 255. Теперь предположим, что я обнаружил, что 255 является слишком низким пределом, потому что есть здания, которые были построены более 255 лет назад. Затем я могу использовать C unsigned int длиной 4 байта и кодировать значения от 0 до 65535.

Изменяя тип от char до int, я не изменил семантическое значение поля (это был возраст, выраженный в годы и до сих пор), однако я изменил его размер. Каждое программное обеспечение, которое взаимодействует с моим приложением, не нужно изменять, однако оно будет говорить на другом «языке».

Поэтому, когда ядро ​​меняет свой ABI, это означает, что он изменил язык, на котором он говорит, но никакие функциональные возможности не были добавлены, удалены или изменены. Все сторонние модули, которые должны взаимодействовать с ядром, должны быть перекомпилированы, чтобы говорить на этом новом языке, но их не нужно каким-либо образом изменять, чтобы работать правильно.

3
ответ дан 4 August 2018 в 19:51

Во-первых, вы не смотрите на журнал изменений для ядра linux. Вы смотрите на мета-пакет, который является пакетом, который зависит от последнего ядра. Вероятно, вы хотите что-то вроде: http://changelogs.ubuntu.com/changelogs/pool/main/l/linux-image-2.6.35-28-generic/linux-image-2.6.35-28-generic_2.6.35- 28.50 / changelog

Цель этого мета-пакета - перевести пользователя через эти ABI-удары.

Я придерживаюсь того же представления, что и вы в ABI и ядре. Практически говоря, баг ABI означает, что все модули необходимо перестроить против обновленного ядра.

Мое понимание также согласуется с Roland, поскольку баги ABI не означают новые функции, просто критические исправления и обновления безопасности.

11
ответ дан 4 August 2018 в 19:51
  • 1
    Спасибо, что указали, что это всего лишь мета-пакет. Я забыл об этом. aptitude changelog linux-image-2.6.35-28-generic отображает список изменений. Я не уверен, почему мета-пакет не содержит обновлений пакетов linux-{image,headers}-*-generic; возможно, потому что есть также linux-{image,headers}-*-server пакеты? – Lekensteyn 21 March 2011 в 21:14

Во-первых, вы не смотрите на журнал изменений для ядра linux. Вы смотрите на мета-пакет, который является пакетом, который зависит от последнего ядра. Вероятно, вы хотите что-то вроде: http://changelogs.ubuntu.com/changelogs/pool/main/l/linux-image-2.6.35-28-generic/linux-image-2.6.35-28-generic_2 .6.35-28.50 / changelog

Цель этого мета-пакета состоит в том, чтобы перевести пользователя через эти удары ABI.

Я придерживаюсь того же представления, что и вы на ABI и ядро. Практически говоря, баг ABI означает, что все модули необходимо перестроить против обновленного ядра.

Мое понимание также согласуется с Roland, поскольку баги ABI не означают новые функции, просто критические исправления и обновления безопасности.

11
ответ дан 6 August 2018 в 03:54

ABI - это прикладной двоичный интерфейс (не путать с API, интерфейсом прикладного программирования). ABI определяет размеры, знаки и порядки номеров, которые использует приложение.

Чтобы быть ясным, вот пример: я хочу кодировать возраст здания, выраженный в годах. Для этого я могу использовать C unsigned char , который является типом, размер которого равен 1 байту, и который может кодировать значения от 0 до 255. Теперь предположим, что я обнаружил, что 255 является слишком низким потому что есть здания, которые были построены более 255 лет назад. Затем я могу использовать C unsigned int , который имеет длину 4 байта и может кодировать значения от 0 до 65535.

Изменение типа из char к int , я не изменил семантический смысл поля (это был возраст, выраженный годами и до сих пор), однако я изменил его размер.

Поэтому, когда ядро ​​меняет свой ABI, это означает, что он изменил язык, на котором он был изменен. говорит, но никакие функциональные возможности не были добавлены, удалены или изменены. Все сторонние модули, которые должны взаимодействовать с ядром, должны быть перекомпилированы, чтобы говорить на этом новом языке, но их не нужно каким-либо образом изменять, чтобы работать правильно.

3
ответ дан 6 August 2018 в 03:54

Во-первых, вы не смотрите на журнал изменений для ядра linux. Вы смотрите на мета-пакет, который является пакетом, который зависит от последнего ядра. Вероятно, вы хотите что-то вроде: http://changelogs.ubuntu.com/changelogs/pool/main/l/linux-image-2.6.35-28-generic/linux-image-2.6.35-28-generic_2 .6.35-28.50 / changelog

Цель этого мета-пакета состоит в том, чтобы перевести пользователя через эти удары ABI.

Я придерживаюсь того же представления, что и вы на ABI и ядро. Практически говоря, баг ABI означает, что все модули необходимо перестроить против обновленного ядра.

Мое понимание также согласуется с Roland, поскольку баги ABI не означают новые функции, просто критические исправления и обновления безопасности.

11
ответ дан 7 August 2018 в 21:51

ABI - это прикладной двоичный интерфейс (не путать с API, интерфейсом прикладного программирования). ABI определяет размеры, знаки и порядки номеров, которые использует приложение.

Чтобы быть ясным, вот пример: я хочу кодировать возраст здания, выраженный в годах. Для этого я могу использовать C unsigned char , который является типом, размер которого равен 1 байту, и который может кодировать значения от 0 до 255. Теперь предположим, что я обнаружил, что 255 является слишком низким потому что есть здания, которые были построены более 255 лет назад. Затем я могу использовать C unsigned int , который имеет длину 4 байта и может кодировать значения от 0 до 65535.

Изменение типа из char к int , я не изменил семантический смысл поля (это был возраст, выраженный годами и до сих пор), однако я изменил его размер.

Поэтому, когда ядро ​​меняет свой ABI, это означает, что он изменил язык, на котором он был изменен. говорит, но никакие функциональные возможности не были добавлены, удалены или изменены. Все сторонние модули, которые должны взаимодействовать с ядром, должны быть перекомпилированы, чтобы говорить на этом новом языке, но их не нужно каким-либо образом изменять, чтобы работать правильно.

3
ответ дан 7 August 2018 в 21:51

Во-первых, вы не смотрите на журнал изменений для ядра linux. Вы смотрите на мета-пакет, который является пакетом, который зависит от последнего ядра. Вероятно, вы хотите что-то вроде: http://changelogs.ubuntu.com/changelogs/pool/main/l/linux-image-2.6.35-28-generic/linux-image-2.6.35-28-generic_2 .6.35-28.50 / changelog

Цель этого мета-пакета состоит в том, чтобы перевести пользователя через эти удары ABI.

Я придерживаюсь того же представления, что и вы на ABI и ядро. Практически говоря, баг ABI означает, что все модули необходимо перестроить против обновленного ядра.

Мое понимание также согласуется с Roland, поскольку баги ABI не означают новые функции, просто критические исправления и обновления безопасности.

11
ответ дан 10 August 2018 в 10:05

ABI - это прикладной двоичный интерфейс (не путать с API, интерфейсом прикладного программирования). ABI определяет размеры, знаки и порядки номеров, которые использует приложение.

Чтобы быть ясным, вот пример: я хочу кодировать возраст здания, выраженный в годах. Для этого я могу использовать C unsigned char , который является типом, размер которого равен 1 байту, и который может кодировать значения от 0 до 255. Теперь предположим, что я обнаружил, что 255 является слишком низким потому что есть здания, которые были построены более 255 лет назад. Затем я могу использовать C unsigned int , который имеет длину 4 байта и может кодировать значения от 0 до 65535.

Изменение типа из char к int , я не изменил семантический смысл поля (это был возраст, выраженный годами и до сих пор), однако я изменил его размер.

Поэтому, когда ядро ​​меняет свой ABI, это означает, что он изменил язык, на котором он был изменен. говорит, но никакие функциональные возможности не были добавлены, удалены или изменены. Все сторонние модули, которые должны взаимодействовать с ядром, должны быть перекомпилированы, чтобы говорить на этом новом языке, но их не нужно каким-либо образом изменять, чтобы работать правильно.

3
ответ дан 10 August 2018 в 10:05

Во-первых, вы не смотрите на журнал изменений для ядра linux. Вы смотрите на мета-пакет, который является пакетом, который зависит от последнего ядра. Вероятно, вы хотите что-то вроде: http://changelogs.ubuntu.com/changelogs/pool/main/l/linux-image-2.6.35-28-generic/linux-image-2.6.35-28-generic_2 .6.35-28.50 / changelog

Цель этого мета-пакета состоит в том, чтобы перевести пользователя через эти удары ABI.

Я придерживаюсь того же представления, что и вы на ABI и ядро. Практически говоря, баг ABI означает, что все модули необходимо перестроить против обновленного ядра.

Мое понимание также согласуется с Roland, поскольку баги ABI не означают новые функции, просто критические исправления и обновления безопасности.

11
ответ дан 13 August 2018 в 16:25
  • 1
    Спасибо, что указали, что это всего лишь мета-пакет. Я забыл об этом. aptitude changelog linux-image-2.6.35-28-generic отображает список изменений. Я не уверен, почему мета-пакет не содержит обновления пакетов linux- {image, headers} - * - generic ; возможно, потому что есть также linux- {image, headers} - * - server пакеты? – Lekensteyn 21 March 2011 в 21:14

ABI - это прикладной двоичный интерфейс (не путать с API, интерфейсом прикладного программирования). ABI определяет размеры, знаки и порядки номеров, которые использует приложение.

Чтобы быть ясным, вот пример: я хочу кодировать возраст здания, выраженный в годах. Для этого я могу использовать C unsigned char , который является типом, размер которого равен 1 байту, и который может кодировать значения от 0 до 255. Теперь предположим, что я обнаружил, что 255 является слишком низким потому что есть здания, которые были построены более 255 лет назад. Затем я могу использовать C unsigned int , который имеет длину 4 байта и может кодировать значения от 0 до 65535.

Изменение типа из char к int , я не изменил семантический смысл поля (это был возраст, выраженный годами и до сих пор), однако я изменил его размер.

Поэтому, когда ядро ​​меняет свой ABI, это означает, что он изменил язык, на котором он был изменен. говорит, но никакие функциональные возможности не были добавлены, удалены или изменены. Все сторонние модули, которые должны взаимодействовать с ядром, должны быть перекомпилированы, чтобы говорить на этом новом языке, но их не нужно каким-либо образом изменять, чтобы работать правильно.

3
ответ дан 13 August 2018 в 16:25

Другие вопросы по тегам:

Похожие вопросы: