ubuntu下安装程序的五种方法

前端之家收集整理的这篇文章主要介绍了ubuntu下安装程序的五种方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


引言

在ubuntu当中,安装应用程序我所知道的有三种方法,分别是apt-get,dpkg安装deb和make install安装源码包三种。下面针对每一种方法各举例来说明。

一、apt-get方法

使用apt-get install来安装应用程序算是最常见的一种安装方法了,比如我要安装build-essential这个软件,使用以下,他会帮我把所有的依赖包都一起安装了。

sudo apt-get install build-essential

执行上述命令以后,我们可以看到一下信息,The following extra packages will be installed:表示所有需要再安装的依赖包。

sudo apt-get install build-essential
[sudo] password for enadmin: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  binutils cpp cpp-4.6 dpkg-dev fakeroot g++ g++-4.6 gcc gcc-4.6
  libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl
  libc-bin libc-dev-bin libc6 libc6-dev libdpkg-perl libgomp1 libmpc2 libmpfr4
  libquadmath0 libstdc++6-4.6-dev linux-libc-dev manpages-dev
Suggested packages:
  binutils-doc cpp-doc gcc-4.6-locales debian-keyring g++-multilib
  g++-4.6-multilib gcc-4.6-doc libstdc++6-4.6-dbg gcc-multilib autoconf
  automake1.9 libtool flex bison gdb gcc-doc gcc-4.6-multilib
  libmudflap0-4.6-dev libgcc1-dbg libgomp1-dbg libquadmath0-dbg
  libmudflap0-dbg binutils-gold glibc-doc libstdc++6-4.6-doc
The following NEW packages will be installed:
  binutils build-essential cpp cpp-4.6 dpkg-dev fakeroot g++ g++-4.6 gcc
  gcc-4.6 libalgorithm-diff-perl libalgorithm-diff-xs-perl
  libalgorithm-merge-perl libc-dev-bin libc6-dev libdpkg-perl libgomp1 libmpc2
  libmpfr4 libquadmath0 libstdc++6-4.6-dev linux-libc-dev manpages-dev
The following packages will be upgraded:
  libc-bin libc6
2 upgraded,23 newly installed,0 to remove and 101 not upgraded.
Need to get 36.3 MB of archives.
After this operation,83.6 MB of additional disk space will be used.
Do you want to continue [Y/n]? y


下面给出apt-get的的各种参数:

apt-get install xxx 安装xxx 。如果带有参数,那么-d 表示仅下载 ,-f 表示强制安装
apt-get remove xxx 卸载xxx
apt-get update 更新软件信息数据库
apt-get upgrade 进行系统升级
apt-cache search 搜索软件包
Tips:建议您经常使用“apt-get update”命令来更新您的软件信息数据库

apt-get理论上是要求能够联网,但是如果制作了本地源,就不需要联网,制作本地源可以参考:ubuntu制作本地源

二、dpkg安装deb包

Ubuntu软件包格式为deb,安装方法如下:

sudo dpkg -i package.deb

dpkg的详细使用方法,网上有很多,下面简单列了几个:

dpkg -i package.deb 安装包
dpkg -r package 删除
dpkg -P package 删除包(包括配置文件
dpkg -L package 列出与该包关联的文件
dpkg -l package 显示该包的版本
dpkg –unpack package.deb 解开 deb 包的内容
dpkg -S keyword 搜索所属的包内容
dpkg -l 列出当前已安装的包
dpkg -c package.deb 列出 deb 包的内容
dpkg –configure package 配置包

根据Ubuntu中文论坛上介绍,使用apt-get方法安装的软件,所有下载的deb包都缓存到了/var/cache/apt/archives目录下了,所以可以把常用的deb包备份出来,甚至做成ISO工具包、刻盘,以后安装Ubuntu时就可以在没有网络环境的情况下进行了。下面的命令是拷贝archives这个目录到/var/cache/apt/目录下,替换原有的archives

enadmin@ubuntu-server:~/ftp$ sudo cp -r archives/ /var/cache/apt/


三、make install源代码安装


如果要使用make安装的话,那么必须得安装build-essential这个依赖包,安装方法已经在前面说过了。在安装完毕以后,我们就可以进行源码安装。源码安装大致可以分为三步骤:(./configure)–> 编译(sudo make) –> 安装(sudo make install)。
  1. 配置:这是编译源代码的第一步,通过./configure命令完成。执行此步以便为编译源代码作准备。常用的选项有--prefix=PREFIX,用以指定程序的安装位置。更多的选项可通过--help 查询。也有某些程序无需执行此步。
  2. 编译:一旦配置通过,可即刻使用make指令来执行源代码的编译过程。视软件的具体情况而定,编译所需的时间也各有差异,我们所要做的就是耐心等候和静观其变。此步虽然仅下简单的指令,但有时候所遇到的问题却十分复杂。较常碰到的情形是程序编译到中途却无法圆满结束。此时,需要根据出错提示分析以便找到应对之策。
  3. 安装:如果编译没有问题,那么执行sudo make install就可以将程序安装到系统中了。
下面以安装nagios为例进行说明。

//1.解压缩
tar -zxf nagios-4.0.2.tar.gz  
//2.进入目录
cd nagios-4.0.2
//3.配置
./configure --prefix=/usr/local/nagios     
//4.编译
make all
//5.安装
make install && make install-init && make install-commandmode && make install-config


四、通过现成的install.sh 安装文件 直接安装

发现下载到源码很多都没有 configure文件,按照方式三步骤,当执行 ./configure 命令时,提示如下:


此时,查看解压后到安装包目录,发现直接已经有了 安装文件 install.sh 文件


执行安装命令: sudo ./install*.sh



发生报错:



Linux – git: command not found 错误解决:

出错原因

服务器没有安装GIT,所以导致出错。

解决方法

Centos下使用:

1

yuminstallgit@H_191_301@@H_191_301@-y

或者

1

yuminstall@H_191_301@@H_191_301@-y@H_191_301@git

两个代码都是一样的,随意的使用一个即可。

Ubuntu/Debian下使用

1

apt@H_191_301@-getinstallgit@H_191_301@@H_191_301@-y

即可解决问题。




执行 sudo apt-get install git -y 命令后,

git安装成功,


再次运行 sudo ./install_libxx.sh 命令,进行Meta安装,运行记录如下,没有报错,应该是安装成功了。


fanchang@fanchang-System-Product-Name:~/Downloads/Meta-master$ sudo ./install_libcxx.sh [sudo] password for fanchang: --2016-11-18 14:14:16-- http://www.cmake.org/files/v3.5/cmake-3.5.0-Linux-x86_64.tar.gz Resolving www.cmake.org (www.cmake.org)... 66.194.253.19 Connecting to www.cmake.org (www.cmake.org)|66.194.253.19|:80... connected. HTTP request sent,awaiting response... 301 Moved Permanently Location: http://cmake.org/files/v3.5/cmake-3.5.0-Linux-x86_64.tar.gz [following] --2016-11-18 14:14:17-- http://cmake.org/files/v3.5/cmake-3.5.0-Linux-x86_64.tar.gz Resolving cmake.org (cmake.org)... 66.194.253.19 Connecting to cmake.org (cmake.org)|66.194.253.19|:80... connected. HTTP request sent,awaiting response... 301 Moved Permanently Location: https://cmake.org/files/v3.5/cmake-3.5.0-Linux-x86_64.tar.gz [following] --2016-11-18 14:14:18-- https://cmake.org/files/v3.5/cmake-3.5.0-Linux-x86_64.tar.gz Connecting to cmake.org (cmake.org)|66.194.253.19|:443... connected. HTTP request sent,awaiting response... 200 OK Length: 28435347 (27M) [application/x-gzip] Saving to: ‘cmake-3.5.0-Linux-x86_64.tar.gz.1’ 100%[============================================================>] 28,435,347 183KB/s in 60s 2016-11-18 14:15:19 (462 KB/s) - ‘cmake-3.5.0-Linux-x86_64.tar.gz.1’ saved [28435347/28435347] mkdir: cannot create directory ‘cmake’: File exists Cloning into 'libcxx'... remote: Counting objects: 7240,done. remote: Compressing objects: 100% (5023/5023),done. remote: Total 7240 (delta 3469),reused 3588 (delta 1926),pack-reused 0 Receiving objects: 100% (7240/7240),3.09 MiB | 919.00 KiB/s,done. Resolving deltas: 100% (3469/3469),done. Checking connectivity... done. -- The CXX compiler identification is GNU 4.8.4 -- The C compiler identification is GNU 4.8.4 -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Configuring for standalone build. CMake Warning at CMakeLists.txt:36 (message): UNSUPPORTED LIBCXX CONFIGURATION DETECTED: llvm-config not found and LLVM_PATH not defined. Reconfigure with -DLLVM_CONFIG_PATH=path/to/llvm-config or -DLLVM_PATH=path/to/llvm-source-root. -- Looking for fopen in c -- Looking for fopen in c - found -- Looking for __gcc_personality_v0 in gcc_s -- Looking for __gcc_personality_v0 in gcc_s - found -- Performing Test LIBCXX_SUPPORTS_NODEFAULTLIBS_FLAG -- Performing Test LIBCXX_SUPPORTS_NODEFAULTLIBS_FLAG - Success -- Performing Test LIBCXX_HAVE_CXX_ATOMICS_WITHOUT_LIB -- Performing Test LIBCXX_HAVE_CXX_ATOMICS_WITHOUT_LIB - Success -- Looking for __atomic_fetch_add_8 in atomic -- Looking for __atomic_fetch_add_8 in atomic - found -- Performing Test LIBCXX_HAS_WX_FLAG -- Performing Test LIBCXX_HAS_WX_FLAG - Failed -- Performing Test LIBCXX_HAS_NO_WX_FLAG -- Performing Test LIBCXX_HAS_NO_WX_FLAG - Failed -- Performing Test LIBCXX_HAS_EHSC_FLAG -- Performing Test LIBCXX_HAS_EHSC_FLAG - Failed -- Performing Test LIBCXX_HAS_NO_EHS_FLAG -- Performing Test LIBCXX_HAS_NO_EHS_FLAG - Failed -- Performing Test LIBCXX_HAS_NO_EHA_FLAG -- Performing Test LIBCXX_HAS_NO_EHA_FLAG - Failed -- Performing Test LIBCXX_HAS_NO_GR_FLAG -- Performing Test LIBCXX_HAS_NO_GR_FLAG - Failed -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Looking for ccos in m -- Looking for ccos in m - found -- Looking for clock_gettime in rt -- Looking for clock_gettime in rt - found CMake Warning at cmake/Modules/HandleLibCXXABI.cmake:57 (message): Failed to find cxxabi.h Call Stack (most recent call first): cmake/Modules/HandleLibCXXABI.cmake:79 (setup_abi_lib) CMakeLists.txt:338 (include) CMake Warning at cmake/Modules/HandleLibCXXABI.cmake:57 (message): Failed to find bits/c++config.h Call Stack (most recent call first): cmake/Modules/HandleLibCXXABI.cmake:79 (setup_abi_lib) CMakeLists.txt:338 (include) CMake Warning at cmake/Modules/HandleLibCXXABI.cmake:57 (message): Failed to find bits/os_defines.h Call Stack (most recent call first): cmake/Modules/HandleLibCXXABI.cmake:79 (setup_abi_lib) CMakeLists.txt:338 (include) CMake Warning at cmake/Modules/HandleLibCXXABI.cmake:57 (message): Failed to find bits/cpu_defines.h Call Stack (most recent call first): cmake/Modules/HandleLibCXXABI.cmake:79 (setup_abi_lib) CMakeLists.txt:338 (include) CMake Warning at cmake/Modules/HandleLibCXXABI.cmake:57 (message): Failed to find bits/cxxabi_tweaks.h Call Stack (most recent call first): cmake/Modules/HandleLibCXXABI.cmake:79 (setup_abi_lib) CMakeLists.txt:338 (include) CMake Warning at cmake/Modules/HandleLibCXXABI.cmake:57 (message): Failed to find bits/cxxabi_forced.h Call Stack (most recent call first): cmake/Modules/HandleLibCXXABI.cmake:79 (setup_abi_lib) CMakeLists.txt:338 (include) -- Performing Test LIBCXX_SUPPORTS_STD_EQ_CXX11_FLAG -- Performing Test LIBCXX_SUPPORTS_STD_EQ_CXX11_FLAG - Success -- Performing Test LIBCXX_SUPPORTS_NOSTDINCXX_FLAG -- Performing Test LIBCXX_SUPPORTS_NOSTDINCXX_FLAG - Success -- Performing Test LIBCXX_SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG -- Performing Test LIBCXX_SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG - Success -- Performing Test LIBCXX_SUPPORTS_WALL_FLAG -- Performing Test LIBCXX_SUPPORTS_WALL_FLAG - Success -- Performing Test LIBCXX_SUPPORTS_WEXTRA_FLAG -- Performing Test LIBCXX_SUPPORTS_WEXTRA_FLAG - Success -- Performing Test LIBCXX_SUPPORTS_W_FLAG -- Performing Test LIBCXX_SUPPORTS_W_FLAG - Success -- Performing Test LIBCXX_SUPPORTS_WWRITE_STRINGS_FLAG -- Performing Test LIBCXX_SUPPORTS_WWRITE_STRINGS_FLAG - Success -- Performing Test LIBCXX_SUPPORTS_WNO_UNUSED_PARAMETER_FLAG -- Performing Test LIBCXX_SUPPORTS_WNO_UNUSED_PARAMETER_FLAG - Success -- Performing Test LIBCXX_SUPPORTS_WNO_LONG_LONG_FLAG -- Performing Test LIBCXX_SUPPORTS_WNO_LONG_LONG_FLAG - Success -- Performing Test LIBCXX_SUPPORTS_WERROR_EQ_RETURN_TYPE_FLAG -- Performing Test LIBCXX_SUPPORTS_WERROR_EQ_RETURN_TYPE_FLAG - Success -- Performing Test LIBCXX_SUPPORTS_WNO_LITERAL_SUFFIX_FLAG -- Performing Test LIBCXX_SUPPORTS_WNO_LITERAL_SUFFIX_FLAG - Success -- Performing Test LIBCXX_SUPPORTS_WNO_CXX14_COMPAT_FLAG -- Performing Test LIBCXX_SUPPORTS_WNO_CXX14_COMPAT_FLAG - Success -- Performing Test LIBCXX_SUPPORTS_WNO_ERROR_FLAG -- Performing Test LIBCXX_SUPPORTS_WNO_ERROR_FLAG - Success -- Performing Test LIBCXX_SUPPORTS_EHSC_FLAG -- Performing Test LIBCXX_SUPPORTS_EHSC_FLAG - Failed -- Performing Test LIBCXX_SUPPORTS_FPIC_FLAG -- Performing Test LIBCXX_SUPPORTS_FPIC_FLAG - Success -- Performing Test LIBCXX_SUPPORTS_STD_EQ_CXX14_FLAG -- Performing Test LIBCXX_SUPPORTS_STD_EQ_CXX14_FLAG - Failed -- Adding Benchmark: filesystem.bench.cpp -- Adding Benchmark: vector_operations.bench.cpp -- Adding Benchmark: unordered_set_operations.bench.cpp -- Adding Benchmark: util_smartptr.bench.cpp -- Adding Benchmark: algorithms.bench.cpp -- Configuring done -- Generating done -- Build files have been written to: /home/fanchang/Downloads/Meta-master/libcxx/build make: Entering directory `/home/fanchang/Downloads/Meta-master/libcxx/build' make[1]: Entering directory `/home/fanchang/Downloads/Meta-master/libcxx/build' make[2]: Entering directory `/home/fanchang/Downloads/Meta-master/libcxx/build' make[3]: Entering directory `/home/fanchang/Downloads/Meta-master/libcxx/build' Scanning dependencies of target cxx_objects make[3]: Leaving directory `/home/fanchang/Downloads/Meta-master/libcxx/build' make[3]: Entering directory `/home/fanchang/Downloads/Meta-master/libcxx/build' [ 3%] Building CXX object lib/CMakeFiles/cxx_objects.dir/__/src/new.cpp.o [ 6%] Building CXX object lib/CMakeFiles/cxx_objects.dir/__/src/system_error.cpp.o [ 10%] Building CXX object lib/CMakeFiles/cxx_objects.dir/__/src/any.cpp.o [ 13%] Building CXX object lib/CMakeFiles/cxx_objects.dir/__/src/valarray.cpp.o In file included from /home/fanchang/Downloads/Meta-master/libcxx/include/cmath:305:0,from /home/fanchang/Downloads/Meta-master/libcxx/include/valarray:344,from /home/fanchang/Downloads/Meta-master/libcxx/src/valarray.cpp:10: /home/fanchang/Downloads/Meta-master/libcxx/include/math.h: In function ‘float abs(float)’: /home/fanchang/Downloads/Meta-master/libcxx/include/math.h:640:1: warning: ‘float abs(float)’: visibility attribute ignored because it [-Wattributes] abs(float __lcpp_x) _NOEXCEPT {return fabsf(__lcpp_x);} ^ <built-in>:0:0: warning: conflicts with prevIoUs declaration here [-Wattributes] [ 17%] Building CXX object lib/CMakeFiles/cxx_objects.dir/__/src/condition_variable.cpp.o At global scope: cc1plus: warning: unrecognized command line option "-Wno-c++14-compat" [enabled by default] [ 20%] Building CXX object lib/CMakeFiles/cxx_objects.dir/__/src/hash.cpp.o [ 24%] Building CXX object lib/CMakeFiles/cxx_objects.dir/__/src/exception.cpp.o [ 27%] Building CXX object lib/CMakeFiles/cxx_objects.dir/__/src/random.cpp.o In file included from /home/fanchang/Downloads/Meta-master/libcxx/include/cmath:305:0,from /home/fanchang/Downloads/Meta-master/libcxx/include/__hash_table:19,from /home/fanchang/Downloads/Meta-master/libcxx/src/hash.cpp:10: /home/fanchang/Downloads/Meta-master/libcxx/include/math.h: In function ‘float abs(float)’: /home/fanchang/Downloads/Meta-master/libcxx/include/math.h:640:1: warning: ‘float abs(float)’: visibility attribute ignored because it [-Wattributes] abs(float __lcpp_x) _NOEXCEPT {return fabsf(__lcpp_x);} ^ <built-in>:0:0: warning: conflicts with prevIoUs declaration here [-Wattributes] At global scope: cc1plus: warning: unrecognized command line option "-Wno-c++14-compat" [enabled by default] [ 31%] Building CXX object lib/CMakeFiles/cxx_objects.dir/__/src/thread.cpp.o In file included from /home/fanchang/Downloads/Meta-master/libcxx/include/cmath:305:0,from /home/fanchang/Downloads/Meta-master/libcxx/include/random:1638,from /home/fanchang/Downloads/Meta-master/libcxx/src/random.cpp:15: /home/fanchang/Downloads/Meta-master/libcxx/include/math.h: In function ‘float abs(float)’: /home/fanchang/Downloads/Meta-master/libcxx/include/math.h:640:1: warning: ‘float abs(float)’: visibility attribute ignored because it [-Wattributes] abs(float __lcpp_x) _NOEXCEPT {return fabsf(__lcpp_x);} ^ <built-in>:0:0: warning: conflicts with prevIoUs declaration here [-Wattributes] [ 34%] Building CXX object lib/CMakeFiles/cxx_objects.dir/__/src/stdexcept.cpp.o At global scope: cc1plus: warning: unrecognized command line option "-Wno-c++14-compat" [enabled by default] [ 37%] Building CXX object lib/CMakeFiles/cxx_objects.dir/__/src/regex.cpp.o [ 41%] Building CXX object lib/CMakeFiles/cxx_objects.dir/__/src/bind.cpp.o [ 44%] Building CXX object lib/CMakeFiles/cxx_objects.dir/__/src/optional.cpp.o [ 48%] Building CXX object lib/CMakeFiles/cxx_objects.dir/__/src/mutex.cpp.o [ 51%] Building CXX object lib/CMakeFiles/cxx_objects.dir/__/src/strstream.cpp.o [ 55%] Building CXX object lib/CMakeFiles/cxx_objects.dir/__/src/typeinfo.cpp.o [ 58%] Building CXX object lib/CMakeFiles/cxx_objects.dir/__/src/utility.cpp.o [ 62%] Building CXX object lib/CMakeFiles/cxx_objects.dir/__/src/algorithm.cpp.o In file included from /home/fanchang/Downloads/Meta-master/libcxx/include/cmath:305:0,from /home/fanchang/Downloads/Meta-master/libcxx/src/algorithm.cpp:11: /home/fanchang/Downloads/Meta-master/libcxx/include/math.h: In function ‘float abs(float)’: /home/fanchang/Downloads/Meta-master/libcxx/include/math.h:640:1: warning: ‘float abs(float)’: visibility attribute ignored because it [-Wattributes] abs(float __lcpp_x) _NOEXCEPT {return fabsf(__lcpp_x);} ^ <built-in>:0:0: warning: conflicts with prevIoUs declaration here [-Wattributes] [ 65%] Building CXX object lib/CMakeFiles/cxx_objects.dir/__/src/shared_mutex.cpp.o [ 68%] Building CXX object lib/CMakeFiles/cxx_objects.dir/__/src/memory.cpp.o [ 72%] Building CXX object lib/CMakeFiles/cxx_objects.dir/__/src/debug.cpp.o [ 75%] Building CXX object lib/CMakeFiles/cxx_objects.dir/__/src/iostream.cpp.o At global scope: cc1plus: warning: unrecognized command line option "-Wno-c++14-compat" [enabled by default] [ 79%] Building CXX object lib/CMakeFiles/cxx_objects.dir/__/src/chrono.cpp.o [ 82%] Building CXX object lib/CMakeFiles/cxx_objects.dir/__/src/ios.cpp.o [ 86%] Building CXX object lib/CMakeFiles/cxx_objects.dir/__/src/future.cpp.o [ 89%] Building CXX object lib/CMakeFiles/cxx_objects.dir/__/src/string.cpp.o [ 93%] Building CXX object lib/CMakeFiles/cxx_objects.dir/__/src/locale.cpp.o make[3]: Leaving directory `/home/fanchang/Downloads/Meta-master/libcxx/build' [ 93%] Built target cxx_objects make[3]: Entering directory `/home/fanchang/Downloads/Meta-master/libcxx/build' make[3]: Entering directory `/home/fanchang/Downloads/Meta-master/libcxx/build' Scanning dependencies of target cxx_static Scanning dependencies of target cxx_shared make[3]: Leaving directory `/home/fanchang/Downloads/Meta-master/libcxx/build' make[3]: Leaving directory `/home/fanchang/Downloads/Meta-master/libcxx/build' make[3]: Entering directory `/home/fanchang/Downloads/Meta-master/libcxx/build' make[3]: Entering directory `/home/fanchang/Downloads/Meta-master/libcxx/build' [ 96%] Linking CXX shared library libc++.so [100%] Linking CXX static library libc++.a make[3]: Leaving directory `/home/fanchang/Downloads/Meta-master/libcxx/build' [100%] Built target cxx_static make[3]: Leaving directory `/home/fanchang/Downloads/Meta-master/libcxx/build' [100%] Built target cxx_shared make[3]: Entering directory `/home/fanchang/Downloads/Meta-master/libcxx/build' Scanning dependencies of target cxx make[3]: Leaving directory `/home/fanchang/Downloads/Meta-master/libcxx/build' [100%] Built target cxx make[2]: Leaving directory `/home/fanchang/Downloads/Meta-master/libcxx/build' make[1]: Leaving directory `/home/fanchang/Downloads/Meta-master/libcxx/build' make: Leaving directory `/home/fanchang/Downloads/Meta-master/libcxx/build'

猜你在找的Ubuntu相关文章