佛渡有元人 發表於 2023-7-12 00:00:00

ubuntu下安装程序的三种方法总结(推荐)

<p>
        <span><strong>引言</strong></span></p>
<p>
        在ubuntu当中,安装应用程序我所知道的有三种方法,分别是apt-get,dpkg安装deb和make install安装源码包三种。下面针对每一种方法各举例来说明。</p>
<p>
        <span><strong>apt-get方法</strong></span></p>
<p>
        使用apt-get install来安装应用程序算是最常见的一种安装方法了,比如我要安装build-essential这个软件,使用以下,他会帮我把所有的依赖包都一起安装了。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterxhtml" id="highlighter_487384">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="xhtml plain">sudo apt-get install build-essential</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        执行上述命令以后,我们可以看到一下信息,<span><strong>The following extra packages will be installed:</strong></span>表示所有需要再安装的依赖包。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterxhtml" id="highlighter_773085">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                        <div class="line number13 index12 alt2">
                                                                13</div>
                                                        <div class="line number14 index13 alt1">
                                                                14</div>
                                                        <div class="line number15 index14 alt2">
                                                                15</div>
                                                        <div class="line number16 index15 alt1">
                                                                16</div>
                                                        <div class="line number17 index16 alt2">
                                                                17</div>
                                                        <div class="line number18 index17 alt1">
                                                                18</div>
                                                        <div class="line number19 index18 alt2">
                                                                19</div>
                                                        <div class="line number20 index19 alt1">
                                                                20</div>
                                                        <div class="line number21 index20 alt2">
                                                                21</div>
                                                        <div class="line number22 index21 alt1">
                                                                22</div>
                                                        <div class="line number23 index22 alt2">
                                                                23</div>
                                                        <div class="line number24 index23 alt1">
                                                                24</div>
                                                        <div class="line number25 index24 alt2">
                                                                25</div>
                                                        <div class="line number26 index25 alt1">
                                                                26</div>
                                                        <div class="line number27 index26 alt2">
                                                                27</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="xhtml plain">sudo apt-get install build-essential</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="xhtml plain"> password for enadmin: </code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="xhtml plain">Reading package lists... Done</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="xhtml plain">Building dependency tree </code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="xhtml plain">Reading state information... Done</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="xhtml plain">The following extra packages will be installed:</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="xhtml spaces"> </code><code class="xhtml plain">binutils cpp cpp-4.6 dpkg-dev fakeroot g++ g++-4.6 gcc gcc-4.6</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="xhtml spaces"> </code><code class="xhtml plain">libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="xhtml spaces"> </code><code class="xhtml plain">libc-bin libc-dev-bin libc6 libc6-dev libdpkg-perl libgomp1 libmpc2 libmpfr4</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="xhtml spaces"> </code><code class="xhtml plain">libquadmath0 libstdc++6-4.6-dev linux-libc-dev manpages-dev</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="xhtml plain">Suggested packages:</code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="xhtml spaces"> </code><code class="xhtml plain">binutils-doc cpp-doc gcc-4.6-locales debian-keyring g++-multilib</code>
</div>
                                                                <div class="line number13 index12 alt2">
                                                                        <code class="xhtml spaces"> </code><code class="xhtml plain">g++-4.6-multilib gcc-4.6-doc libstdc++6-4.6-dbg gcc-multilib autoconf</code>
</div>
                                                                <div class="line number14 index13 alt1">
                                                                        <code class="xhtml spaces"> </code><code class="xhtml plain">automake1.9 libtool flex bison gdb gcc-doc gcc-4.6-multilib</code>
</div>
                                                                <div class="line number15 index14 alt2">
                                                                        <code class="xhtml spaces"> </code><code class="xhtml plain">libmudflap0-4.6-dev libgcc1-dbg libgomp1-dbg libquadmath0-dbg</code>
</div>
                                                                <div class="line number16 index15 alt1">
                                                                        <code class="xhtml spaces"> </code><code class="xhtml plain">libmudflap0-dbg binutils-gold glibc-doc libstdc++6-4.6-doc</code>
</div>
                                                                <div class="line number17 index16 alt2">
                                                                        <code class="xhtml plain">The following NEW packages will be installed:</code>
</div>
                                                                <div class="line number18 index17 alt1">
                                                                        <code class="xhtml spaces"> </code><code class="xhtml plain">binutils build-essential cpp cpp-4.6 dpkg-dev fakeroot g++ g++-4.6 gcc</code>
</div>
                                                                <div class="line number19 index18 alt2">
                                                                        <code class="xhtml spaces"> </code><code class="xhtml plain">gcc-4.6 libalgorithm-diff-perl libalgorithm-diff-xs-perl</code>
</div>
                                                                <div class="line number20 index19 alt1">
                                                                        <code class="xhtml spaces"> </code><code class="xhtml plain">libalgorithm-merge-perl libc-dev-bin libc6-dev libdpkg-perl libgomp1 libmpc2</code>
</div>
                                                                <div class="line number21 index20 alt2">
                                                                        <code class="xhtml spaces"> </code><code class="xhtml plain">libmpfr4 libquadmath0 libstdc++6-4.6-dev linux-libc-dev manpages-dev</code>
</div>
                                                                <div class="line number22 index21 alt1">
                                                                        <code class="xhtml plain">The following packages will be upgraded:</code>
</div>
                                                                <div class="line number23 index22 alt2">
                                                                        <code class="xhtml spaces"> </code><code class="xhtml plain">libc-bin libc6</code>
</div>
                                                                <div class="line number24 index23 alt1">
                                                                        <code class="xhtml plain">2 upgraded, 23 newly installed, 0 to remove and 101 not upgraded.</code>
</div>
                                                                <div class="line number25 index24 alt2">
                                                                        <code class="xhtml plain">Need to get 36.3 MB of archives.</code>
</div>
                                                                <div class="line number26 index25 alt1">
                                                                        <code class="xhtml plain">After this operation, 83.6 MB of additional disk space will be used.</code>
</div>
                                                                <div class="line number27 index26 alt2">
                                                                        <code class="xhtml plain">Do you want to continue ? y</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        下面给出apt-get的的各种参数:</p>
<p>
        apt-get install xxx 安装xxx  。如果带有参数,那么-d 表示仅下载 ,-f 表示强制安装 <br>
        apt-get remove xxx 卸载xxx <br>
        apt-get update 更新软件信息数据库 <br>
        apt-get upgrade 进行系统升级 <br>
        apt-cache search 搜索软件包 </p>
<p>
        Tips:建议您经常使用“apt-get update”命令来更新您的软件信息数据库</p>
<p>
        <strong>apt-get理论上是要求能够联网,但是如果制作了本地源,就不需要联网,制作本地源可以参考:ubuntu制作本地源</strong></p>
<p>
        <span><strong>dpkg安装deb包</strong></span></p>
<p>
        Ubuntu软件包格式为deb,安装方法如下:</p>
<p>
        sudo  dpkg  -i  package.deb</p>
<p>
        dpkg的详细使用方法,网上有很多,下面简单列了几个:</p>
<p>
         </p>
<table border="0" cellspacing="0"><tbody>
<tr>
<td>
                                dpkg -i package.deb</td>
                        <td>
                                安装包</td>
                </tr>
<tr>
<td>
                                dpkg -r package</td>
                        <td>
                                删除包</td>
                </tr>
<tr>
<td>
                                dpkg -P package</td>
                        <td>
                                删除包(包括配置文件)</td>
                </tr>
<tr>
<td>
                                dpkg -L package</td>
                        <td>
                                列出与该包关联的文件</td>
                </tr>
<tr>
<td>
                                dpkg -l package</td>
                        <td>
                                显示该包的版本</td>
                </tr>
<tr>
<td>
                                dpkg –unpack package.deb</td>
                        <td>
                                解开 deb 包的内容</td>
                </tr>
<tr>
<td>
                                dpkg -S keyword</td>
                        <td>
                                搜索所属的包内容</td>
                </tr>
<tr>
<td>
                                dpkg -l</td>
                        <td>
                                列出当前已安装的包</td>
                </tr>
<tr>
<td>
                                dpkg -c package.deb</td>
                        <td>
                                列出 deb 包的内容</td>
                </tr>
<tr>
<td>
                                dpkg –configure package</td>
                        <td>
                                配置包</td>
                </tr>
</tbody></table>
<p>
         </p>
<p>
        根据Ubuntu中文论坛上介绍,使用apt-get方法安装的软件,所有下载的deb包都缓存到了/var/cache/apt/archives目录下了,所以可以把常用的deb包备份出来,甚至做成ISO工具包、刻盘,以后安装Ubuntu时就可以在没有网络环境的情况下进行了。下面的命令是拷贝archives这个目录到/var/cache/apt/目录下,替换原有的archives</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterxhtml" id="highlighter_550224">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="xhtml plain">enadmin@ubuntu-server:~/ftp$ sudo cp -r archives/ /var/cache/apt/</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        <span><strong>make install源代码安装</strong></span></p>
<p>
        如果要使用make安装的话,那么必须得安装build-essential这个依赖包,安装方法已经在前面说过了。在安装完毕以后,我们就可以进行源码安装。源码安装大致可以分为三步骤:(./configure)–> 编译(sudo make) –> 安装(sudo make install)。</p>
<p>
        <span><strong>1.配置:</strong></span>这是编译源代码的第一步,通过 ./configure 命令完成。执行此步以便为编译源代码作准备。常用的选项有 --prefix=PREFIX,用以指定程序的安装位置。更多的选项可通过 --help 查询。也有某些程序无需执行此步。</p>
<p>
        <span><strong>2.编译:</strong></span>一旦配置通过,可即刻使用 make 指令来执行源代码的编译过程。视软件的具体情况而定,编译所需的时间也各有差异,我们所要做的就是耐心等候和静观其变。此步虽然仅下简单的指令,但有时候所遇到的问题却十分复杂。较常碰到的情形是程序编译到中途却无法圆满结束。此时,需要根据出错提示分析以便找到应对之策。</p>
<p>
        <span><strong>3.安装:</strong></span>如果编译没有问题,那么执行 sudo make install 就可以将程序安装到系统中了。</p>
<p>
        下面以安装nagios为例进行说明。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterxhtml" id="highlighter_208429">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="xhtml plain">//1.解压缩</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="xhtml plain">tar -zxf nagios-4.0.2.tar.gz </code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="xhtml plain">//2.进入目录</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="xhtml plain">cd nagios-4.0.2</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="xhtml plain">//3.配置</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="xhtml plain">./configure --prefix=/usr/local/nagios </code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="xhtml plain">//4.编译</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="xhtml plain">make all</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="xhtml plain">//5.安装</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="xhtml plain">make install &amp;&amp; make install-init &amp;&amp; make install-commandmode &amp;&amp; make install-config</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        以上就是源代码安装方式。</p>
<p>
        这篇ubuntu下安装程序的三种方法总结(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。</p>
頁: [1]
查看完整版本: ubuntu下安装程序的三种方法总结(推荐)