/usr/share/doc/ubuntu-packaging-guide-html-uk/security-and-stable-release-updates.html is in ubuntu-packaging-guide-html-uk 0.3.8.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>7. Оновлення безпеки й оновлення стабільних релізів — Ubuntu Packaging Guide</title>
<link rel="shortcut icon" href="./_static/images/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="./_static/reset.css" type="text/css" />
<link rel="stylesheet" href="./_static/960.css" type="text/css" />
<link rel="stylesheet" href="./_static/base.css" type="text/css" />
<link rel="stylesheet" href="./_static/home.css" type="text/css" />
<link rel="stylesheet" href="./_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="./_static/guide.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../',
VERSION: '0.3.8',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="./_static/jquery.js"></script>
<script type="text/javascript" src="./_static/underscore.js"></script>
<script type="text/javascript" src="./_static/doctools.js"></script>
<script type="text/javascript" src="./_static/main.js"></script>
<link rel="top" title="Ubuntu Packaging Guide" href="./index.html" />
<link rel="next" title="8. Латки для пакунків" href="patches-to-packages.html" />
<link rel="prev" title="6. Створення пакунків для нових проґрам" href="packaging-new-software.html" />
</head>
<body class="home">
<a name="top"></a>
<div class="header-navigation">
<div>
<nav role="navigation">
<ul>
<li class="page_item current_page_item"><a title="Contents" href="index.html">Contents</a>
<li>
<form id="form-search" method="get" action="search.html">
<fieldset>
<input id="input-search" type="text" name="q" value="Search" />
</fieldset>
</form>
</li>
</ul>
</nav>
<a class="logo-ubuntu" href="http://packaging.ubuntu.com/">
<img src="./_static/images/logo-ubuntu.png" width="119" height="27" alt="Ubuntu logo" />
</a>
<a href="http://packaging.ubuntu.com/"><h2>Packaging Guide</h2></a>
</div>
</div>
<div class="header-content">
<div class="clearfix">
<div class="header-navigation-secondary">
<div>
<nav role="navigation">
<ul class="clearfix">
<li class="page_item"><a style="margin-right: 10px"
href="patches-to-packages.html" title="8. Латки для пакунків"
accesskey="N">наступний</a></li>
<li class="page_item"><a
href="packaging-new-software.html" title="6. Створення пакунків для нових проґрам"
accesskey="P">попередній</a></li>
<li class="page_item"><a class="sub-nav-item" href="index.html">Ubuntu Packaging Guide »</a></li>
</ul>
</nav>
</div>
</div>
</div>
</div>
<div id="content" class="body container_12">
<div class="grid_12">
<!--<section id="main-section">-->
<div class="grid_9 alpha">
<div class="section" id="security-and-stable-release-updates">
<h1>7. Оновлення безпеки й оновлення стабільних релізів<a class="headerlink" href="#security-and-stable-release-updates" title="Постійне посилання на цей заголовок">¶</a></h1>
<div class="section" id="fixing-a-security-bug-in-ubuntu">
<h2>7.1. Виправлення помилок безпеки в Ubuntu<a class="headerlink" href="#fixing-a-security-bug-in-ubuntu" title="Постійне посилання на цей заголовок">¶</a></h2>
<div class="section" id="introduction">
<h3>7.1.1. Вступ<a class="headerlink" href="#introduction" title="Постійне посилання на цей заголовок">¶</a></h3>
<p>Виправлення дірок у безпеці в Ubuntu фактично не відрізняється від <a class="reference internal" href="fixing-a-bug.html"><span class="doc">виправлення звичайного багу</span></a>, і припускається, що Ви знайомі з виправленням звичайних багів. Для демонстрації відмінностей ми будемо додавати у пакунок dbus в Ubuntu 12.04 LTS (Precise Pangolin) оновлення для системи безпеки.</p>
</div>
<div class="section" id="obtaining-the-source">
<h3>7.1.2. Отримання джерельного коду<a class="headerlink" href="#obtaining-the-source" title="Постійне посилання на цей заголовок">¶</a></h3>
<p>У даному прикладі ми вже знаємо, що бажаємо виправити пакунок dbus в Ubuntu 12.04 LTS (Precise Pangolin). Тому спочатку потрібно визначити версію пакунку, який бажаєте стягнути. Ми можемо використовувати <code class="docutils literal"><span class="pre">rmadison</span></code> у якості допомоги у даній ситуації.</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ rmadison dbus | grep precise
dbus | 1.4.18-1ubuntu1 | precise | source, amd64, armel, armhf, i386, powerpc
dbus | 1.4.18-1ubuntu1.4 | precise-security | source, amd64, armel, armhf, i386, powerpc
dbus | 1.4.18-1ubuntu1.4 | precise-updates | source, amd64, armel, armhf, i386, powerpc
</pre></div>
</div>
<p>Зазвичай обирають найостаннішу версію для релізу, який Ви бажаєте залатати, який не в -proposed або -backports. Оскільки ми оновлюємо dbus Precise, Ви стягнете 1.4.18-1ubuntu1.4 з precise-updates:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ bzr branch ubuntu:precise-updates/dbus
</pre></div>
</div>
</div>
<div class="section" id="patching-the-source">
<h3>7.1.3. Створення латки<a class="headerlink" href="#patching-the-source" title="Постійне посилання на цей заголовок">¶</a></h3>
<p>Тепер, коли ми маємо джерельний пакунок, ми повинні зробити латку для виправлення вразливості. Ви можете використовувати будь-який метод, що підходить для даного пакунку, у тому числі <a class="reference internal" href="udd-intro.html"><span class="doc">методи UDD</span></a>, але у цьому прикладі будемо використовувати <code class="docutils literal"><span class="pre">edit-patch</span></code> (з пакунку ubuntu-dev-tools). <code class="docutils literal"><span class="pre">edit-patch</span></code> — це найпростіший спосіб для виправлення пакунків, що працює з будь-якою системою латання, яку Ви можете собі уявити.</p>
<p>Щоб створити латку за допомогою <code class="docutils literal"><span class="pre">edit-patch</span></code>:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ cd dbus
$ edit-patch 99-fix-a-vulnerability
</pre></div>
</div>
<p>Це застосує усі існуючі латки й помістить пакунок у тимчасовий каталог. Тепер відредагуйте файли для виправлення вразливостей. Зазвичай в апстрімі лежить і латка, тому Ви одразу можете її застосувати:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ patch -p1 < /home/user/dbus-vulnerability.diff
</pre></div>
</div>
<p>Після внесення необхідних змін просто натисніть Ctrl-D або наберіть exit, щоб залишити тимчасову командну оболонку.</p>
</div>
<div class="section" id="formatting-the-changelog-and-patches">
<h3>7.1.4. Форматування файлу changelog і латок<a class="headerlink" href="#formatting-the-changelog-and-patches" title="Постійне посилання на цей заголовок">¶</a></h3>
<p>Після застосування латок Вам знадобиться внести зміни в лог. Команда <code class="docutils literal"><span class="pre">dch</span></code> використовується для редагування файлу <code class="docutils literal"><span class="pre">debian/changelog</span></code> і <code class="docutils literal"><span class="pre">edit-patch</span></code> автоматично запустить <code class="docutils literal"><span class="pre">dch</span></code> після відкату усіх латок. Якщо Ви не користуєтеся <code class="docutils literal"><span class="pre">edit-patch</span></code>, то можете запустити <code class="docutils literal"><span class="pre">dch</span> <span class="pre">-i</span></code> вручну. На відміну від звичайних латок, Вам слід використовувати наступний формат (зверніть увагу, що в імені дитрибутиву використовується precise-security, оскільки це оновлення безпеки для Precise) для оновлень безпеки:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">dbus</span> <span class="p">(</span><span class="mf">1.4</span><span class="o">.</span><span class="mi">18</span><span class="o">-</span><span class="mi">2</span><span class="n">ubuntu1</span><span class="o">.</span><span class="mi">5</span><span class="p">)</span> <span class="n">precise</span><span class="o">-</span><span class="n">security</span><span class="p">;</span> <span class="n">urgency</span><span class="o">=</span><span class="n">low</span>
<span class="o">*</span> <span class="n">SECURITY</span> <span class="n">UPDATE</span><span class="p">:</span> <span class="p">[</span><span class="n">DESCRIBE</span> <span class="n">VULNERABILITY</span> <span class="n">HERE</span><span class="p">]</span>
<span class="o">-</span> <span class="n">debian</span><span class="o">/</span><span class="n">patches</span><span class="o">/</span><span class="mi">99</span><span class="o">-</span><span class="n">fix</span><span class="o">-</span><span class="n">a</span><span class="o">-</span><span class="n">vulnerability</span><span class="o">.</span><span class="n">patch</span><span class="p">:</span> <span class="p">[</span><span class="n">DESCRIBE</span> <span class="n">CHANGES</span> <span class="n">HERE</span><span class="p">]</span>
<span class="o">-</span> <span class="p">[</span><span class="n">CVE</span> <span class="n">IDENTIFIER</span><span class="p">]</span>
<span class="o">-</span> <span class="p">[</span><span class="n">LINK</span> <span class="n">TO</span> <span class="n">UPSTREAM</span> <span class="n">BUG</span> <span class="n">OR</span> <span class="n">SECURITY</span> <span class="n">NOTICE</span><span class="p">]</span>
<span class="o">-</span> <span class="n">LP</span><span class="p">:</span> <span class="c1">#[BUG NUMBER]</span>
<span class="o">...</span>
</pre></div>
</div>
<p>Оновіть свою латку для використання відповідних тегів. Ваша латка повинна містити як мінімум теги Origin, Description і Bug-Ubuntu. Наприклад, відредагуйте <code class="docutils literal"><span class="pre">debian/patches/99-fix-a-vulnerability.patch</span></code>, щоб він мав приблизно такі рядки:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="c1">## Description: [DESCRIBE VULNERABILITY HERE]</span>
<span class="c1">## Origin/Author: [COMMIT ID, URL OR EMAIL ADDRESS OF AUTHOR]</span>
<span class="c1">## Bug: [UPSTREAM BUG URL]</span>
<span class="c1">## Bug-Ubuntu: https://launchpad.net/bugs/[BUG NUMBER]</span>
<span class="n">Index</span><span class="p">:</span> <span class="n">dbus</span><span class="o">-</span><span class="mf">1.4</span><span class="o">.</span><span class="mi">18</span><span class="o">/</span><span class="n">dbus</span><span class="o">/</span><span class="n">dbus</span><span class="o">-</span><span class="n">marshal</span><span class="o">-</span><span class="n">validate</span><span class="o">.</span><span class="n">c</span>
<span class="o">...</span>
</pre></div>
</div>
<p>Множинні вразливості можна виправити одним завантаженням безпеки, просто переконайтеся що використовуєте різні латки для різних вразливостей.</p>
</div>
<div class="section" id="test-and-submit-your-work">
<h3>7.1.5. Перевірка й відправка Вашої праці<a class="headerlink" href="#test-and-submit-your-work" title="Постійне посилання на цей заголовок">¶</a></h3>
<p>На цьому етапі процес такий самий, як при <a class="reference internal" href="fixing-a-bug.html"><span class="doc">виправленні звичайних вад в Ubuntu</span></a>. А саме, Вам потрібно:</p>
<blockquote>
<div><ol class="arabic simple">
<li><p class="first">Виконати збірку пакунку й перевірити, що він компілюється без помилок і компілювальник не видає ніяких додаткових застережень</p>
</li>
<li><p class="first">Виконати оновлення з попередньої версії пакунку до нової версії</p>
</li>
<li><p class="first">Переконатися, що новий пакунок латає вразливість й не вносить ніяких погіршень</p>
</li>
<li><p class="first">Відправляйте свою працю через пропозицію про об’єднання Launchpad й відправляйте баг в Launchpad, переконавшись що позначили баг як помилку безпеки, й для підписки <code class="docutils literal"><span class="pre">ubuntu-security-sponsors</span></code></p>
</li>
</ol>
</div></blockquote>
<p>Якщо це вразливість у безпеці, про яку ще не оголошено публічно, то не відправляйте пропозицію злиття й переконайтеся, що Ви позначили свою помилку, як приватну (private).</p>
<p>Відправлений баг повинен містити Тестовий Приклад, тобто коментар, який чітко показує як відтворити баг, запустивши стару версію, також показуючи як переконатися, що баг більше не існує у новій версії.</p>
<p>Звіт про баг також повинен підтверджувати, що вада виправлена у нових версіях Ubuntu за допомогою запропонованого фіксу (у вищевказаному прикладі вище ніж в Precise). Якщо проблема не виправлена у нових версіях Ubuntu, Ви повинні підготувати оновлення й для нових версій.</p>
</div>
</div>
<div class="section" id="stable-release-updates">
<h2>7.2. Оновлення стабільного релізу<a class="headerlink" href="#stable-release-updates" title="Постійне посилання на цей заголовок">¶</a></h2>
<p>Ми також дозволяємо вносити оновлення у випуски, у яких пакунок містить серйозну помилку, таку як значна реґресія у порівнянні з попереднім випуском або вада, яка може призвести до втрати даних. З-за того, що такі зміни самі потенційно можуть призвести до появи додаткових помилок, ми дозволяємо робити це лише там, де зміни легко можна зрозуміти та перевірити.</p>
<p>Процес оновлень стабільного випуску (Stable Release Updates або SRU) такий самий, як і для виправлень помилок безпеки, за виключенням того, що потрібно підписати на звіт про ваду команду <code class="docutils literal"><span class="pre">ubuntu-sru</span></code>.</p>
<p>Оновлення потрапить в архів <code class="docutils literal"><span class="pre">proposed``(наприклад</span> <span class="pre">``precise-proposed</span></code>), де його перевіряють на здатність виправити проблему й підтверджують, що воно не є наслідком нових проблем. Після тижню роботи без заявлених проблем, оновлення потрапляє у розділ <code class="docutils literal"><span class="pre">updates</span></code>.</p>
<p>Дивіться ‘Вікі сторінку Оновлень Стабільного Релізу <<a class="reference external" href="https://wiki.ubuntu.com/StableReleaseUpdates">SRUWiki</a>>`_ для отримання додаткової інформації.</p>
</div>
</div>
<div class="divide"></div>
</div>
<div id="sidebar" class="grid_3 omega">
<div class="container-tweet">
<h3>Зміст</h3>
<div class="toc">
<ul>
<li><a class="reference internal" href="#">7. Оновлення безпеки й оновлення стабільних релізів</a><ul>
<li><a class="reference internal" href="#fixing-a-security-bug-in-ubuntu">7.1. Виправлення помилок безпеки в Ubuntu</a><ul>
<li><a class="reference internal" href="#introduction">7.1.1. Вступ</a></li>
<li><a class="reference internal" href="#obtaining-the-source">7.1.2. Отримання джерельного коду</a></li>
<li><a class="reference internal" href="#patching-the-source">7.1.3. Створення латки</a></li>
<li><a class="reference internal" href="#formatting-the-changelog-and-patches">7.1.4. Форматування файлу changelog і латок</a></li>
<li><a class="reference internal" href="#test-and-submit-your-work">7.1.5. Перевірка й відправка Вашої праці</a></li>
</ul>
</li>
<li><a class="reference internal" href="#stable-release-updates">7.2. Оновлення стабільного релізу</a></li>
</ul>
</li>
</ul>
</div>
<div class="browse-guide">
<h3>Browse The Guide:</h3>
<ul>
<li class="prev">
<a href="packaging-new-software.html"
title="Попередній розділ: 6. Створення пакунків для нових проґрам">Go Previous</a>
</li>
<li class="center">
<a title="Back to Index" href="index.html">Index Guide</a>
</li>
<li class="next">
<a href="patches-to-packages.html"
title="Наступна тема: 8. Латки для пакунків">Go Next</a>
</li>
</ul>
<span>Ця сторінка:</span> <a href="./_sources/security-and-stable-release-updates.txt"
rel="nofollow">Відобразити вихідний текст</a>
</div>
</div>
<div id="back_top"><a href="#top">Back to Top</a></div>
</div>
<!--</section>-->
</div>
</div>
<div class="shadow"></div>
<footer>
<div>
Version: 0.3.8.
<a href="https://bugs.launchpad.net/ubuntu-packaging-guide">Report bugs</a> or
<a href="https://code.launchpad.net/~ubuntu-packaging-guide-team/ubuntu-packaging-guide/trunk">grab the source code</a> from Launchpad.
Створено з використанням <a href="http://sphinx-doc.org/">Sphinx</a> 1.4.4.
<br />
© Copyright 2010-2016, Ubuntu Developers, Creative Commons Attribution-ShareAlike 3.0.
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">
Creative Commons Attribution-ShareAlike 3.0 Unported License</a>.
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">
<img alt="Creative Commons License" style="border-width:0"
src="./_static/images/cc-by-sa.png" /></a>
<br />
<a href="http://people.ubuntu.com/~mitya57/ubuntu-packaging-guide-readme.html#translating">Help translate</a> or
<a href="./_static/translators.html">view the list of translators</a>.
</div>
</footer>
</body>
</html>
|