<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [

<!ENTITY % aptent SYSTEM "apt.ent">
%aptent;

<!ENTITY % aptverbatiment SYSTEM "apt-verbatim.ent">
%aptverbatiment;

]>

<refentry>

 <refentryinfo>
   &apt-author.moconnor;
   &apt-author.team;
   &apt-email;
   &apt-product;
   <!-- The last update date -->
   <date>21 April 2011</date>
 </refentryinfo>
 
 <refmeta>
   <refentrytitle>apt-mark</refentrytitle>
   <manvolnum>8</manvolnum>
   <refmiscinfo class="manual">APT</refmiscinfo>
 </refmeta>
 
 <!-- Man page title -->
 <refnamediv>
    <refname>apt-mark</refname>
    <refpurpose>mark/unmark a package as being automatically-installed</refpurpose>
 </refnamediv>

 <!-- Arguments -->
 <refsynopsisdiv>
   <cmdsynopsis>
	<command>apt-mark</command>
	<arg><option>-hv</option></arg>
	<arg><option>-f=<replaceable>FILENAME</replaceable></option></arg>
	<group choice="plain">
		<arg choice="plain">
			<group choice="req">
				<arg choice="plain">auto</arg>
				<arg choice="plain">manual</arg>
				<arg choice="plain">showauto</arg>
				<arg choice="plain">showmanual</arg>
			</group>
			<arg choice="plain" rep="repeat"><replaceable>package</replaceable></arg>
		</arg>
	</group>
   </cmdsynopsis>
 </refsynopsisdiv>
 
 <refsect1><title>Description</title>
   <para><command>apt-mark</command> will change whether a package has
   been marked as being automatically installed.
   </para>
   <para>
     When you request that a package is installed, and as a result
     other packages are installed to satisfy its dependencies, the
     dependencies are marked as being automatically installed.  Once
     these automatically installed packages are no longer depended on
     by any manually installed packages, they will be removed by e.g.
     <command>apt-get</command> or <command>aptitude</command>.
   </para>
     <variablelist>
       <varlistentry><term>auto</term>
	 <listitem><para><literal>auto</literal> is used to mark a
     package as being automatically installed, which will cause the
     package to be removed when no more manually installed packages
     depend on this package.
       </para></listitem>
       </varlistentry>

       <varlistentry><term>manual</term>
	 <listitem><para><literal>manual</literal> is used to mark a
     package as being manually installed, which will prevent the
     package from being automatically removed if no other packages
     depend on it.
       </para></listitem>
       </varlistentry>

       <varlistentry><term>hold</term>
	 <listitem><para><literal>hold</literal> is used to mark a
       package as hold back, which will prevent the package from being
       automatically installed, upgraded or removed.
       The command is only a wrapper around <command>dpkg --set-selections</command>
       and the state is therefore maintained by &dpkg; and not effected
       by the <option>--filename</option> option.
       </para></listitem>
       </varlistentry>

       <varlistentry><term>unhold</term>
	 <listitem><para><literal>unhold</literal> is used to cancel a
       previously set hold on a package to allow all actions again.
       </para></listitem>
       </varlistentry>

       <varlistentry><term>showauto</term>
	 <listitem><para><literal>showauto</literal> is used to print a
     list of automatically installed packages with each package on a new line.
     All automatically installed packages will be listed if no package is given.
     If packages are given only those which are automatically installed will be shown.
       </para></listitem>
       </varlistentry>

       <varlistentry><term>showmanual</term>
	 <listitem><para><literal>showmanual</literal> can be used in
     the same way as <literal>showauto</literal> except that it will print
     a list of manually installed packages instead.
       </para></listitem>
       </varlistentry>

       <varlistentry><term>showhold</term>
	 <listitem><para><literal>showhold</literal> is used to print a list
     of packages on hold in the same way as for the other show commands.
       </para></listitem>
       </varlistentry>


     </variablelist>
 </refsect1>
 
 <refsect1><title>options</title>
   
   <variablelist>
	<varlistentry>
		<term><option>-f=<filename><replaceable>FILENAME</replaceable></filename></option></term>
		<term><option>--file=<filename><replaceable>FILENAME</replaceable></filename></option></term>
     <listitem><para>
      
     Read/Write package stats from <filename><replaceable>FILENAME</replaceable></filename>
     instead of the default location, which
     is <filename>extended_status</filename> in the directory defined
     by the Configuration Item: <literal>Dir::State</literal>.</para></listitem>
     </varlistentry>

     &apt-commonoptions;
   </variablelist>
 </refsect1>

 <refsect1><title>Files</title>
   <variablelist>
	&file-extended_states;
   </variablelist>
 </refsect1>

 <refsect1><title>See Also</title>
   <para>&apt-get;,&aptitude;,&apt-conf;</para>
 </refsect1>

 <refsect1><title>Diagnostics</title>
   <para><command>apt-mark</command> returns zero on normal operation, non-zero on error.</para>
 </refsect1>

 &manbugs;
 
</refentry>