CINXE.COM
Comparison with other distros - Alpine Linux
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-language-alert-in-sidebar-enabled vector-feature-sticky-header-disabled vector-feature-page-tools-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-enabled vector-feature-main-menu-pinned-disabled vector-feature-limited-width-enabled vector-feature-limited-width-content-enabled" lang="en" dir="ltr"> <head> <meta charset="UTF-8"/> <title>Comparison with other distros - Alpine Linux</title> <script>document.documentElement.className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-language-alert-in-sidebar-enabled vector-feature-sticky-header-disabled vector-feature-page-tools-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-enabled vector-feature-main-menu-pinned-disabled vector-feature-limited-width-enabled vector-feature-limited-width-content-enabled";RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"587cb13cf0353433f1eb9df1","wgCSPNonce":false,"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Comparison_with_other_distros","wgTitle":"Comparison with other distros","wgCurRevisionId":27088,"wgRevisionId":27088, "wgArticleId":1512,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Package Manager"],"wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Comparison_with_other_distros","wgRelevantArticleId":1512,"wgIsProbablyEditable":false,"wgRelevantPageIsProbablyEditable":false,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgVector2022PreviewPages":[]};RLSTATE={"skins.vector.user.styles":"ready","site.styles":"ready","user.styles":"ready","skins.vector.user":"ready","user":"ready","user.options":"loading","mediawiki.ui.button":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","mediawiki.ui.icon":"ready"};RLPAGEMODULES=["site","mediawiki.page.ready","mediawiki.toc","skins.vector.js","skins.vector.es6"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.implement("user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"});});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&modules=mediawiki.ui.button%2Cicon%7Cskins.vector.icons%2Cstyles&only=styles&skin=vector-2022"/> <script async="" src="/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="generator" content="MediaWiki 1.40.0"/> <meta name="robots" content="max-image-preview:standard"/> <meta name="format-detection" content="telephone=no"/> <meta name="viewport" content="width=1000"/> <link rel="icon" href="/w/images/favicon.png"/> <link rel="search" type="application/opensearchdescription+xml" href="/w/opensearch_desc.php" title="Alpine Linux (en)"/> <link rel="EditURI" type="application/rsd+xml" href="https://wiki.alpinelinux.org/w/api.php?action=rsd"/> <link rel="license" href="/wiki/MediaWiki:Copyright"/> <link rel="alternate" type="application/atom+xml" title="Alpine Linux Atom feed" href="/w/index.php?title=Special:RecentChanges&feed=atom"/> </head> <body class="skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Comparison_with_other_distros rootpage-Comparison_with_other_distros skin-vector-2022 action-view"><div class="mw-page-container"> <a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="mw-page-container-inner"> <input type="checkbox" id="mw-sidebar-checkbox" class="mw-checkbox-hack-checkbox" > <header class="mw-header mw-ui-icon-flush-left mw-ui-icon-flush-right"> <div class="vector-header-start"> <label id="mw-sidebar-button" class="mw-checkbox-hack-button mw-ui-icon mw-ui-button mw-ui-quiet mw-ui-icon-element mw-ui-icon-flush-right" for="mw-sidebar-checkbox" role="button" aria-controls="mw-panel" data-event-name="ui.sidebar" tabindex="0" title="Main menu"> <span>Toggle sidebar</span> </label> <a href="/wiki/Main_Page" class="mw-logo"> <span class="mw-logo-container"> <strong class="mw-logo-wordmark">Alpine Linux</strong> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" title="Search Alpine Linux [f]" accesskey="f" class="mw-ui-button mw-ui-quiet mw-ui-icon mw-ui-icon-element mw-ui-icon-wikimedia-search search-toggle"> <span>Search</span> </a> <div> <form action="/w/index.php" id="searchform" class="vector-search-box-form"> <div id="simpleSearch" class="vector-search-box-inner" data-search-loc="header-moved"> <input class="vector-search-box-input" type="search" name="search" placeholder="Search Alpine Linux" aria-label="Search Alpine Linux" autocapitalize="sentences" title="Search Alpine Linux [f]" accesskey="f" id="searchInput" > <input type="hidden" name="title" value="Special:Search"> <input id="mw-searchButton" class="searchButton mw-fallbackSearchButton" type="submit" name="fulltext" title="Search the pages for this text" value="Search"> <input id="searchButton" class="searchButton" type="submit" name="go" title="Go to a page with this exact name if it exists" value="Go"> </div> </form> </div> </div> <nav class="vector-user-links" aria-label="Personal tools" role="navigation" > <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet mw-portlet-vector-user-menu-overflow" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"><li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&returnto=Comparison+with+other+distros" title="You are encouraged to create an account and log in; however, it is not mandatory"><span>Create account</span></a></li><li id="pt-login-2" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&returnto=Comparison+with+other+distros" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o"><span>Log in</span></a></li></ul> </div> </div> <div id="vector-user-links-dropdown" class="vector-menu vector-dropdown vector-menu-dropdown vector-user-menu vector-user-menu-logged-out user-links-collapsible-item" title="More options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-menu-checkbox " aria-label="Personal tools" /> <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-menu-heading mw-checkbox-hack-button mw-ui-button mw-ui-quiet mw-ui-icon-element " aria-hidden="true" > <span class="mw-ui-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-menu-heading-label">Personal tools</span> </label> <div class="vector-menu-content vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&returnto=Comparison+with+other+distros" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="mw-ui-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&returnto=Comparison+with+other+distros" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o"><span class="mw-ui-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li></ul> </div> </div> </div> </div> </nav> </div> </header> <div class="vector-main-menu-container "> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site" role="navigation"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div id="p-Welcome" class="vector-main-menu-group vector-menu mw-portlet mw-portlet-Welcome" > <div id="p-Welcome-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Welcome</span> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"><li id="n-Installation" class="mw-list-item"><a href="/wiki/Installation"><span>Installation</span></a></li><li id="n-FAQ" class="mw-list-item"><a href="/wiki/FAQ"><span>FAQ</span></a></li><li id="n-Tutorials-and-Howtos" class="mw-list-item"><a href="/wiki/Tutorials_and_Howtos"><span>Tutorials and Howtos</span></a></li><li id="n-Contribute" class="mw-list-item"><a href="/wiki/Contribute"><span>Contribute</span></a></li><li id="n-Developer-Documentation" class="mw-list-item"><a href="/wiki/Developer_Documentation"><span>Developer Documentation</span></a></li><li id="n-Glossary" class="mw-list-item"><a href="/wiki/Glossary"><span>Glossary</span></a></li></ul> </div> </div> <div id="p-Services" class="vector-main-menu-group vector-menu mw-portlet mw-portlet-Services" > <div id="p-Services-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Services</span> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"><li id="n-Main-Site" class="mw-list-item"><a href="https://alpinelinux.org" rel="nofollow"><span>Main Site</span></a></li><li id="n-Git-Repositories" class="mw-list-item"><a href="https://git.alpinelinux.org" rel="nofollow"><span>Git Repositories</span></a></li><li id="n-Bug-Tracker" class="mw-list-item"><a href="https://gitlab.alpinelinux.org/alpine/aports/-/issues" rel="nofollow"><span>Bug Tracker</span></a></li><li id="n-Mailing-Lists" class="mw-list-item"><a href="/wiki/Alpine_Linux:Mailing_lists"><span>Mailing Lists</span></a></li><li id="n-IRC-Channels" class="mw-list-item"><a href="/wiki/IRC"><span>IRC Channels</span></a></li><li id="n-Downloads" class="mw-list-item"><a href="https://alpinelinux.org/downloads" rel="nofollow"><span>Downloads</span></a></li><li id="n-Package-Database" class="mw-list-item"><a href="https://pkgs.alpinelinux.org/packages" rel="nofollow"><span>Package Database</span></a></li></ul> </div> </div> <div id="p-Wiki" class="vector-main-menu-group vector-menu mw-portlet mw-portlet-Wiki" > <div id="p-Wiki-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Wiki</span> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"><li id="n-Recent-Changes" class="mw-list-item"><a href="/wiki/Special:RecentChanges"><span>Recent Changes</span></a></li><li id="n-Site-Index" class="mw-list-item"><a href="/wiki/Special:PrefixIndex"><span>Site Index</span></a></li><li id="n-Categories" class="mw-list-item"><a href="/wiki/Special:Categories"><span>Categories</span></a></li><li id="n-Help" class="mw-list-item"><a href="/wiki/Category:Wiki"><span>Help</span></a></li><li id="n-Maintenance" class="mw-list-item"><a href="/wiki/Alpine_Linux:Wiki_maintenance"><span>Maintenance</span></a></li></ul> </div> </div> <div id="p-tb" class="vector-main-menu-group vector-menu mw-portlet mw-portlet-tb" > <div id="p-tb-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Toolbox</span> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"><li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Comparison_with_other_distros" title="A list of all wiki pages that link here [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Comparison_with_other_distros" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-print" class="mw-list-item"><a href="javascript:print();" rel="alternate" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Comparison_with_other_distros&oldid=27088" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Comparison_with_other_distros&action=info" title="More information about this page"><span>Page information</span></a></li></ul> </div> </div> </div> </nav> </div> </div> <div class="vector-sitenotice-container"> <div id="siteNotice"></div> </div> <input type="checkbox" id="vector-toc-collapsed-checkbox" class="mw-checkbox-hack-checkbox"> <nav id="mw-panel-toc" role="navigation" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">Beginning</div> </a> </li> <li id="toc-Package_management" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Package_management"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span>Package management</div> </a> <button aria-controls="toc-Package_management-sublist" class="mw-ui-icon mw-ui-icon-wikimedia-expand mw-ui-icon-small vector-toc-toggle"> Toggle Package management subsection </button> <ul id="toc-Package_management-sublist" class="vector-toc-list"> <li id="toc-Comparison_chart/Rosetta_Stone" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Comparison_chart/Rosetta_Stone"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.1</span>Comparison chart/Rosetta Stone</div> </a> <ul id="toc-Comparison_chart/Rosetta_Stone-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Updating_package_database" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Updating_package_database"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.2</span>Updating package database</div> </a> <ul id="toc-Updating_package_database-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Showing_available_updates" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Showing_available_updates"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.3</span>Showing available updates</div> </a> <ul id="toc-Showing_available_updates-sublist" class="vector-toc-list"> <li id="toc-Updating_a_particular_package" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Updating_a_particular_package"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.3.1</span>Updating a particular package</div> </a> <ul id="toc-Updating_a_particular_package-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Installing_packages" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Installing_packages"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.4</span>Installing packages</div> </a> <ul id="toc-Installing_packages-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Reinstalling_particular_packages" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Reinstalling_particular_packages"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.5</span>Reinstalling particular packages</div> </a> <ul id="toc-Reinstalling_particular_packages-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Searching_the_package_database" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Searching_the_package_database"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.6</span>Searching the package database</div> </a> <ul id="toc-Searching_the_package_database-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Removing_packages" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Removing_packages"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.7</span>Removing packages</div> </a> <ul id="toc-Removing_packages-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Only_downloading_packages" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Only_downloading_packages"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.8</span>Only downloading packages</div> </a> <ul id="toc-Only_downloading_packages-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Cleaning_up_downloaded_packages" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Cleaning_up_downloaded_packages"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.9</span>Cleaning up downloaded packages</div> </a> <ul id="toc-Cleaning_up_downloaded_packages-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Reverse_dependencies" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Reverse_dependencies"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.10</span>Reverse dependencies</div> </a> <ul id="toc-Reverse_dependencies-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Runlevel_&_Initscripts" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Runlevel_&_Initscripts"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span>Runlevel & Initscripts</div> </a> <button aria-controls="toc-Runlevel_&_Initscripts-sublist" class="mw-ui-icon mw-ui-icon-wikimedia-expand mw-ui-icon-small vector-toc-toggle"> Toggle Runlevel & Initscripts subsection </button> <ul id="toc-Runlevel_&_Initscripts-sublist" class="vector-toc-list"> <li id="toc-Directories_and_files" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Directories_and_files"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.1</span>Directories and files</div> </a> <ul id="toc-Directories_and_files-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Runlevel_management" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Runlevel_management"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.2</span>Runlevel management</div> </a> <ul id="toc-Runlevel_management-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Config_Files" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Config_Files"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span>Config Files</div> </a> <button aria-controls="toc-Config_Files-sublist" class="mw-ui-icon mw-ui-icon-wikimedia-expand mw-ui-icon-small vector-toc-toggle"> Toggle Config Files subsection </button> <ul id="toc-Config_Files-sublist" class="vector-toc-list"> <li id="toc-/etc/portage/make.conf_and_use_flags" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#/etc/portage/make.conf_and_use_flags"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.1</span>/etc/portage/make.conf and use flags</div> </a> <ul id="toc-/etc/portage/make.conf_and_use_flags-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Architectures_and_repositories" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Architectures_and_repositories"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.2</span>Architectures and repositories</div> </a> <ul id="toc-Architectures_and_repositories-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Network" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Network"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.3</span>Network</div> </a> <ul id="toc-Network-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-External_Reference" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#External_Reference"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.4</span>External Reference</div> </a> <ul id="toc-External_Reference-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> </ul> </div> </div> </nav> <div class="mw-content-container"> <main id="content" class="mw-body" role="main"> <header class="mw-body-header vector-page-titlebar"> <label id="vector-toc-collapsed-button" class="mw-ui-button mw-ui-quiet mw-ui-icon mw-ui-icon-flush-left mw-ui-icon-element mw-ui-icon-wikimedia-listBullet mw-checkbox-hack-button" for="vector-toc-collapsed-checkbox" role="button" aria-controls="toc-toggle-list" data-event-name="vector.toc-toggle-list" tabindex="0" title="Table of Contents"> Toggle the table of contents </label> <nav role="navigation" aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-menu vector-dropdown vector-menu-dropdown vector-page-titlebar-toc mw-ui-icon-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-menu-checkbox " aria-label="Toggle the table of contents" /> <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-menu-heading mw-checkbox-hack-button mw-ui-button mw-ui-quiet mw-ui-icon-element " aria-hidden="true" > <span class="mw-ui-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-menu-heading-label">Toggle the table of contents</span> </label> <div class="vector-menu-content vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Comparison with other distros</span></h1> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a data-mw="interface" href="/wiki/Comparison_with_other_distros" title="View the content page [c]" accesskey="c" class=""><span>Page</span></a> </li> <li id="ca-talk" class="vector-tab-noicon mw-list-item"><a data-mw="interface" href="/wiki/Talk:Comparison_with_other_distros" rel="discussion" title="Discussion about the content page [t]" accesskey="t" class=""><span>Discussion</span></a> </li> </ul> </div> </div> <div id="p-variants" class="vector-menu vector-dropdown vector-menu-dropdown mw-portlet mw-portlet-variants emptyPortlet" > <input type="checkbox" id="p-variants-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-variants" class="vector-menu-checkbox" aria-label="Change language variant" /> <label id="p-variants-label" for="p-variants-checkbox" class="vector-menu-heading " aria-hidden="true" > <span class="vector-menu-heading-label">English</span> </label> <div class="vector-menu-content vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"></ul> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a data-mw="interface" href="/wiki/Comparison_with_other_distros" class=""><span>Read</span></a> </li> <li id="ca-viewsource" class="vector-tab-noicon mw-list-item"><a data-mw="interface" href="/w/index.php?title=Comparison_with_other_distros&action=edit" title="This page is protected. You can view its source [e]" accesskey="e" class=""><span>View source</span></a> </li> <li id="ca-history" class="vector-tab-noicon mw-list-item"><a data-mw="interface" href="/w/index.php?title=Comparison_with_other_distros&action=history" title="Past revisions of this page [h]" accesskey="h" class=""><span>View history</span></a> </li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="More options"> <div id="p-cactions" class="vector-menu vector-dropdown vector-menu-dropdown mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <input type="checkbox" id="p-cactions-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-cactions" class="vector-menu-checkbox" aria-label="More" /> <label id="p-cactions-label" for="p-cactions-checkbox" class="vector-menu-heading" aria-hidden="true" > <span class="vector-menu-heading-label">More</span> </label> <div class="vector-menu-content vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"><li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Comparison_with_other_distros"><span>Read</span></a></li><li id="ca-more-viewsource" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Comparison_with_other_distros&action=edit"><span>View source</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Comparison_with_other_distros&action=history"><span>View history</span></a></li></ul> </div> </div> </div> </nav> </div> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Alpine Linux</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-parser-output"><p>Alpine Linux has some similarities and differences with other distributions. This page helps new Alpine Linux users from other other distributions to quickly come up speed. </p> <meta property="mw:PageProp/toc" /> <h1><span class="mw-headline" id="Package_management">Package management</span></h1> <p>Package manager for alpine is <a href="/wiki/Alpine_Package_Keeper" title="Alpine Package Keeper">Alpine Package Keeper</a>. This section compares how apk is used, in comparison to other tools from Debian,Fedora,Arch and Void. </p><p>The following package managers from popular Linux distributions are used for comparison in this section: </p> <ul><li>Alpine (<a rel="nofollow" class="external text" href="https://wiki.alpinelinux.org/wiki/Alpine_Linux_package_management">apk</a>)</li> <li>Arch (<a rel="nofollow" class="external text" href="https://wiki.archlinux.org/index.php/Pacman">pacman</a>)</li> <li>Gentoo (<a rel="nofollow" class="external text" href="https://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1">emerge</a>)</li> <li>Debian/Ubuntu (<a rel="nofollow" class="external text" href="https://wiki.debian.org/AptCLI">apt</a>)</li> <li>Fedora/RHEL (<a rel="nofollow" class="external text" href="https://rpm-software-management.github.io/">DNF</a>)</li> <li>Void (<a rel="nofollow" class="external text" href="https://docs.voidlinux.org/xbps/index.html?highlight=xb#xbps-package-manager">XBPS</a>)</li></ul> <h2><span id="Comparison_chart.2FRosetta_Stone"></span><span class="mw-headline" id="Comparison_chart/Rosetta_Stone">Comparison chart/Rosetta Stone</span></h2> <p>This chart shows how some standard things are done in Alpine compared to other distributions. </p> <table cellpadding="5" border="1" class="wikitable"> <tbody><tr> <th>Action </th> <th>Alpine </th> <th>Arch </th> <th>Gentoo </th> <th>Debian/Ubuntu </th> <th>Fedora </th> <th>VoidLinux </th></tr> <tr> <td><a href="#Updating_package_database">Update package database</a> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apk update</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">pacman -Sy</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">emerge --sync</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apt update</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">dnf update</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">xbps-install -S</p> </td></tr> <tr> <td><a href="#Showing_available_updates">Showing available updates</a> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apk version -l '<'</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">pacman -Qu</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">emerge --deep --update --pretend @world</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apt upgrade --simulate</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">dnf list updates</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">xbps-install -n -u</p> </td></tr> <tr> <td><a href="#Installing_packages">Installing packages</a> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apk add [package name]</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">pacman -S [package name]</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">emerge [package name]</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apt install [package name]</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">dnf install [package name]</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">xbps-install [package name]</p> </td></tr> <tr> <td>Update all installed packages </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apk upgrade -U -a</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">pacman -Su</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">emerge --update --deep @world</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apt upgrade</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">dnf update</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">xbps-install -u</p> </td></tr> <tr> <td><a href="#Searching_the_package_database">Searching package database</a> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apk search -v '[string]*'</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">pacman -Ss [string]</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">emerge --search [string]</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apt search [string]</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">dnf search [string]</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">xbps-query -Rs [string]</p> </td></tr> <tr> <td><a href="#Removing_packages">Removing packages</a> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apk del [package name]</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">pacman -R [package name]</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">emerge --depclean [package name]</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apt remove [package name]</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">dnf remove [package name]</p> </td> <td><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">xbps-remove [package name]</p> </td></tr></tbody></table> <p><br /> </p> <h2><span class="mw-headline" id="Updating_package_database">Updating package database</span></h2> <p>Gentoo will update the build-from-source scripts and the updating of the database takes much more time than updating the database for Debian or Alpine. </p><p><b>Alpine</b> </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apk update</p> <p><b>Arch</b> </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">pacman -Sy</p> <p><b>Debian</b> </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apt update</p> <p><b>Gentoo</b> </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">emerge --sync</p> <h2><span class="mw-headline" id="Showing_available_updates">Showing available updates</span></h2> <p>Show which packages have an update available: </p><p><b>Alpine</b> </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apk version -v</p> <p>or: </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apk version -v -l '<'</p> <p><b>Gentoo</b> </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">emerge --deep --update --pretend @world</p> <p><b>Debian</b> </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apt list --upgradable</p> <h3><span class="mw-headline" id="Updating_a_particular_package">Updating a particular package</span></h3> <p><b>Alpine</b> </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apk add -u package1 package2</p> <p>or </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apk upgrade package1 package2</p> <p><b>Debian</b> </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apt install package1 package2</p> <p><b>Gentoo</b> </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">emerge --update package1 package2</p> <h2><span class="mw-headline" id="Installing_packages">Installing packages</span></h2> <p><b>Alpine</b> </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apk add package1 package2</p> <p>For source compile, see the <a href="/wiki/Aports_tree" title="Aports tree">Aports tree</a> and the <a href="/wiki/Abuild_and_Helpers" title="Abuild and Helpers">abuild</a> tool. </p><p><b>Gentoo</b> </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">emerge package1 package2</p> <p><b>Debian</b> </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apt-get install package1 package2</p> <p>Debian source compile: </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apt-get build-dep package1</p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apt-get source package1</p> <p>(optional: customize the build by modifying the debian/rules makefile) (or set environmental variables like DEB_BUILD_OPTIONS) (note that this will make your bug reports invalid to the maintainer) </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">dpkg-buildpackage -rfakeroot -uc -b</p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">dpkg -i generatedpackagename</p> <p>Simplified source compile: </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apt-get build-dep package1</p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apt-get -b source package1</p> <p>(the packages are automatically generated using the -b switch above) </p><p><b>Note:</b> This process can be used to backport packages from testing and unstable by simply adding their respective source repositories to sources.list, which is similar to adding ~x86 to package.keywords in Gentoo. This is explored further in the "Architectures and repositories" section below. </p> <h2><span class="mw-headline" id="Reinstalling_particular_packages">Reinstalling particular packages</span></h2> <p><b>Alpine</b> </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apk del package1 package2 && apk add package1 package2</p> <p>or: </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apk fix package1 package2</p> <p><b>Gentoo</b> </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">emerge --oneshot package1 package2</p> <p><b>Debian</b> </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apt-get install --reinstall package1 package2</p> <p>Note: You <i>rarely</i> need to reinstall a package on Debian </p> <h2><span class="mw-headline" id="Searching_the_package_database">Searching the package database</span></h2> <p><b>Alpine</b> </p><p>Alpine will only search package names. </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apk search searchword</p> <p><b>Gentoo</b> </p><p>To search the package names and descriptions: </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">emerge --searchdesc searchword</p> <p><b>Note:</b> On Gentoo, it's actually much better to install and use the eix package to do a search. You use them like this: </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">eix searchword</p> <p><b>Debian</b> </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apt-cache search searchword</p> <p>Both emerge and apt-cache search support regular expressions. </p><p>To get the long package information on Debian (searching only in package names): </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apt-cache search --full --names-only searchword</p> <h2><span class="mw-headline" id="Removing_packages">Removing packages</span></h2> <p><b>Alpine</b> </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apk del package1 package2</p> <p><i>apk del</i> will remove configuration files when the <i>--purge</i> flag is used. Make sure you have backups of your configuration files. </p><p>You will mostly like to take a quick look at the dependencies before you remove packages recursively. </p><p>To see dependencies for a package, use: </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apk info -R package1 package2</p> <p>To see if package is required by other packages (is a dependency for another packages), use: </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apk info -r package1 package2</p> <p><br /> <b>Gentoo</b> </p><p>The correct way to remove packages on gentoo. </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">emerge --depclean package1 package2</p> <p>In case you know what you're doing, you may skip dependency checks and potentiality leave your system in broken state. </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">emerge --unmerge package1 package2</p> <p><b>Debian</b> </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apt-get remove package1 package2</p> <p>or to remove along with all configuration files </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apt-get remove --purge package1 package2</p> <h2><span class="mw-headline" id="Only_downloading_packages">Only downloading packages</span></h2> <p>This can be useful e.g. if you're on a dial-up connection and want to download everything first and install later. </p><p><b>Alpine</b> </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apk fetch package1 package2</p> <p><b>Gentoo</b> </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">emerge --fetchonly package1 package2</p> <p><b>Debian</b> </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apt-get install --download-only package1 package2</p> <h2><span class="mw-headline" id="Cleaning_up_downloaded_packages">Cleaning up downloaded packages</span></h2> <p>Compressed packages that were downloaded for installation can easily consume gigabytes of storage space. </p><p><b>Alpine</b> </p><p>Alpine will clean up packages automatically. </p><p><b>Gentoo</b> </p><p>The following command will leave <i>/var/cache/distfiles/</i> folder intact, while deleting all children. </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">find /var/cache/distfiles/ -mindepth 1 -delete</p> <p>To only remove outdated packages you will need to install the gentoolkit package and use eclean: </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">eclean distfiles</p> <p>Cleaning temporary files from emerging packages: </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">rm -rf /var/tmp/portage/*</p> <p><b>Debian</b> </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apt-get clean</p> <p>Only remove outdated packages: </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">apt-get autoclean</p> <h2><span class="mw-headline" id="Reverse_dependencies">Reverse dependencies</span></h2> <p><b>Alpine</b> </p><p>apk-tools will take care of reverse dependencies. </p><p><b>Gentoo</b> </p><p> Recent versions of portage include library tracking and preservation with the preserved-libs feature. Portage will notify you to run </p><p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">emerge @preserved-rebuild</p><p> to help rebuild binaries that might otherwise become broken. </p><p><b>Debian</b> </p><p>Reverse dependencies are taken care of by dpkg. </p> <h1><span id="Runlevel_.26_Initscripts"></span><span class="mw-headline" id="Runlevel_&_Initscripts">Runlevel & Initscripts</span></h1> <h2><span class="mw-headline" id="Directories_and_files">Directories and files</span></h2> <p>In <b>Gentoo</b>, runlevels have the same names, but these are mapped to more self explanatory ones (in /etc/inittab): "boot", "default", "nonetwork", with the option to add more. The directories that represent them are in /etc/runlevels/: </p> <ul><li>/etc/runlevels/boot</li> <li>/etc/runlevels/default</li> <li>/etc/runlevels/nonetwork</li></ul> <p>In <b>Gentoo</b>, if a service is not explicitly started in a runlevel, it is stopped when switching to that runlevel! </p><p>In <b>Gentoo</b>, which things are started (and stopped) in which runlevels is controlled by links in the runlevel directories to scripts in /etc/init.d/, e.g.: <b>Gentoo</b> </p> <pre>$ ls -l /etc/runlevels/boot/hostname lrwxrwxrwx 1 root root 20 Mar 25 2004 /etc/runlevels/boot/hostname -> /etc/init.d/hostname </pre> <p><b>Alpine</b> </p><p>In Alpine, runlevels work like they do in Gentoo: </p> <ul><li>/etc/runlevels/boot</li> <li>/etc/runlevels/default</li> <li>/etc/runlevels/sysinit</li> <li>/etc/runlevels/nonetwork</li> <li>/etc/runlevels/shutdown</li></ul> <h2><span class="mw-headline" id="Runlevel_management">Runlevel management</span></h2> <p>To manage which things to start in which runlevels, use the following commands: </p><p><b>Alpine</b> </p><p>To see current status of services in runlevels, do: </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">rc-status</p> <p>To add sshd to default runlevel, do: </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">rc-update add sshd default</p> <p>To remove sshd from all runlevels do: </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">rc-update del sshd</p> <p><b>Gentoo</b> </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">rc-update</p> <p>To add the cupsd to the default runlevel, do: </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">rc-update add cupsd default</p> <p>To remove alsasound from the boot runlevel, do: </p> <p style="background-color:#eeeeee; border:1px dashed #bbbbbb; line-height:1.1em; padding:1em; font-family:monospace, Courier; font-size:10pt; white-space:pre; overflow:auto;">rc-update del alsasound boot</p> <p>Also see this wiki page about <a rel="nofollow" class="external text" href="https://web.archive.org/web/20080707042933/http://gentoo-wiki.com/Rc-update">gentoo runlevel management with rc-update</a> </p> <h1><span class="mw-headline" id="Config_Files">Config Files</span></h1> <h2><span id=".2Fetc.2Fportage.2Fmake.conf_and_use_flags"></span><span class="mw-headline" id="/etc/portage/make.conf_and_use_flags">/etc/portage/make.conf and use flags</span></h2> <p>While in Gentoo there's a large number of configuration files which control the behaviour of the package management system, there are comparatively fewer in Debian, as there is no need to dictate how to compile software which is downloaded and tweak/alter it. In Gentoo, the file /etc/portage/make.conf is used for much configuration; this includes <i>USE</i> flags, which influence which elements of packages are compiled, and which libraries to build support for - common USE flags (USE or -USE to specifically negate support) include 'gtk gnome' for Gnome users (and a corresponding -qt -kde -arts) and 'qt kde arts' for KDE users. A Gentoo user's complete set of use flags may look something like this: </p><p><b>USE="-kde -arts -qt xv truetype bluetooth crypt slang readline gpm berkdb mmx gdbm tcpd pam libwww ssl nls ethereal perl python esd gif imlib sdl oggvorbis mpeg gnome gtk X motif opengl avi png tiff nptl pcmcia nptl ldap eds"</b> </p> <h2><span class="mw-headline" id="Architectures_and_repositories">Architectures and repositories</span></h2> <p><b>Gentoo</b> </p><p>Also in /etc/portage/make.conf is the <b>ACCEPT_KEYWORDS</b> setting, with (for an X86-based processor) two settings, <b>x86</b> for stabler packages, and <b>~x86</b> for bleeding edge packages. It is however not recommended to make this change in /etc/portage/make.conf. Rather configure this per-package in /etc/portage/package.accept_keywords. It's enough to put a line into that file naming the package (for example 'app-foo/bar'). That file might look like this: </p> <pre>app-crypt/gpg-agent app-text/docbook-xsl-stylesheets =app-text/docbook-xml-dtd-4.3-r1 </pre> <p>The last line says, that <i>only</i> version 4.3-r1 should be unmasked. Older and newer versions will still be ignored. </p><p><b>Note for non-x86 users:</b> The keywords <b>x86</b> and <b>~x86</b> can of course be replaced by <b>sparc</b> and <b>~sparc</b> for example. </p><p><b>Debian</b> </p><p>Setting this in Debian is slightly more complicated, and is accomplished by setting different 'repositories' in <i>/etc/apt/sources.list</i> - along with which 'tree' to use for packages; in Debian, these are <b>stable</b>, <b>testing</b>, and <b>unstable</b>. An <i>/etc/apt/sources.list</i> file for a debian testing user may look something like this: </p> <pre>deb https://mirrors.kernel.org/debian testing main non-free contrib deb ftp://ftp.nerim.net/debian-marillat testing main deb https://security.debian.org testing/updates main contrib non-free </pre> <p>Alternatively, <i>/etc/apt/sources.list</i> can contain any number of repositories for any trees, and a default tree (this can be overridden using the -t switch on the command line) in <i>/etc/apt/apt.conf</i>: </p> <pre> APT::Default-Release "testing"; </pre> <p>Per-package settings go in <i>/etc/apt/preferences</i>, somewhat like Gentoo's <i>/etc/portage/package.keywords</i>. </p> <h2><span class="mw-headline" id="Network">Network</span></h2> <p><b>Alpine</b> </p><p>Alpine uses /etc/network/interfaces, similar to Debian. Alpine uses busybox's implementation by default. </p><p><i>/etc/network/interfaces</i>: </p> <pre>auto eth0 iface eth0 inet static address 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255 auto eth0:0 iface eth0:0 inet static address 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 # etc. </pre> <p><b>Gentoo</b> </p><p>Gentoo uses <i>netifrc</i>. This packages is also available in the edge community repository. (Use on Alpine at your own risk.) </p><p><i>/etc/conf.d/net</i>: </p> <pre>config_eth0="192.168.1.100 netmask 255.255.255.0 192.168.2.100 netmask 255.255.255.0" routes_eth0="default via 192.168.1.1" </pre> <p>Note that this has changed recently. For more information please refer to <a rel="nofollow" class="external free" href="https://wiki.gentoo.org/wiki/Handbook:X86?part=4">https://wiki.gentoo.org/wiki/Handbook:X86?part=4</a> </p><p><b>Debian</b> </p><p><i>/etc/network/interfaces</i>: </p> <pre>auto eth0 iface eth0 inet static address 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255 auto eth0:0 iface eth0:0 inet static address 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 # etc. </pre> <p><br /> </p> <h2><span class="mw-headline" id="External_Reference">External Reference</span></h2> <p><a rel="nofollow" class="external text" href="https://wiki.archlinux.org/title/Pacman/Rosetta">Pacman Rosetta</a>. </p> <!-- NewPP limit report Cached time: 20250225092838 Cache expiry: 86400 Reduced expiry: false Complications: [show鈥恡oc, no鈥恡oc鈥恈onversion] CPU time usage: 0.055 seconds Real time usage: 0.059 seconds Preprocessor visited node count: 700/1000000 Post鈥恊xpand include size: 17947/2097152 bytes Template argument size: 2107/2097152 bytes Highest expansion depth: 3/100 Expensive parser function count: 0/100 Unstrip recursion depth: 0/20 Unstrip post鈥恊xpand size: 95/5000000 bytes --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 13.545 1 -total 49.41% 6.692 88 Template:Cmd --> <!-- Saved in parser cache with key wikidb:pcache:idhash:1512-0!canonical and timestamp 20250225092838 and revision id 27088. Rendering was triggered because: page-view --> </div> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://wiki.alpinelinux.org/w/index.php?title=Comparison_with_other_distros&oldid=27088">https://wiki.alpinelinux.org/w/index.php?title=Comparison_with_other_distros&oldid=27088</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Special:Categories" title="Special:Categories">Category</a>: <ul><li><a href="/wiki/Category:Package_Manager" title="Category:Package Manager">Package Manager</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" role="contentinfo" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 14 August 2024, at 17:06.</li> <li id="footer-info-copyright"><div align="right"><div id="footer-inner"> <p><a href="https://wiki.alpinelinux.org/wiki/Alpine_Linux:Privacy_policy#License">© Original authors / CC-BY-SA-4.0</a> </div></div></li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="/wiki/Alpine_Linux:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Alpine_Linux:About">About</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Alpine_Linux:General_disclaimer">Disclaimers</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/"><img src="/w/resources/assets/poweredby_mediawiki_88x31.png" alt="Powered by MediaWiki" srcset="/w/resources/assets/poweredby_mediawiki_132x47.png 1.5x, /w/resources/assets/poweredby_mediawiki_176x62.png 2x" width="88" height="31" loading="lazy"/></a></li> </ul> </footer> </div> </div> </div> <script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgBackendResponseTime":103,"wgPageParseReport":{"limitreport":{"cputime":"0.055","walltime":"0.059","ppvisitednodes":{"value":700,"limit":1000000},"postexpandincludesize":{"value":17947,"limit":2097152},"templateargumentsize":{"value":2107,"limit":2097152},"expansiondepth":{"value":3,"limit":100},"expensivefunctioncount":{"value":0,"limit":100},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":95,"limit":5000000},"timingprofile":["100.00% 13.545 1 -total"," 49.41% 6.692 88 Template:Cmd"]},"cachereport":{"timestamp":"20250225092838","ttl":86400,"transientcontent":false}}});});</script> </body> </html>