Date: Tue, 4 Feb 2014 16:18:13 +0000 (UTC) From: Dru Lavigne <dru@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r43763 - head/en_US.ISO8859-1/articles/linux-users Message-ID: <201402041618.s14GIDRv041719@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dru Date: Tue Feb 4 16:18:13 2014 New Revision: 43763 URL: http://svnweb.freebsd.org/changeset/doc/43763 Log: First pass through first half of this article. More commits to follow. Sponsored by: iXsystems Modified: head/en_US.ISO8859-1/articles/linux-users/article.xml Modified: head/en_US.ISO8859-1/articles/linux-users/article.xml ============================================================================== --- head/en_US.ISO8859-1/articles/linux-users/article.xml Tue Feb 4 15:27:04 2014 (r43762) +++ head/en_US.ISO8859-1/articles/linux-users/article.xml Tue Feb 4 16:18:13 2014 (r43763) @@ -29,59 +29,82 @@ <abstract> <para>This document is intended to quickly familiarize intermediate to - advanced &linux; users with the basics of FreeBSD.</para> + advanced &linux; users with the basics of &os;.</para> </abstract> </info> <sect1 xml:id="intro"> <title>Introduction</title> - <para>This document will highlight the differences between &os; and + <para>This document highlights the technical differences between &os; and &linux; so that intermediate to advanced &linux; users can quickly - familiarize themselves with the basics of &os;. This is just a - technical quickstart, it does not attempt to design - <quote>philosophical</quote> differences between the two - operating systems.</para> - - <para>This document assumes that you have already installed &os;. - If you have not installed &os; or need help with the installation - process please refer to the - <link xlink:href="&url.base;/doc/en_US.ISO8859-1/books/handbook/install.html"> - Installing FreeBSD</link> chapter of the &os; Handbook.</para> + familiarize themselves with the basics of &os;.</para> + + <para>This document assumes that &os; is already installed. + Refer to the + <link xlink:href="&url.base;/doc/en_US.ISO8859-1/books/handbook/bsdinstall.html"> + Installing &os;</link> chapter of the &os; Handbook for help with the installation + process.</para> </sect1> <sect1 xml:id="shells"> <title>Shells: No Bash?</title> - <para>Those coming from &linux; are often surprised to find that + <para>&linux; users are often surprised to find that <application>Bash</application> is not the default shell in &os;. In fact, <application>Bash</application> is not even in the default installation. Instead, &os; uses &man.tcsh.1; as the default shell. - Although, <application>Bash</application> and your other favorite - shells are available in &os;'s <link xlink:href="article.html#SOFTWARE">Packages and Ports Collection</link>.</para> + However, <application>Bash</application> and other + shells are available in &os;'s <link xlink:href="&url.base;/doc/en_US.ISO8859-1/books/handbook/ports.html">Packages and Ports Collection</link>.</para> - <para>If you do install other shells you can use &man.chsh.1; to set - a user's default shell. It is, however, recommended that the - <systemitem class="username">root</systemitem>'s default shell remain unchanged. The - reason for this is that shells not included in the base distribution - are normally installed in <filename>/usr/local/bin</filename> or - <filename>/usr/bin</filename>. In the event of a problem the file - systems where <filename>/usr/local/bin</filename> and - <filename>/usr/bin</filename> are located may not be mounted. In this - case <systemitem class="username">root</systemitem> would not have access to its default - shell, preventing <systemitem class="username">root</systemitem> from logging in. For this - reason a second <systemitem class="username">root</systemitem> account, the - <systemitem class="username">toor</systemitem> account, was created for use with non-default - shells. See the security FAQ for information regarding the <link xlink:href="&url.base;/doc/en_US.ISO8859-1/books/faq/security.html#TOOR-ACCOUNT">toor account</link>.</para> + <para>After installing another shell, use &man.chsh.1; to change + a user's default shell. It is recommended that the + <systemitem class="username">root</systemitem> user's default shell remain unchanged since + shells which are not included in the base distribution + are installed to <filename>/usr/local/bin</filename>. + In the event of a problem, the file + system where <filename>/usr/local/bin</filename> is + located may not be mounted. In this + case, <systemitem class="username">root</systemitem> would not have access to its default + shell, preventing <systemitem class="username">root</systemitem> from logging in.</para> </sect1> <sect1 xml:id="software"> - <title>Packages and Ports: Adding software in &os;</title> + <title>Packages and Ports: Adding Software in &os;</title> + + <para>&os; provides + two methods for installing applications: binary packages and compiled ports. + Each method has its own benefits:</para> + + <itemizedlist> + <title>Binary Packages</title> + + <listitem><simpara>Faster installation as compared to compiling large applications.</simpara></listitem> + + <listitem><simpara>Does not require an understanding of how to compile + software.</simpara></listitem> + + <listitem><simpara>No need to install a compiler.</simpara></listitem> + </itemizedlist> + + <itemizedlist> + <title>Ports</title> + + <listitem><simpara>Ability to customize installation options.</simpara></listitem> - <para>In addition to the traditional &unix; method of installing software - (download source, extract, edit source code, and compile), &os; offers - two other methods for installing applications: packages and ports. A - complete list of of all available ports and packages can be found <link xlink:href="http://www.freebsd.org/ports/master-index.html">here</link>.</para> + <listitem><simpara>Custom patches can be applied.</simpara></listitem> + </itemizedlist> + + <para>If an application installation does not require any customization, installing the package + is sufficient. Compile the port instead whenever an application requires + customization of the default options. If needed, + a custom + package can be compiled from ports using <command>make</command> + <buildtarget>package</buildtarget>.</para> + + <para>A complete list of of all available ports and packages + can be found <link + xlink:href="http://www.freebsd.org/ports/master-index.html">here</link>.</para> <sect2 xml:id="packages"> <title>Packages</title> @@ -89,124 +112,50 @@ <para>Packages are pre-compiled applications, the &os; equivalents of <filename>.deb</filename> files on Debian/Ubuntu based systems and <filename>.rpm</filename> files on Red Hat/Fedora based - systems. Packages are installed using &man.pkg.add.1;. For example, + systems. Packages are installed using <application>pkg</application>. For example, the following command installs - <application>Apache 2.2</application>:</para> + <application>Apache 2.4</application>:</para> - <screen>&prompt.root; <userinput>pkg_add /tmp/apache-2.2.6_2.tbz</userinput></screen> + <screen>&prompt.root; <userinput>pkg install apache24</userinput></screen> - <para>Using the <option>-r</option> switch will tell &man.pkg.add.1; - to automatically fetch a package and install it, as well as any - dependencies:</para> - - <screen>&prompt.root; <userinput>pkg_add -r apache22</userinput> -Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.2-release/Latest/apache22.tbz... Done. -Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.2-release/All/expat-2.0.0_1.tbz... Done. -Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.2-release/All/perl-5.8.8_1.tbz... Done. -[snip] - -To run apache www server from startup, add apache22_enable="YES" -in your /etc/rc.conf. Extra options can be found in startup script.</screen> - - <note> - <para>If you are running a release version of &os; (6.2, 6.3, 7.0, - etc., generally installed from CD-ROM) <command>pkg_add -r</command> - will download packages built for that specific release. These - packages <emphasis>may not</emphasis> be the most up-to-date - version of the application. You can use the - <envar>PACKAGESITE</envar> variable to override this default - behavior. For example, set <envar>PACKAGESITE</envar> to - <uri xlink:href="ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6-stable/Latest/">ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6-stable/Latest/</uri> - to download the most recent packages built for the - 6.X series.</para> - </note> - - <para>For more information on packages please refer to section 5.4 of + <para>For more information on packages refer to section 5.4 of the &os; Handbook: <link xlink:href="&url.base;/doc/en_US.ISO8859-1/books/handbook/pkgng-intro.html">Using pkgng for Binary Package Management</link>.</para> </sect2> <sect2 xml:id="ports"> <title>Ports</title> - <para>&os;'s second method for installing applications is the - Ports Collection. The Ports Collection is a framework of + <para>The &os; Ports Collection is a framework of <filename>Makefiles</filename> and patches specifically customized - for installing various software applications from source on &os;. - When installing a port the system will fetch the source code, apply + for installing applications from source on &os;. + When installing a port, the system will fetch the source code, apply any required patches, compile the code, and install the application - (and do the same for any dependencies).</para> + and any required dependencies.</para> - <para>The Ports Collection, sometimes referred to as the ports tree, - can be found in <filename>/usr/ports</filename>. That is assuming - the Ports Collection was installed during the &os; installation - process. If the Ports Collection has not been installed it can be - added from the installation discs using &man.sysinstall.8;, or pulled - from the &os; servers using &man.csup.1; or &man.portsnap.8;. - Detailed instructions for installing the Ports Collection can be - found in <link xlink:href="&url.base;/doc/en_US.ISO8859-1/books/handbook/ports-using.html">section 4.5.1</link> - of the handbook.</para> + <para>The Ports Collection, sometimes referred to as the ports tree, + can be installed to <filename>/usr/ports</filename> using &man.portsnap.8;. + Detailed instructions for installing the Ports Collection can be + found in <link xlink:href="&url.base;/doc/en_US.ISO8859-1/books/handbook/ports-using.html">section 5.5</link> + of the &os; Handbook.</para> - <para>Installing a port is as simple (generally) as changing in to the + <para>To compile a port, change to the port's directory and starting the build process. The following example - installs <application>Apache 2.2</application> from the - Ports Collection:</para> + installs <application>Apache 2.4</application> from the + Ports Collection:</para> - <screen>&prompt.root; <userinput>cd /usr/ports/www/apache22</userinput> + <screen>&prompt.root; <userinput>cd /usr/ports/www/apache24</userinput> &prompt.root; <userinput>make install clean</userinput></screen> - <para>A major benefit of using ports to install software is the - ability to customize the installation options. For example, when - installing <application>Apache 2.2</application> from ports you can - enable <application>mod_ldap</application> by setting the - <varname>WITH_LDAP</varname> &man.make.1; variable:</para> + <para>A benefit of using ports to install software is the + ability to customize the installation options. This example + enables <application>mod_ldap</application> by setting + <varname>WITH_LDAP</varname>:</para> - <screen>&prompt.root; <userinput>cd /usr/ports/www/apache22</userinput> + <screen>&prompt.root; <userinput>cd /usr/ports/www/apache24</userinput> &prompt.root; <userinput>make WITH_LDAP="YES" install clean</userinput></screen> - <para>Please see section 4.5 of the &os; Handbook, <link xlink:href="&url.base;/doc/en_US.ISO8859-1/books/handbook/ports-using.html">Using - the Ports Collection</link>, for more information about the - Ports Collection.</para> - </sect2> - - <sect2 xml:id="which"> - <title>Ports or packages, which one should I use?</title> - - <para>Packages are just pre-compiled ports, so it is really a matter - of installing from source (ports) versus installing from binary - packages. Each method has its own benefits:</para> - - <itemizedlist> - <title>Packages (binary)</title> - - <listitem><simpara>Faster installation (compiling large applications - can take quite a while).</simpara></listitem> - - <listitem><simpara>You do not need to understand how to compile - software.</simpara></listitem> - - <listitem><simpara>No need to install compilers on your - system.</simpara></listitem> - </itemizedlist> - - <itemizedlist> - <title>Ports (source)</title> - - <listitem><simpara>Ability to customize installation options. - (Packages are normally built with standard options. With ports - you can customize various options, such as building additional - modules or changing the default path.)</simpara></listitem> - - <listitem><simpara>You can apply your own patches if you are so - inclined.</simpara></listitem> - </itemizedlist> - - <para>If you do not have any special requirements, packages will - probably suit your situation just fine. If you may ever need to - customize, ports are the way to go. (And remember, if you - need to customize but prefer packages, you can build a custom - package from ports using <command>make</command> - <buildtarget>package</buildtarget> and then copy the package to - other servers.)</para> + <para>Refer to <link xlink:href="&url.base;/doc/en_US.ISO8859-1/books/handbook/ports-using.html">Using + the Ports Collection</link> for more information.</para> </sect2> </sect1>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201402041618.s14GIDRv041719>