Linux包管理命令与Ubuntu下安装nginx的方法

本文发布时间: 2019-Mar-22
rpm包和deb包是两种Linux系统下最常见的安装包格式,在安装一些软件或服务的时候免不了要和它们打交道。rpm包主要应用在RedHat系列包括 Fedora等发行版的Linux系统上,deb包主要应用于Debian系列包括现在比较流行的Ubuntu等发行版上。 二者对应的安装命令分别为rpm与dpkg。Ubuntu的软件包格式是deb,如果要安装rpm的包,则要先用alien把rpm转换成deb。alien安装与转换命令:sudo apt-get install alien #安装aliensudo alien xxxx.rpm #将rpm转换位deb,完成后会生成一个同名的xxxx.debsudo dpkg -i xxxx.deb #安装deb包以往在Cent OS下可以使用rpm命令安装、卸载、升级和管理软件或检查是否安装了某个软件非常方便。常用命令:rpm -q:查询系统是否已安装某软件包(-q就是--query)rpm -qpl:列出.rpm软件包文件列表rpm -i:安装指定的软件包到当前linux系统rpm -ivh:安装指定的软件包时显示详细的安装信息rpm -Uvh file.rpm 升级指定的软件包时显示详细的安装信息rpm --force:强制安装软件包,将覆盖属于其他包的同名文件rpm --nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。rpm -e:卸载指定的软件包rpm -U:升级指定的软件包(系统中未安装则进行安装)rpm -a:查询所有已安装的软件包rpm -f:查询包含有某文件的软件包rpm -p:查询软件包文件为package file的软件包rpm -s:显示软件包中文件的状态 states (暗含了 -l)。每个文件的状态是 normal, not installed, 或 replaced 其中之一。rpm -v:输出冗余信息rpm -ql gcc 列出所有已安装的rpm包中的文件列表 (等同于rpmquery -ql gcc或rpm -qa |grep gcc)rpm -qi 查询所安装的rpm包详细信息(information)rpm -qc 列出配置文件(/etc下的文件)rpm -qd 列出帮助文件(man)rpm -qf /bin/ls 查询一个已经安装的文件属于哪个软件包(需要存在已安装文件/bin/ls 才能查到)rpm -qp 根据rpm包查询.rpm 文件,可以接其他参数(如i查详细信息,l查文件列表 等)rpm -qR 列出需要的依赖套件但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时。所以很多情况下我们出于方便,选择使用yum包管理器来进行安装。Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器(例如淘宝镜像、腾讯云、网易镜像等,可自己配置)自动下载RPM包并且安装,可以自动处理软件包的依赖关系,一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。Yum安装适用于RHEL/CentOS系列。YUM安装步骤:1).使用vi命令创建nginx仓库描述信息文件: vi /etc/yum.repos.d/nginx.repo在文件中增加如下内容:[nginx]name=nginx repobaseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/gpgcheck=0enabled=1根据你安装的系统不同,替换OS为你的系统名称,如:“rhel” 或 “centos”,替换OSRELEASE为你的系统版本,如:“5” 或 “6”。2).执行命令: yum install nginx 即可安装。公司大部分服务器用的都是Linux Cent OS,使用rpm和yum比较熟练。但是yum安装只适用于RHEL/CentOS系列。今天遇到一个特殊的需求,网站代码要求部署到CP提供的Ubuntu系统服务器上。所以有必要再说一下deb的安装命令。dpkg是一个Debian的一个命令行工具,它可以用来安装、删除、构建和管理Debian的软件包(.deb文件)。常用命令如下:dpkg -i <.deb file name> 安装软件示例:dpkg -i avg71flm_r28-1_i386.debdpkg -R /usr/local/src 安装一个目录下面所有的软件包dpkg -unpack package_file 释放.deb软件包,但不进行配置,如果和-R一起使用,参数可以是一个目录dpkg -configure package_file 重新配置和释放软件包,如果和-a一起使用,将配置所有没有配置的软件包dpkg -r 删除软件包(保留其配置信息)dpkg -update-avail <Packages-file> 替代软件包的信息dpkg -merge-avail <Packages-file> 合并软件包信息dpkg -A package_file 从软件包里面读取软件的信息dpkg -P 删除一个包(包括配置信息)dpkg -forget-old-unavail 丢失所有的Uninstall的软件包信息dpkg -clear-avail 删除软件包的Avaliable信息dpkg -C 查找只有部分安装的软件包信息dpkg -compare-versions ver1 op ver2 比较同一个包的不同版本之间的差别dpkg -help 显示帮助信息dpkg -licence/license 显示dpkg的Licencedpkg -version 显示dpkg的版本号dpkg -b directory [debfilename] 建立一个deb文件dpkg -c filename 显示一个deb包的文件目录dpkg -I filename [control-file] 显示一个deb的说明dpkg -l package-name-pattern 搜索deb包,如:dpkg -I vimdpkg -L 列出与该包先关联的文件dpkg -l 显示所有已经安装的Deb包,同时显示版本号以及简短说明dpkg -s package-name 报告指定包的状态信息dpkg -L package-Name 显示一个包安装到系统里面的文件目录信息dpkg -S filename-search-pattern 搜索指定包里面的文件(模糊查询)dpkg -p package-name 显示包的具体信息dpkg命令安装会绕过apt包管理数据库直接操作.deb软件包,所以用dpkg安装的软件包用apt再安装时,系统无法识别,将会覆盖之前dpkg方式安装的软件包。dpkg用来安装.deb文件,一般用于安装本地的deb文件,但不会解决模块的依赖关系,且不会关心ubuntu的软件仓库内的软件。apt工具自己会从软件源服务器上下载.deb包,下载完后自动安装。apt可以解决.deb安装包的依赖问题,并会咨询软件仓库, 但不会安装本地的.deb文件, 可以说apt是建立在dpkg之上的软件包管理工具。Apt安装适用于debian系统。apt安装步骤:1.使用vi命令增加nginx仓库描述信息: vi /etc/apt/sources.list在文件中增加如下内容:deb http://nginx.org/packages/debian/ codename nginxdeb-src http://nginx.org/packages/debian/ codename nginx(以上ubuntu更新源source.list可自己更新,参考http://www.cnblogs.com/nexiyi/archive/2013/01/06/2847166.html)如果是debian 6.x系统,替换codename为squeeze如果是ubuntu系统,根据系统版本替换codename为下边的对应值:支持的版本Version Codename10.04 lucid11.10 oneiric12.04 precise12.10 quantal2.执行命令:apt-get update #启用新的更新源apt-get install nginx常用的APT命令参数apt-cache search package 搜索包apt-cache show package 获取包的相关信息,如说明、大小、版本等apt-cache depends package 了解使用依赖apt-cache rdepends package 查看该包被哪些包依赖sudo apt-get install package 安装包,apt会自动下载安装,若有依赖性软件包,apt也会自动下载安装sudo apt-get install package --reinstall 重新安装包sudo apt-get -f install 修复安装"-f = --fix-missing"sudo apt-get remove package 删除包,如有依赖的软件包,则会一并移除sudo apt-get remove package --purge 删除包,包括删除配置文件等sudo apt-get update 更新源(该指令是用来取得记录在 /etc/apt/sources.list 内的远端服务器的软件包清单,在使用apt-get dist-upgrade指令升级软件前,一定要记得先用此指令将软件包清单更新)sudo apt-get upgrade 更新已安装的软件包sudo apt-get dist-upgrade 升级系统sudo apt-get dselect-upgrade 使用 dselect 升级sudo apt-get build-dep package 安装相关的编译环境apt-get source package 下载该包的源代码sudo apt-get clean && sudo apt-get autoclean 清理无用的包(当使用 apt-get install 指令安装后,下载的软件包会放置在 /var/cache/apt/archives,使用apt-get clean指令可将其删除)sudo apt-get check 检查是否有损坏的依赖aptitude与 apt-get 一样,是 Debian 及其衍生系统性能极其强大的包管理工具。基于APT机制, 整合了dselect和apt-get的所有功能,并具有更灵活的特性,特别是在依赖关系的处理上。比如,aptitude在删除一个包时,会同时删除自身所依赖的包,使得系统中不会残留大量无用的软件包。关于aptitude的用法安装软件包dpkg -i package_name.deb #安装本地软件包,不解决依赖关系apt-get install package #在线安装软件包,自动解决依赖关系aptitude install pattern #同上apt-get install package --reinstall #重新安装软件包apitude reinstall package #同上卸载软件包dpkg -r package #卸载软件包apt-get remove package #同上aptitude remove package #同上dpkg -P #卸载软件包及配置文件apt-get remove package --purge #卸载软件包及配置文件apitude purge pattern #同上自动移除软件包apt-get autoremove #删除不再需要的软件包注:aptitude无须命令,卸载时它会自动删除无用的软件包清除下载的软件包apt-get clean #清除 /var/cache/apt/archives 目录aptitude clean #同上apt-get autoclean #清除 /var/cache/apt/archives 目录,不过只清理过时的包aptitude autoclean #同上编译相关 apt-get source package #获取源码apt-get build-dep package #解决编译源码 package 的依赖关系aptitude build-dep pattern #解决编译源码 pattern 的依赖关系平台相关apt-cross --arch ARCH --show package 显示属于 ARCH 构架的 package 软件包信息apt-cross --arch ARCH --get package #下载属于 ARCH 构架的 package 软件包apt-cross --arch ARCH --install package #安装属于 ARCH 构架的 package 软件包apt-cross --arch ARCH --remove package #移除属于 ARCH 构架的 package 软件包apt-cross --arch ARCH --purge package #移除属于 ARCH 构架的 package 软件包apt-cross --arch ARCH --update #升级属于 ARCH 构架的 package 软件包注:慎重考虑要不要用这种方法来安装不同构架的软件包,这样会破坏系统。对于 amd64 的用户可能需要强制安装某些 i386 的包,千万不要把原来 amd64 本身的文件给 replace 了。最好只是安装一些 lib 到 /usr/lib32 目录下。同样地,可以用 apt-file 看某个其它构架的软件包包含哪些文件,或者是文件属于哪个包,不过记得最先要用 apt-file --architecture ARCH update 来升级 apt-file 的数据库,在 search 或 show 时也要指定 ARCH。更新源apt-get update #更新源aptitude update #同上更新系统apt-get upgrade #更新已经安装的软件包,如果依赖性改变(如需要新的依赖包),则保留原安装包,放弃升级。aptitude safe-upgrade #同上apt-get dist-upgrade #升级系统,升级的同时会为了解决依赖性而安装新套件aptitude full-upgrade #同上以上安装方式基本可满足大部用户的需求,若需要更为灵活的安装可选择源码编译方式安装。正式开始前,编译环境需要提前安装好开发库gcc和g++(gcc-c++)。安装方式如下:ububtu平台:apt-get install build-essentialapt-get install libtoolcentos平台:安装make:yum -y install gcc automake autoconf libtool make安装gcc g++:yum install gcc gcc-c++1.确保你的系统已安装好了PCRE库(URL rewrite依赖此),zlib库(gzip压缩依赖此),OpenSSL库(开启HTTPS,数据传输加密、认证)。假如源码的下载目录选定为/usr/local/src,具体的安装命令如下:安装PCRE:cd /usr/local/srcwget http://219.239.26.13/files/31370000064D0A62/jaist.dl.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gztar -zxvf pcre-8.37.tar.gzcd pcre-8.37./configure或者./configure --prefix=/usr/local/pcre --enable-utf8 --enable-unicode-properties --enable-pcregrep-libz --enable-pcregrep-libbz2makemake install安装zlib:cd /usr/local/srcwget http://zlib.net/zlib-1.2.8.tar.gztar -zxvf zlib-1.2.8.tar.gzcd zlib-1.2.8./configuremakemake install安装openSSL:apt-get purge openssl #卸载旧版本OpenSSLrm -rf /etc/ssl #删除配置文件cd /usr/local/srcwget http://www.openssl.org/source/openssl-1.0.1c.tar.gztar -zxvf openssl-1.0.1c.tar.gzcd openssl-1.0.1c/./config --prefix=/usr/local --openssldir=/usr/local/ssl(或./configure)make && make install./config shared --prefix=/usr/local --openssldir=/usr/local/sslmake cleanmake && make install说明:prefix 是安装目录,openssldir 是配置文件目录(解压目录),另外建议安装两次,shared 作用是生成动态连接库。2.下载nginx-*.tar.gz包。解压到你指定的目录,进入解压的目录。3.设定配置参数,指定安装方式,附加模块等信息,具体请参考模块对应的说明文档。下边的命令只指定了安装目录。./configure --prefix = /usr/local/nginx或者:./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-pcre=/usr/local/src/pcre-8.374.编译安装。makemake install若终端未提示错误消息即表明安装成功。


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2024-Mar-04 02:09pm
栏目列表