⑴ linux打包Python文件为RPM格式
花费了将近一周的时间,才把rpm打包弄好.不能说已经了然于胸,但至少踩过了很多坑.接下来就顺顺在打包过程中的二三事.刚开始接到任务的时候,一脸懵逼.
作为专业的 JAVA Web 程序员,确定要让我干这么跨界的事情吗?之前自己虽然也安装过其他的rpm包,但我保证,我只是看说明书,跟着一路弄下来的.并且之后对它可是有多远躲多远的.不过考虑到自己的title,我知道那不应该是我关心的事情.那么问题来了,什么是rpm呢?
看到了rpm是什么,我们就来了解一下RPM相关的命令
本来准备直接 rpm -help 让大家看看相关参数的,但是考虑到内容太多,感兴趣的 自行点击 .这里放几个常用的命令.
至此,基本的rpm基础已经了解到了.那么关键的问题来了,如何制作RPM
把制作RPM,道上传闻有多种方式,我自己测过的有两种
注意:无论上述那种都需要 setup.py 及 setup.cfg 文件,描述相关的软件信息.
我自己使用的是第二种rpmbuild,
至此就可以欢快的进行打包了.执行
以上命令运行成功后会在当前用户目录下生成rpmbuild目录,该目录会包含以下子目录
--BUILD #编译之前,如解压包后存放的路径 --BUILDROOT #编译后存放的路径 --RPMS #打包完成后rpm包存放的路径 --SOURCES #源包所放置的路径 --SPECS #spec文档放置的路径 --SPRMS #源码rpm包放置的路径
安装成功后,即可直接执行相关命令了.
rpmbuild
⑵ 如何编译内核及制作RPM包
前言
要编译自内核能各种同答案列举:
1 研究习内核源码
2 支持新硬件或者打某项内核功能
3 升级内核更新版本
4 按自要求定制优化内核功能
种种...
折腾需要理由我说面直接进入主题
编译式
编译内核种式kernel.org载选择载需要版本内核源码
:linux-2.6.32-rc1.tar.bz2载内核源码/home/user/目录进入载目录解压压缩包
#cd /home/user/
#tar -xjvf linux-2.6.32-rc1.tar.bz2
二 准备编译环境
始前首先确认面软件包已经安装(编译标普华4.0直接全部安装CD3保证条件)
* rpmdevtools
* yum-utils
fedora系统使用命令安装:
#yum install yum-utils rpmdevtools
1. rpmbuild命令工作所需目录树面命令完该操作手建立目录树
命令建立:
#rpmdev-setuptree
命令/usr/src/rpmbuild/目录目录结构(位置没则能前用户目录).
# tree /usr/src/rpmbuild/
rpmbuild/
|-- BUILD
|-- RPMS
|-- SOURCES
|-- SPECS
`-- SRPMS
面部rpmbuild环境建立rpm
3. 安装内核源码包需要依赖组件(跳步操作)
su -c 'yum-builddep kernel-.src.rpm'
4.安装内核源码系统默认目录/usr/src/neoshine:
rpm -Uvh kernel-.src.rpm
三 配置内核(config配置文件)
面介绍何解源码包并修改配置重新打包源码
1. 解源码包并打所补丁BUILD目录
cd ~/rpmbuild/SPECS
rpmbuild -bp --target=`uname -m` kernel.spec
kernel源码找:
/usr/src/neoshine/rpmbuild/BUILD/kernel-/linux-. directory
配置内核源码
1. 进入内核源码:
cd ~/rpmbuild/BUILD/kernel-2.6.$ver/linux-2.6.$ver.$arch/
2. 复制/boot/config*配置文件源码目录,config文件已经配或者其备份kernel配置文件:
cp /boot/config2.6- 2.6.$ver.$arch .config
3. 先检查kernel配置新增选项:
make oldconfig
4. 定制内核功能关闭initrd支持选项执行图形化内核配置工具:
make menuconfig
注:generic setup选项找initial RAM system and RAM disk(initramfs and initrd) support 项取消编译同确保跟文件系统应驱系统所存储器应驱都已经编译内核(否则启系统).
5. .config文件第行改面内容(注意:没行面编译报错)
# i386
6. 拷贝.configSOURCES/:
cp .config ../SOURCES/config-$arch
四 编译新内核
1. 面始准备编译新内核包
打SPEC/kernel.spec
vim SPEC/kernel.spec
改变面行内容定制自内核扩展名(fc10类):
%define buildid .
步新内核rpm包程需要编译内核源码包
使用面命令新内核源码包
rpmbuild -bb --with baseonly --without debuginfo --target=`uname -m` kernel.spec
参数说明:bb表示编译二进制包即源码包without debuginfo 表示没调试信息
target=`uname -r`表示应前平台内核包
面命令功执行完BUILD/i686目录新内核安装包
五 安装新内核
rpm -ivh kernel-$ver-$arch.rpm
步操作自安装内核boot目录安装应内核模块/lib/moles/目录并且新内核应grub引导菜单
修改grub引导菜单格式
title new kernel
kernel /boot/vmlinuz-$ver-$arch root=/dev/sdax(hdax)
注意处要使用uuid指定跟文件系统(能挂载根区导致内核死机)要再加显示相关参数(内核支持应设置看黑黑屏幕)
至禁用initrd新内核配置安装完毕
⑶ 如何从Linux源码创建RPM或DEB包
在Linux系统操作中,因为某些原因而想要直接从源码创建安装的软件包,下面就如何在Linux系统下从源码创建RPM或DEB包,以便将来可以更容易的卸载程序。
如果已经从它的源码运行“make install”安装了linux程序。想完整移除它将变得真的很麻烦,除非程序的开发者在Makefile里提供了uninstall的目标设置。否则必须在安装前后比较系统里文件的完整列表,然后手工移除所有在安装过程中加入的文件。
这时候Checkinstall就可以派上使用。Checkinstall会跟踪install命令行所创建或修改的所有文件的路径(例如:“make install”、“make install_moles”等)并建立一个标准的二进制包,让能用发行版的标准包管理系统安装或卸载它,(例如Red Hat的yum或者Debian的apt-get命令)。已知它在 Slackware、SuSe、Mandrake 和 Gentoo 上也工作很好,请参考其官方文档。
在这只集中在红帽子和Debian为基础的发行版,并展示怎样从源码使用Checkinstall创建一个RPM和DEB软件包
在linux上安装Checkinstall
在Debian及其衍生发行版上安装Checkinstall:
# aptitude install checkinstall
在红帽子的发行版上安装Checkinstall,你需要下载一个已经打包好的Checkinstall rpm包(例如:从 http://rpm.pbone.net/找到),不过它已经从Repoforge库里删除了。这个包是针对Cent OS6的,不过也可在Cent OS7里工作。
# wget
ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/ikoinoba/CentOS_CentOS-6/x86_64/checkinstall-1.6.2-3.el6.1.x86_64.rpm# yum install checkinstall-1.6.2-3.el6.1.x86_64.rpm
一旦checkinstall安装好,你就可以用下列格式创建一个特定的软件包
# checkinstall 《install-command》
如果没有参数,默认安装命令“make install”将被使用
用Checkinstall创建一个RPM或DEB包
在这个例子里,我们将创建一个htop包,这是一个linux交互式文本模式进程查看器(类似 top)。
首先,让我们从项目的官方网站下载源代码,作为一个好的习惯,我们存储源码包到/usr/local/src下,并解压它。
# cd /usr/local/src# wget http://hisham.hm/htop/releases/1.0.3/htop-1.0.3.tar.gz# tar xzf htop-1.0.3.tar.gz# cd htop-1.0.3
让我们看看htop的安装命令是什么,以便我们能用Checkinstall命令调用它,如下面所示,htop用“make install”命令安装。
# 。/configure# make install
因此,要创建一个htop安装包,我们可以不带任何参数的调用checkinstall,这将使用“make install”命令创建一个包。在这个过程中, checkinstall命令会问你几个问题。
简而言之,如下命令会创建一个htop包:
# 。/configure# checkinstall
“Should I create a default set of package docs?(我会创建一个默认设置的包文件?)”,回答“Y”:
此可以输入一个包的简短描述,然后按两次回车:
输入一个数字以修改下面的任何值或ENTER继续:
上面就来Linux系统下使用checkinstall从源码创建RPM或DEB包的方法。
⑷ Linux系统下用什么工具做安装包
【享】linux安装程序
初者都知道何linux安装程序面简单说
Linux系统安装软件见两种:
种软件源代码您需要自手编译种软件安装包通用gzip压缩tar包(缀名.tar.gz)
另种软件执行程序要安装种软件安装包通RPM包(RedHat Linux Packet ManagerRedHat软件包管理器)缀名.rpm 用RPM格式打包源代码、用gzip压缩执行套装程序要您理解思路两种形式安装包
源代码编译安装
Linux软件源代码发指提供该软件所程序源代码发布形式需要用户自编译执行二进制码并进行安装其优点配置灵随意掉或保留某些功能/模块适应种硬件/操作系统平台及编译环境;缺点难度较般适合初者使用
各软件源代码包般都各软件项目主页提供载例:等
1.*.src.rpm形式源代码软件包
安装:
rpm -rebuild *.src.rpm
cd /usr/src/dist/RPMS
rpm -ivh *.rpm
卸载:
rpm -e packgename
说明:rpm --rebuild *.src.rpm命令源代码编译并/usr/src/dist/RPMS二进制RPM软件包再安装该二进制包即Packgename前所述
2.*.tar.gz/*.tgz/*.bz2形式源代码软件包
tar.gz或tgz或tar.bz2等格式结尾软件包般都源代码式发布软件安装类软件首先需要软件进行解压:
# tar zxvf filename.tar.gz
# tar xvfz filename.tgz
# tar xvf j filename.tar.bz2
解压进入解压目录:
# cd filename/
于类文档见安装步骤:配置、编译安装3步其麻烦配置所软件安装相关配置都步指定:比软件安装位置等
配置:./configure
编译:make
安装:make install
卸载:make uninstall 或手删除
说明:建议解压先阅读说明文件(ReadMeInstall)解安装需求必要需改编译配置些软件包源代码编译安装用make uninstall命令进行卸载提供功能则软件卸载必须手进行由于软件能文件散安装系统目录往往难删除干净应该编译前进行配置指定软件要安装目标路径:./configure --prefix=目录名使用rm -rf 软件目录名命令进行干净彻底卸载与其安装式相比需要用户自编译安装难适合于使用Linux已定经验般推荐初者使用
RPM格式软件包安装
RPMRedHat公司发软件包管理器使用容易RPM形式软件包进行安装、升级、卸载、验证、查询等操作安装简单卸载软件安装处目录文件删除干净推荐初者尽能使用RPM形式软件包软件包往往特定命令规范名字由文件名+版本号+.rpm组字串例apache-3.1.12-i386.rpmapache-devel-3.1.12-i386.rpm软件包名称别apacheapache-devel各支持RPM格式Linux见软件RPM包网站rpmfind.net找
1.安装
命令格式:
rpm-i(or--install) options file1.rpm ... fileN.rpm
参数:
file1.rpm...fileN.rpm指要安装RPM包文件名
详细选项:
-h(or—hash)安装输hash记号;test安装进行测试并实际安装;--percent百比形式输安装进度;--excludedocs安装软件包文档;--includedocs安装文档;--replacepkgs强制重新安装已经安装软件包;--replacefiles替换属于其软件包文件;--force忽略软件包及文档冲突;--noscripts运行预安装安装脚本;--prefix NEWPATH软件包安装由NEWPATH指定路径;--ignorearch校验软件包结构;--ignoreos检查软件包运行操作系统;--nodeps检查依赖性关系;--ftpproxy HOST用HOST作FTP代理;--ftpport PORT指定FTP端口号PORT
通用选项:
-v显示附加信息;-vv显示调试信息;--root DIRECTORY让RPMDIRECTORY指定路径作根目录预安装程序安装程序都安装目录;--rcfile FILELIST设置rpmrc文档FILELIST;--dbpath DIRECTORY设置RPM资料库所路径DIRECTORY
2.删除
命令格式:
rpm -e(or--erase) options pkg1 ... pkgN
参数:
pkg1...pkgN:要删除软件包
详细选项:
--test执行删除测试;--noscripts运行预安装安装脚本程序;--nodeps检查依赖性
通用选项:
-vv显示调试信息;--root DIRECTORY让RPMDIRECTORY指定路径作根目录预安装程序安装程序都安装目录;--rcfile FILELIST设置rpmrc文档FILELIST;--dbpath DIRECTORY设置RPM资料库所路径DIRECTORY
3.升级
命令格式:
rpm -U(or--upgrade) options file1.rpm ... fileN.rpm
参数:
file1.rpm...fileN.rpm指软件包名字
详细选项:
-h(or—hash)安装输hash记号;—oldpackage允许旧版本;--test进行升级测试;--excludedocs安装软件包文件;--includedocs安装文件;--replacepkgs强制重新安装已经安装软件包;--replacefiles替换属于其软件包文件;--force忽略软件包及文件冲突;--percent百比形式输安装进度;--noscripts运行预安装安装脚本;--prefix NEWPATH软件包安装由NEWPATH指定路径;--ignorearch校验软件包结构;--ignoreos检查软件包运行操作系统;--nodeps检查依赖性关系;--ftpproxy HOST用HOST作FTP代理;--ftpport HOST指定FTP端口号HOST
通用选项:
-v显示附加信息;-vv显示调试信息;--root DIRECTORY让RPMDIRECTORY指定路径作根目录预安装程序安装程序都安装目录;--rcfile FILELIST设置rpmrc文件FILELIST ;--dbpath DIRECTORY设置RPM资料库所路径DIRECTORY
4.查询
命令格式:
rpm -q(or--query) options
参数:
pkg1...pkgN:查询已安装软件包
详细选项:
-p PACKAGE_FILE查询软件包文件;-f FILE查询FILE属于哪软件包;-a查询所安装软件包;--whatproVides CAPABILITY查询提供CAPABILITY功能软件包;-g group查询属于group组软件包;--whatrequires CAPABILITY查询所需要CAPABILITY功能软件包
选项:
-i显示软件包概要信息;-l显示软件包文件列表;-c显示配置文件列表;-d显示文件列表;-s显示软件包文档列表并显示每文件状态-;-scripts显示安装、卸载、校验脚本;--queryformat(or--qf)用户指定式显示查询信息;--mp显示每文件所已校验信息;--proVides显示软件包提供功能;--requires(or-R)显示软件包所需功能
通用选项:
-v显示附加信息;-vv显示调试信息;--root DIRECTORY让RPMDIRECTORY指定路径作根目录预安装程序安装程序都安装目录;-rcfile FILELIST设置rpmrc文件FILELIST;--dbpath DIRECTORY设置RPM资料库所路径DIRECTORY
5.校验已安装软件包
命令格式:
rpm -V(or--verify,or-y) options
参数:
pkg1...pkgN要校验软件包名
软件包选项:
-p PACKAGE_FILE校验PACKAGE_FILE所属软件包;-a校验所软件包;-g group校验所属于组group软件包
详细选项:
--noscripts运行校验脚本;--nodeps校验依赖性;--nofiles校验文档属性
通用选项:
-v显示附加信息;-vv显示调试信息;--root PATH让RPMPATH指定路径做根目录预安装程序安装程序都安装目录;--rcfile FILELIST设置rpmrc文件FILELIST;--dbpath DIRECTORY设置RPM资料库所路径DIRECTORY
6.校验软件包文件
语:
rpm -K(or--checksig) options file1.rpm...fileN.rpm
参数:
file1.rpm...fileN.rpm软件包文件名;Checksig--详细选项;--nopgp校验PGP签名
通用选项:
-v显示附加信息;-vv显示调试信息;--rcfile FILELIST设置rpmrc文件FILELIST
7.其RPM选项
--rebuilddb重建RPM资料库;--initdb创建新RPM资料库;--quiet尽能减少输;--help显示帮助文件;--version显示RPM前版本
喜欢字符接口安装或卸载些软件包完全安装基于X-Window图形接口软件包管理程序glint, xrpm图形接口或使用KDEKPackage(单击【始】→【运行命令】其输入KPackage即启KPackage)等软件包安装、升级、卸载、验证查询通单击鼠标轻松完图所示
需要注意每RPM软件包格式软件并定独立各RPM软件包间定依赖关系删除某RPM软件包能导致别软件能使用升级删除应该注意
本载安装linux发现版本都几百兆我觉系统都没款点软件能用或者说用起问题啊我直觉安装包越越
⑸ Linux安装软件的方法哪种好
根据个人以及系统的实际情况而定,一般RPM包的方法比较简单。
软件安装分几种情况:
一、源码安装:
对于本身具有开源血统的Linux系统来说,几乎所兆搭丛有的开源软件都支持在Linux平台运行,而这些软件一般都以源码打包形式分发,源码安装适用于枝族所有Linux分支,只需要系统安装了gcc、make、以及automake和autoconf,源码安装的一般方法如下:
1、cd 源码目录
2、./configure [opts]
3、make
4、make install
其中configure后面的选项一般可以通过./configure --help来查询,根据自己的喜好使用一些选项。这里正确的工作流程是先看源码目录下面的Readme,这里一般会有提示安装方法,那么只需要按照描述照办即可,如果Readme没有提示(事实上很少),如果其中提及到官网,可以到官网去查阅相关安装文档,如果没有,可以google搜索软件的安装方法。
2. rpm包安装
RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,几乎在所有的Linux平台上都支持,已经成为行业标准。这里简单介绍一下包管理器,包管理器提供
对软件的安装、升级、查询以及卸载等,具体差别可以查阅相关文档。rpm包的安装非常简单,只需要输入rpm -i xxx.rpm 即可完成,卸载只需要rpm -e 包名 即可完成,升级通过rpm -U 包名 命令完成(需要机器联网),rpm -q 提供相关查询,这里不详细说明。如果机器没联网,rpm安装安装过程很有可能出现错误,最常见的就是依赖包缺失,把缺失的依赖包安装即可;如果在机器联网的情况下,rpm会自动在互联网搜索相关依赖包并安装。
3. deb包安装
deb是debian及其衍生版本如Ubuntu的安装包,在这两个系统的桌面环境下,可双击包直接安装,在命令行下可以通过dpkg-i xxx.deb完成,通过dpkg -r 包名
完成。很多的Linux分支都提供了apt-get包管理系统来对deb软件包进行支持,apt-get需要机器联网,通过source.list文件提供的源(下载源)去下载相应族樱软件包,通过输入命令apt-get install 软件包名 直接安装软件,输入 apt-get remove 软件包名 卸载对应软件包,这里不赘述命令,apt-get 包管理器实施对依赖包的管理,所以非常方便。在国内可以找一些速度快的源(更改source.list文件),具体方法可以查阅相关文档。
4. yum安装软件包
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的软件包管理器,yum也对依赖关系进行管理,必须在联网条件下进行
(也可以给yum设置代理),使用yum安装软件也是本人最常用的方法,在shell命令行下输入yum install 软件包名 即可完成安装,如果依赖包没安装,会自动安装,卸载通过yum remove 包名 即可完成,与apt-get 类似。
⑹ linux如何安装rpm包
1、点击文件,点击文件这里download目录。或者是rmp包所在的目录下。
⑺ Linux入门系列——软件包管理
RedHat 系统中使用的是: rpm (redhat package manager) 现在称:RPM is Package Manager
Debian : dpt
Ubuntu : apt
在安装软件的时候,有可能出现软件包的相互依赖关系;所以红帽公司推出了:yum(Yellowdog update modifier)
包的组成部分:
主包:
bind-9.7.1-1..e15.i586.rpm
子包:
bind-libs-9.7.1-1..e15.i586.rpm
bind-utils-9.7.1-1..e15.i586.rpm
包名:
PackageName-Version-Release.Arch.rpm
bind-major-minor-releases-release.arch.rpm
包名-主版本号-次版本号-发行号-rpm包的制作者的发行号.硬件平台.rpm
主版本号:重大改进;
次版本号:某个子功雀或能发生重大变化;
发行号:修改BUG,调整了一点功能;
bind-9.7.1-1.noarch.rpm 这里的noarch表示不区分硬件平台,32和64都可以使用;如果是ppc则是在PowerPc上使用的包;
# rpm -ivh /path/to/Package_Name
-i,--install 表示安装
-v 表示显示安装过程的信息
-h 表示以#显示安装的进程,总数为50个;
-vv 显示更详细的过程;
--nodeps 安装的时候忽略依赖关系;
--force 无论之前是否安装过,都强制安装,可以实现重装、降级;
--replacepkgs 重新安装,替换原有的安装;
--oldpackage 对软件包进行降级;
--test Do not install the package, simply check for and report potential conflicts. 不进行安装,只测试看在安装的时候有没有依赖包要装;
rpm -q soft_name
# rpm -q httpd
rpm -qa 查询当前系统中已经安装的rpm软件包;
# rpm -qa |grep ‘ssh*’
rpm -qi soft_name 查询软件包的安装信息:
[root@ns2 rpm]# rpm -qi zlib-devel
Name : zlib-devel Relocations: /usr
Version : 1.2.3 Vendor: CentOS
Release : 4.el5 Build Date: 2011年05月11日 星期三 18时57分15秒
Install Date: 2013年07月21日 星升岁镇期日 17时02分41秒 Build Host: builder10.centos.org
Group : Development/Libraries Source RPM: zlib-1.2.3-4.el5.src.rpm
Size : 269981 License: BSD
Signature : DSA/SHA1, 2011年09月04日 星期日 03时24分25秒, Key ID a8a447dce8562897
URL : http://www.gzip.org/zlib/
Summary : Zlib 开发的头文件和库。
Description :
zlib-devel 软件包包括开发使用 zlib 压缩和解缩库的程序
所需的头文件和库。
[root@ns2 rpm]#
rpm -ql soft_name 查看该软件包在系统中存放了哪些文件;
rpm -qf /path/to/file_name 查看该文件吵粗是由哪个rpm包生成的。
rpm -qc soft_name 查看指定rpm包安装的配置文件的位置;
rpm -qd soft_name 查看指定rpm包安装的帮助文件的位置;
rpm -q --scripts soft_name 查看指定rpm包在安装、卸载、更新的前后,所要执行的shell脚本;
rpm -qp[i|l|d|c|] 即要加上一个“p”选项;
rpm -Uvh /path/to/package_name
如果安装的指定的软件包已经安装过,则进行升级操作,如果没有安装过,则就使用指定的这个软件包进行安装;
rpm -Fvh /path/to/package_name
如果安装过,则升级,否则不进行任何操作;
rpm -Fvh --oldpackage package_name 通常用这个来降级一个rpm包;
rpm -e package_name
--nodeps 强制卸载
rpm -V package_name 也可以使用--verify
通常用来检查安装后的文件是不是被修改过;
加密算法:
对称加密: 加密和解密使用同一个key
非对称加密:有一对密钥(公钥和私钥),公钥大家都可以知道,私钥只有持有人知道;公钥加密私钥解,私钥加密公钥也可以解。不能由公钥摧出私钥,也不能由私钥摧出公钥;私钥还用来做签名,因为只有私钥持有人自己才有;
单向加密:使用这种加密算法加密后,是不可以再还原的。通常用它来做数据完整性的验证,也就是验证数据在传输的过程中有没有被别人修改过。
在红帽的系统中,/etc/pki/rpm-gpg/目录下面存放了红帽公司的gpg-key(相当于公钥),所以只需要把这个gpgkey导入到系统中就可以验证了。导入方法如下:
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
接下来就可以对将要安装的rpm包进行验证了:
# rpm -K /path/to/package_file
dsa,gpg验证来源的合法性,也就是验证签名。但是可以使用--nosignature 来跳过签名验证;
sha1,md5验证软件包的完整性,可以使用--nodigest 来跳过完整性验证;
rpm --rebuilddb 重建数据库
--initdb 初始化数据库
yum install -y pack1 pack2 安装指定的软件包
yum remove pack1 pack2 -y 删除指定的软件包
yum update pack1 pack2 更新指定的软件包
yum list installed 列出所有已经安装的软件包
yum update 更新源
yum search string 搜索包含string的软件包
yum install package_name 获取软件包信息
# tar zxf nginx-1.4.7.tar.gz -C /usr/src
# configure --prefix=/usr/local/nginx --conf-path=/etc
# make
# make install
由于使用的是源码包安装在非正常路径下。所以还要做以下的调整:
修改/etc/profile文件。或是在/etc/profile.d/下创建一个以.sh结尾的文件;再把二进制程序的路径export出来就行了;
在/etc/ld.so.conf.d/中创建一个以.conf文件结尾的文件,而后把要增添的路径直接写入此文件中就行了;
这样系统就会在下次启动的时候,自动加载这些新增加的库;如果想让系统马上可以找到这些新增加的库,就必须执行下面的命令:
# ldconfig 通知系统重新搜索库文件,还可以加上-v选项,表示显示过程;
默认的头文件搜索路径是:/usr/include/
要添加新的头文件搜索路径,可以使用链接的方式:
ln -s /usr/local/nginx/include/* /usr/include/
或
ln -s /usr/local/nginx/include /usr/include/nginx
这时可以修改/etc/man.conf文件,在里面添加以下内容:
MANPATH /usr/local/nginx/man
还有一种方式就是临时使用:
# man -M /usr/local/nginx/man nginx 这样就可以查看nginx的man手册了;
⑻ Linux 下如何安装软件
一、解析Linux应用软件安装包
通常Linux应用软件的安装包有三种:
1) tar包,如software-1.2.3-1.tar.gz。它是使用UNIX系统的打包工具tar打包的。
2) rpm包,如software-1.2.3-1.i386.rpm。它是Redhat Linux提供的一种包封装格式。
3) dpkg包,如software-1.2.3-1.deb。它是Den Linux提供的一种包封装格式。
而且,大多数Linux应用软件包的命名也有一定的规律,它遵循:
名称-版本-修正版-类型
例如:
1)software-1.2.3-1.tar.gz 意味着:
软件名称:software
版本号:1.2.3
修正版本:1
类型:tar.gz,说明是一个tar包。
2)sfotware-1.2.3-1.i386.rpm
软件名称:software
版本号:1.2.3
修正版本:1
可用平台:i386,适用于Intel 80x86平台。
类型:rpm,说明是一个rpm包。
注:由于rpm格式的通常是已编译的程序,所以需指明平台。在后面会详细说明。
而software-1.2.3-1.deb就不用再说了吧!大家自己练习一下。
二、了解包里的内容
一个Linux应用程序的软件包中可以包含两种不同的内容:
1)一种就是可执行文件,也就是解开包后就可以直接运行的。在Windows中所 有的软件包都是这种类型。安装完这个程序后,你就可以使用,但你看不到源程序。而且下载时要注意这个软件是否是你所使用的平台,否则将无法正常安装。
2)另一种则是源程序,也就解开包后,你还需要使用编译器将其编译成为可执行文件。这在Windows系统中是几乎没有的,因为Windows的思想是不开放源程序的。
通常,用tar打包的,都是源程序;而用rpm、dpkg打包的则常是可执行程序。一般来说,自己动手编译源程序能够更具灵活性,但也容易遇到各种问题和困难。而相对来说,下载那些可执行程序包,反而是更容易完成软件的安装,当然那样灵活性就差多了。所以一般一个软件总会提供多种打包格式的安装程序的。你可以根据自己的情况来选择。
三、搞定使用tar打包的应用软件
1. 安装:
整个安装过程可以分为以下几步:
1)取得应用软件:通过下载、购买光盘的方法获得;
2)解压缩文件:一般tar包,都会再做一次压缩,如gzip、bz2等,所以你需要先解压。如果是最常见的gz格式,则可以执行:“tar –xvzf 软件包名”,就可以一步完成解压与解包工作。如果不是,则先用解压软件,再执行“tar –xvf 解压后的tar包”进行解包;
3)阅读附带的INSTALL文件、README文件;
4)执行“./configure”命令为编译做好准备;
5)执行“make”命令进行软件编译;
6)执行“make install”完成安装;
7)执行“make clean”删除安装时产生的临时文件。
好了,到此大功告成。我们就可以运行应用程序了。但这时,有的读者就会问,我怎么执行呢?这也是一个Linux特色的问题。其实,一般来说,Linux的应用软件的可执行文件会存放在/usr/local/bin目录下!不过这并不是“放四海皆准”的真理,最可靠的还是看这个软件的INSTALL和README文件,一般都会有说明。
2. 卸载:
通常软件的开发者很少考虑到如何卸载自己的软件,而tar又仅是完成打包的工作,所以并没有提供良好的卸载方法。
那么是不是说就不能够卸载呢!其实也不是,有两个软件能够解决这个问题,那就是Kinstall和Kife,它们是tar包安装、卸载的黄金搭档。它们的使用方法,笔者会另行文介绍。在此就不加赘述了。
四、搞定使用rpm打包的应用软件
rpm可谓是Redhat公司的一大贡献,它使Linux的软件安装工作变得更加简单容易。
1. 安装:
我只需简单的一句话,就可以说完。执行:
rpm –ivh rpm软件包名
更高级的,请见下表:
rpm参数 参 数 说 明
-i 安装软件
-t 测试安装,不是真的安装
-p 显示安装进度
-f 忽略任何错误
-U 升级安装
-v 检测套件是否正确安装
这些参数可以同时采用。更多的内容可以参考RPM的命令帮助。
2. 卸载:
我同样只需简单的一句话,就可以说完。执行:
rpm –e 软件名
不过要注意的是,后面使用的是软件名,而不是软件包名。例如,要安装software-1.2.3-1.i386.rpm这个包时,应执行:
rpm –ivh software-1.2.3-1.i386.rpm
而当卸载时,则应执行:
rpm –e software。
另外,在Linux中还提供了象GnoRPM、kpackage等图形化的RPM工具,使得整个过程会更加简单。这些软件的具体应用,笔者会另行文介绍。
五、搞定使用deb打包的应用程序
这是Debian Linux提供的一个包管理器,它与RPM十分类似。但由于RPM出现得更早,所以在各种版本的Linux都常见到。而debian的包管理器dpkg则只出现在Debina Linux中,其它Linux版本一般都没有。我们在此就简单地说明一下:
1. 安装
dpkg –i deb软件包名
如:dpkg –i software-1.2.3-1.deb
2. 卸载
dpkg –e 软件名
如:dpkg –e software