582 lines
8.8 KiB
HTML
582 lines
8.8 KiB
HTML
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>Appendix</TITLE
|
|
><META
|
|
NAME="GENERATOR"
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
|
|
REL="HOME"
|
|
TITLE="GNU/Linux Command-Line Tools Summary"
|
|
HREF="book1.htm"><LINK
|
|
REL="PREVIOUS"
|
|
TITLE="Wildcards"
|
|
HREF="x11655.htm"><LINK
|
|
REL="NEXT"
|
|
TITLE="Further Reading"
|
|
HREF="x12429.htm"></HEAD
|
|
><BODY
|
|
CLASS="APPENDIX"
|
|
BGCOLOR="#FFFFFF"
|
|
TEXT="#000000"
|
|
LINK="#0000FF"
|
|
VLINK="#840084"
|
|
ALINK="#0000FF"
|
|
><DIV
|
|
CLASS="NAVHEADER"
|
|
><TABLE
|
|
SUMMARY="Header navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TH
|
|
COLSPAN="3"
|
|
ALIGN="center"
|
|
>GNU/Linux Command-Line Tools Summary</TH
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="left"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="x11655.htm"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="center"
|
|
VALIGN="bottom"
|
|
></TD
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="right"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="x12429.htm"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"></DIV
|
|
><DIV
|
|
CLASS="APPENDIX"
|
|
><H1
|
|
><A
|
|
NAME="AEN12264"
|
|
></A
|
|
>Appendix A. Appendix</H1
|
|
><DIV
|
|
CLASS="TOC"
|
|
><DL
|
|
><DT
|
|
><B
|
|
>Table of Contents</B
|
|
></DT
|
|
><DT
|
|
><A
|
|
HREF="a12264.htm#FINDING-PACKAGES-TOOLS"
|
|
>Finding Packages/Tools</A
|
|
></DT
|
|
><DT
|
|
><A
|
|
HREF="x12429.htm"
|
|
>Further Reading</A
|
|
></DT
|
|
><DT
|
|
><A
|
|
HREF="x12637.htm"
|
|
>GNU Free Documentation License<A
|
|
NAME="AEN12639"
|
|
></A
|
|
><A
|
|
NAME="AEN12641"
|
|
></A
|
|
><A
|
|
NAME="AEN12643"
|
|
></A
|
|
></A
|
|
></DT
|
|
></DL
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT1"
|
|
><H1
|
|
CLASS="SECT1"
|
|
><A
|
|
NAME="FINDING-PACKAGES-TOOLS"
|
|
></A
|
|
>Finding Packages/Tools</H1
|
|
><DIV
|
|
CLASS="SECT2"
|
|
><H2
|
|
CLASS="SECT2"
|
|
><A
|
|
NAME="FINDING-MORE-USEFUL-TOOLS"
|
|
></A
|
|
>Finding more useful tools</H2
|
|
><P
|
|
>If you are looking to find more tools, the <SPAN
|
|
CLASS="ACRONYM"
|
|
>GNU</SPAN
|
|
> project<A
|
|
NAME="AEN12272"
|
|
></A
|
|
> (GNU's Not Unix) maintains a directory, a website listing categorized links to various free-software tools (which they consider useful) called <A
|
|
HREF="http://www.gnu.org/directory/"
|
|
TARGET="_top"
|
|
>the <SPAN
|
|
CLASS="ACRONYM"
|
|
>GNU</SPAN
|
|
> Directory.</A
|
|
><A
|
|
NAME="AEN12276"
|
|
></A
|
|
></P
|
|
><P
|
|
>Also try sites such as <A
|
|
HREF="http://www.sweet.org"
|
|
TARGET="_top"
|
|
>Sweet Code</A
|
|
><A
|
|
NAME="AEN12280"
|
|
></A
|
|
> which offer mailing lists of useful tools which they find.</P
|
|
><P
|
|
>You may also try looking at the most highly rated, most active or most downloaded programs at <A
|
|
HREF="http://www.sourceforge.net"
|
|
TARGET="_top"
|
|
>SourceForge</A
|
|
><A
|
|
NAME="AEN12284"
|
|
></A
|
|
> and <A
|
|
HREF="http://www.freshmeat.net"
|
|
TARGET="_top"
|
|
>FreshMeat.</A
|
|
><A
|
|
NAME="AEN12287"
|
|
></A
|
|
></P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT2"
|
|
><H2
|
|
CLASS="SECT2"
|
|
><A
|
|
NAME="FINDING-PARTICULAR-TOOLS"
|
|
></A
|
|
>Finding a particular tool(s)<A
|
|
NAME="AEN12291"
|
|
></A
|
|
></H2
|
|
><P
|
|
>Many of the tools listed in this guide are part of a package of tools, such as <SPAN
|
|
CLASS="emphasis"
|
|
><I
|
|
CLASS="EMPHASIS"
|
|
>diffutils </I
|
|
></SPAN
|
|
><A
|
|
NAME="AEN12295"
|
|
></A
|
|
>which contains the various tools used to find differences between files, such as <SPAN
|
|
CLASS="emphasis"
|
|
><I
|
|
CLASS="EMPHASIS"
|
|
>diff<A
|
|
NAME="AEN12298"
|
|
></A
|
|
>, sdiff<A
|
|
NAME="AEN12300"
|
|
></A
|
|
>, diff3<A
|
|
NAME="AEN12302"
|
|
></A
|
|
>, cmp</I
|
|
></SPAN
|
|
><A
|
|
NAME="AEN12304"
|
|
></A
|
|
>. Most small tools are bundled together in this fashion. Most major distribution's will offer a search function to help you search the packages by file, you can of course do this via the command-line interface<A
|
|
NAME="AEN12306"
|
|
></A
|
|
> or a GUI<A
|
|
NAME="AEN12308"
|
|
></A
|
|
>.</P
|
|
><P
|
|
>If you need to search the distribution's available packages<A
|
|
NAME="AEN12311"
|
|
></A
|
|
> via the command-line<A
|
|
NAME="AEN12313"
|
|
></A
|
|
>, the method will vary depending on the distribution you are using, see the subsections below or consult your distribution's documentation (or of course the internet):</P
|
|
><DIV
|
|
CLASS="SECT3"
|
|
><H3
|
|
CLASS="SECT3"
|
|
><A
|
|
NAME="FINDING-MANDRIVA"
|
|
></A
|
|
>Mandriva (urpm* commands, rpm based)<A
|
|
NAME="AEN12317"
|
|
></A
|
|
></H3
|
|
><P
|
|
>To find where a particular file came from use <SPAN
|
|
CLASS="emphasis"
|
|
><I
|
|
CLASS="EMPHASIS"
|
|
>urpmf</I
|
|
></SPAN
|
|
>.<A
|
|
NAME="AEN12321"
|
|
></A
|
|
></P
|
|
><P
|
|
>Command syntax:</P
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>urpmf<A
|
|
NAME="AEN12325"
|
|
></A
|
|
> file_name</PRE
|
|
><P
|
|
>The results are often overwhelming as this particular command will take a string and list every file of every package<A
|
|
NAME="AEN12328"
|
|
></A
|
|
> in it's database that contains the particular keyword<A
|
|
NAME="AEN12330"
|
|
></A
|
|
> (ie. both uninstalled and installed packages<A
|
|
NAME="AEN12332"
|
|
></A
|
|
>). To refine the results you may want to add a pipe to it and send it through <SPAN
|
|
CLASS="emphasis"
|
|
><I
|
|
CLASS="EMPHASIS"
|
|
>grep -w file_name</I
|
|
></SPAN
|
|
> <A
|
|
NAME="AEN12335"
|
|
></A
|
|
>(the <SPAN
|
|
CLASS="emphasis"
|
|
><I
|
|
CLASS="EMPHASIS"
|
|
>-w</I
|
|
></SPAN
|
|
> option will only show you only exact (whole word) matches). How you would do this is shown below:</P
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>urpmf file_name | grep -w file_name</PRE
|
|
><P
|
|
>For more information on the urpm* commands, please refer to the tip towards the end of this section: <A
|
|
HREF="c11412.htm#RPM"
|
|
>the Section called <I
|
|
>RPM: Redhat Package Management System</I
|
|
> in Chapter 20</A
|
|
>. </P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT3"
|
|
><H3
|
|
CLASS="SECT3"
|
|
><A
|
|
NAME="FINDING-RPMS"
|
|
></A
|
|
>Red Hat (rpm)<A
|
|
NAME="AEN12343"
|
|
></A
|
|
></H3
|
|
><P
|
|
>To find which package<A
|
|
NAME="AEN12346"
|
|
></A
|
|
> a particular file came from use <SPAN
|
|
CLASS="emphasis"
|
|
><I
|
|
CLASS="EMPHASIS"
|
|
>rpm</I
|
|
></SPAN
|
|
> with the <SPAN
|
|
CLASS="emphasis"
|
|
><I
|
|
CLASS="EMPHASIS"
|
|
>-qf</I
|
|
></SPAN
|
|
> option.</P
|
|
><P
|
|
>Command syntax:</P
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>rpm -qf /path/to/the/file<A
|
|
NAME="AEN12352"
|
|
></A
|
|
></PRE
|
|
><P
|
|
>This will find which package the file came from. You need to use <SPAN
|
|
CLASS="emphasis"
|
|
><I
|
|
CLASS="EMPHASIS"
|
|
>rpm -qf</I
|
|
></SPAN
|
|
> not with a keyword<A
|
|
NAME="AEN12356"
|
|
></A
|
|
> but with the location of the actual file. To find more information on the particular package listed use <SPAN
|
|
CLASS="emphasis"
|
|
><I
|
|
CLASS="EMPHASIS"
|
|
>rpm</I
|
|
></SPAN
|
|
> with the <SPAN
|
|
CLASS="emphasis"
|
|
><I
|
|
CLASS="EMPHASIS"
|
|
>-qi</I
|
|
></SPAN
|
|
> option.<A
|
|
NAME="AEN12360"
|
|
></A
|
|
></P
|
|
><P
|
|
>Command syntax:</P
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>rpm -qi package_name</PRE
|
|
><P
|
|
>Note that the package name is the name of the package without the <SPAN
|
|
CLASS="emphasis"
|
|
><I
|
|
CLASS="EMPHASIS"
|
|
>.arch.rpm </I
|
|
></SPAN
|
|
>(often <SPAN
|
|
CLASS="emphasis"
|
|
><I
|
|
CLASS="EMPHASIS"
|
|
>.i386.rpm</I
|
|
></SPAN
|
|
>) extension on the end.</P
|
|
><P
|
|
>For more information on the usage of rpm, please refer to this section <A
|
|
HREF="c11412.htm#RPM"
|
|
>the Section called <I
|
|
>RPM: Redhat Package Management System</I
|
|
> in Chapter 20</A
|
|
>.</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT3"
|
|
><H3
|
|
CLASS="SECT3"
|
|
><A
|
|
NAME="FINDING-DEBIAN"
|
|
></A
|
|
>Debian (deb)<A
|
|
NAME="AEN12371"
|
|
></A
|
|
></H3
|
|
><P
|
|
>To find where a particular file came from use dpkg with the <SPAN
|
|
CLASS="emphasis"
|
|
><I
|
|
CLASS="EMPHASIS"
|
|
>-S</I
|
|
></SPAN
|
|
> option.</P
|
|
><P
|
|
>There are two ways to do this:</P
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>dpkg<A
|
|
NAME="AEN12377"
|
|
></A
|
|
> -S file_name</PRE
|
|
><P
|
|
>or<A
|
|
NAME="AEN12380"
|
|
></A
|
|
>:</P
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>dpkg -S /path/to/file</PRE
|
|
><P
|
|
>You may also like to try (if it's installed, it's generally a lot faster than the <SPAN
|
|
CLASS="emphasis"
|
|
><I
|
|
CLASS="EMPHASIS"
|
|
>dpkg</I
|
|
></SPAN
|
|
> search):</P
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>dlocate<A
|
|
NAME="AEN12386"
|
|
></A
|
|
> -S file_name</PRE
|
|
><P
|
|
>For more information on dpkg and dlocate<A
|
|
NAME="AEN12389"
|
|
></A
|
|
> please refer to the relevant manual pages and online sources of information.</P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT2"
|
|
><H2
|
|
CLASS="SECT2"
|
|
><A
|
|
NAME="FINDING-PACKAGES"
|
|
></A
|
|
>Finding package(s)</H2
|
|
><P
|
|
>Packages<A
|
|
NAME="AEN12394"
|
|
></A
|
|
> can be found via the internet utilizing sites such as:</P
|
|
><P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
><A
|
|
HREF="http://rpmfind.net/linux/rpm"
|
|
TARGET="_top"
|
|
>RPMFind</A
|
|
><A
|
|
NAME="AEN12400"
|
|
></A
|
|
> for <SPAN
|
|
CLASS="ACRONYM"
|
|
>RPM</SPAN
|
|
> based packages.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><A
|
|
HREF="http://www.debian.org/distrib/packages"
|
|
TARGET="_top"
|
|
>Debian Package List</A
|
|
><A
|
|
NAME="AEN12406"
|
|
></A
|
|
>for deb<A
|
|
NAME="AEN12408"
|
|
></A
|
|
> packages.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><A
|
|
HREF="http://www.rpmseek.com"
|
|
TARGET="_top"
|
|
>RPMSeek</A
|
|
><A
|
|
NAME="AEN12413"
|
|
></A
|
|
>, this site intends to index Debian packages as well as RPM<A
|
|
NAME="AEN12415"
|
|
></A
|
|
>.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><A
|
|
HREF="http://www.tuxfinder.org"
|
|
TARGET="_top"
|
|
>TuxFinder</A
|
|
><A
|
|
NAME="AEN12420"
|
|
></A
|
|
> where you can search for deb, rpm, tgz, iso and even documentation.</P
|
|
></LI
|
|
></UL
|
|
><P
|
|
>Also try the author's homepage and large sites such as <A
|
|
HREF="http://www.freshmeat.net"
|
|
TARGET="_top"
|
|
>FreshMeat</A
|
|
><A
|
|
NAME="AEN12424"
|
|
></A
|
|
> and <A
|
|
HREF="http://www.sourceforge.net"
|
|
TARGET="_top"
|
|
>SourceForge.</A
|
|
><A
|
|
NAME="AEN12427"
|
|
></A
|
|
> </P
|
|
></DIV
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="NAVFOOTER"
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"><TABLE
|
|
SUMMARY="Footer navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="x11655.htm"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="book1.htm"
|
|
ACCESSKEY="H"
|
|
>Home</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="x12429.htm"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
>Wildcards</TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
> </TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Further Reading</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |