diff options
Diffstat (limited to 'public/pacman-overview.html')
-rw-r--r-- | public/pacman-overview.html | 44 |
1 files changed, 32 insertions, 12 deletions
diff --git a/public/pacman-overview.html b/public/pacman-overview.html index 2e9cae7..6fa9c4e 100644 --- a/public/pacman-overview.html +++ b/public/pacman-overview.html @@ -9,24 +9,44 @@ <body> <header><a href="/">Luke Shumaker</a> » <a href=/blog>blog</a> » pacman-overview</header> <article> -<h1 id="a-quick-overview-of-usage-of-the-pacman-package-manager">A quick overview of usage of the Pacman package manager</h1> -<p>This was originally published on <a href="https://news.ycombinator.com/item?id=5101416">Hacker News</a> on 2013-01-23.</p> -<p>Note: I’ve over-done quotation marks to make it clear when precise wording matters.</p> -<p><code>pacman</code> is a little awkward, but I prefer it to apt/dpkg, which have sub-commands, each with their own flags, some of which are undocumented. pacman, on the other hand, has ALL options documented in one fairly short man page.</p> -<p>The trick to understanding pacman is to understand how it maintains databases of packages, and what it means to “sync”.</p> +<h1 id="a-quick-overview-of-usage-of-the-pacman-package-manager">A quick +overview of usage of the Pacman package manager</h1> +<p>This was originally published on <a +href="https://news.ycombinator.com/item?id=5101416">Hacker News</a> on +2013-01-23.</p> +<p>Note: I’ve over-done quotation marks to make it clear when precise +wording matters.</p> +<p><code>pacman</code> is a little awkward, but I prefer it to apt/dpkg, +which have sub-commands, each with their own flags, some of which are +undocumented. pacman, on the other hand, has ALL options documented in +one fairly short man page.</p> +<p>The trick to understanding pacman is to understand how it maintains +databases of packages, and what it means to “sync”.</p> <p>There are several “databases” that pacman deals with:</p> <ul> -<li>“the database”, (<code>/var/lib/pacman/local/</code>)<br> The database of currently installed packages</li> -<li>“package databases”, (<code>/var/lib/pacman/sync/${repo}.db</code>)<br> There is one of these for each repository. It is a file that is fetched over plain http(s) from the server; it is not modified locally, only updated.</li> +<li>“the database”, (<code>/var/lib/pacman/local/</code>)<br> The +database of currently installed packages</li> +<li>“package databases”, +(<code>/var/lib/pacman/sync/${repo}.db</code>)<br> There is one of these +for each repository. It is a file that is fetched over plain http(s) +from the server; it is not modified locally, only updated.</li> </ul> -<p>The “operation” of pacman is set with a capital flag, one of “DQRSTU” (plus <code>-V</code> and <code>-h</code> for version and help). Of these, “DTU” are “low-level” (analogous to dpkg) and “QRS” are “high-level” (analogous to apt).</p> -<p>To give a brief explanation of cover the “high-level” operations, and which databases they deal with:</p> +<p>The “operation” of pacman is set with a capital flag, one of “DQRSTU” +(plus <code>-V</code> and <code>-h</code> for version and help). Of +these, “DTU” are “low-level” (analogous to dpkg) and “QRS” are +“high-level” (analogous to apt).</p> +<p>To give a brief explanation of cover the “high-level” operations, and +which databases they deal with:</p> <ul> <li>“Q” Queries “the database” of locally installed packages.</li> -<li>“S” deals with “package databases”, and Syncing “the database” with them; meaning it installs/updates packages that are in package databases, but not installed on the local system.</li> -<li>“R” Removes packages “the database”; removing them from the local system.</li> +<li>“S” deals with “package databases”, and Syncing “the database” with +them; meaning it installs/updates packages that are in package +databases, but not installed on the local system.</li> +<li>“R” Removes packages “the database”; removing them from the local +system.</li> </ul> -<p>The biggest “gotcha” is that “S” deals with all operations with “package databases”, not just syncing “the database” with them.</p> +<p>The biggest “gotcha” is that “S” deals with all operations with +“package databases”, not just syncing “the database” with them.</p> </article> <footer> |