<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.15"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>libzypp: Libzypp History File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtreedata.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(initResizable); /* @license-end */</script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">libzypp  <span id="projectnumber">17.9.0</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.15 --> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(function() { initMenu('',false,false,'search.php','Search'); }); /* @license-end */</script> <div id="main-nav"></div> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(function(){initNavTree('group__g__ZyppHistory.html','');}); /* @license-end */ </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> </div> <div class="headertitle"> <div class="title">Libzypp History File</div> </div> </div><!--header--> <div class="contents"> <p>Log important events like installation/deletion of packages and repositories. <a href="#details">More...</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Classes</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1HistoryLog.html">zypp::HistoryLog</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Writing the zypp history fileReference counted signleton for writhing the zypp history file. <a href="classzypp_1_1HistoryLog.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="structzypp_1_1HistoryActionID.html">zypp::HistoryActionID</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Enumeration of known history actions. <a href="structzypp_1_1HistoryActionID.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1HistoryLogData.html">zypp::HistoryLogData</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A zypp history log line split into fieldsEach valid history log line starts with a date and <a class="el" href="structzypp_1_1HistoryActionID.html" title="Enumeration of known history actions.">HistoryActionID</a> field. <a href="classzypp_1_1HistoryLogData.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1HistoryLogDataInstall.html">zypp::HistoryLogDataInstall</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A zypp history log line for an installed packaged. <a href="classzypp_1_1HistoryLogDataInstall.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1HistoryLogDataRemove.html">zypp::HistoryLogDataRemove</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A zypp history log line for a removed packge. <a href="classzypp_1_1HistoryLogDataRemove.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1HistoryLogDataRepoAdd.html">zypp::HistoryLogDataRepoAdd</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A zypp history log line for an added repository. <a href="classzypp_1_1HistoryLogDataRepoAdd.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1HistoryLogDataRepoRemove.html">zypp::HistoryLogDataRepoRemove</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A zypp history log line for a removed repository. <a href="classzypp_1_1HistoryLogDataRepoRemove.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1HistoryLogDataRepoAliasChange.html">zypp::HistoryLogDataRepoAliasChange</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A zypp history log line for a repo alias change. <a href="classzypp_1_1HistoryLogDataRepoAliasChange.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1HistoryLogDataRepoUrlChange.html">zypp::HistoryLogDataRepoUrlChange</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A zypp history log line for a repo url change. <a href="classzypp_1_1HistoryLogDataRepoUrlChange.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1HistoryLogDataStampCommand.html">zypp::HistoryLogDataStampCommand</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A zypp history log line identifying the program that triggered the following commit. <a href="classzypp_1_1HistoryLogDataStampCommand.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1parser_1_1HistoryLogReader.html">zypp::parser::HistoryLogReader</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Zypp history file parserReads a zypp history log file and calls the <a class="el" href="classzypp_1_1parser_1_1HistoryLogReader.html#a1b095cb01b73f41e8153dd2fd0f1ae78">ProcessData</a> callback passed in the constructor for each valid history line read. <a href="classzypp_1_1parser_1_1HistoryLogReader.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <p>Log important events like installation/deletion of packages and repositories. </p> <h1><a class="anchor" id="g_ZyppHistory_Location"></a> Location</h1> <p>The default location is <code>/var/log/zypp/history</code>. This can be changed via <code>history.logfile</code> key in <code>/etc/zypp/zypp</code>.conf.</p> <h1><a class="anchor" id="g_ZyppHistory_Format"></a> Format</h1> <ul> <li>CSV file with pipe character (|) as the value separator </li> <li>one event per line </li> <li>different actions have different set of values (columns), see the tables below </li> <li>lines starting with # are treated as comments</li> </ul> <dl class="section see"><dt>See also</dt><dd><a class="el" href="zypp-userdata.html">User data as transaction id</a></dd></dl> <h2><a class="anchor" id="g_ZyppHistory_Format_Colummn"></a> Action Columns</h2> <h3><a class="anchor" id="g_ZyppHistory_Format_Colummn_Install"></a> Install</h3> <p>A package has been installed. </p><ul> <li><b>1</b> timestamp </li> <li><b>2</b> action ID (<code>"install"</code>) </li> <li><b>3</b> package name </li> <li><b>4</b> package epoch:version-release </li> <li><b>5</b> package architecture </li> <li><b>6</b> requested by (user@hostname, pid:appname, or empty (solver)) </li> <li><b>7</b> repository alias </li> <li><b>8</b> package checksum </li> <li><b>9</b> userdata/transactionId</li> </ul> <h3><a class="anchor" id="g_ZyppHistory_Format_Colummn_Remove"></a> Remove</h3> <p>A package has been removed. </p><ul> <li><b>1</b> timestamp </li> <li><b>2</b> action ID (<code>"remove"</code>) </li> <li><b>3</b> package name </li> <li><b>4</b> package epoch:version-release </li> <li><b>5</b> package architecture </li> <li><b>6</b> requested by (user@hostname, pid:appname, or empty (solver)) </li> <li><b>7</b> userdata/transactionId</li> </ul> <h3><a class="anchor" id="g_ZyppHistory_Format_Colummn_Radd"></a> Radd</h3> <p>A repository has been added. </p><ul> <li><b>1</b> timestamp </li> <li><b>2</b> action ID (<code>"radd"</code>) </li> <li><b>3</b> repository alias </li> <li><b>4</b> primary URL </li> <li><b>5</b> userdata/transactionId</li> </ul> <h3><a class="anchor" id="g_ZyppHistory_Format_Colummn_Rremove"></a> Rremove</h3> <p>A repository has been removed. </p><ul> <li><b>1</b> timestamp </li> <li><b>2</b> action ID (<code>"rremove"</code>) </li> <li><b>3</b> repository alias </li> <li><b>4</b> userdata/transactionId</li> </ul> <h3><a class="anchor" id="g_ZyppHistory_Format_Colummn_Ralias"></a> Ralias</h3> <p>A repository alias has changed. </p><ul> <li><b>1</b> timestamp </li> <li><b>2</b> action ID (<code>"ralias"</code>) </li> <li><b>3</b> old alias </li> <li><b>4</b> new alias </li> <li><b>5</b> userdata/transactionId</li> </ul> <h3><a class="anchor" id="g_ZyppHistory_Format_Colummn_Rurl"></a> Rurl</h3> <p>The primary URL of a repository has changed. </p><ul> <li><b>1</b> timestamp </li> <li><b>2</b> action ID (<code>"rurl"</code>) </li> <li><b>3</b> repository alias </li> <li><b>4</b> new URL </li> <li><b>5</b> userdata/transactionId</li> </ul> <h1><a class="anchor" id="g_ZyppHistory_Example"></a> Example</h1> <div class="fragment"><div class="line">2008-09-24 11:48:58|rremove|packman</div><div class="line">2008-09-24 11:50:02|radd |packman|http:<span class="comment">//packman.iu-bremen.de/suse/11.0</span></div><div class="line">2008-09-24 11:53:10|install|amarok-yauap|1.4.10-25|x86_64||factory|4421dfa718ab73c805c1c695c97b1b67f39bf2f3</div><div class="line">2008-09-24 11:53:25|install|amarok-lang|1.4.10-25|x86_64||factory|691030edafcc4fbc22aa225350f9de32974e4bc2</div><div class="line"><span class="preprocessor"># Additional rpm output:</span></div><div class="line"><span class="preprocessor"># warning: /var/cache/zypp/packages/packman/x86_64/amarok-1.4.10-100.pm.1.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 9a795806</span></div><div class="line"><span class="preprocessor">#</span></div><div class="line"><span class="preprocessor">2008-09-24 11:53:45|install|amarok|1.4.10-100.pm.1|x86_64|root@kompost|packman|ee0fffa1e4eeaaeb8799bd05c6882ef74100d681</span></div></div><!-- fragment --> </div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li> </ul> </div> </body> </html>