搜档网
当前位置:搜档网 › Linux下编译安装源码包软件

Linux下编译安装源码包软件

Linux下编译安装源码包软件
Linux下编译安装源码包软件

Linux下编译安装源码包软件

一、什么是源码包软件?顾名思义,源码包就是源代码的可见的软件包,基于Linux和BSD系统的软件最常见;在国内源可见的软件几乎绝迹;大多开源软件都是国外出品;在国内较为出名的开源软件有fcitx;luma;Luma及scim 等;但软件的源代码可见并不等于软件是开源的,我们还要以软件的许可为准;比如有些软件是源码可见的,但他约定用户只能按他约定的内容来修改;比如vbb论坛程序;所以一个软件是否是开源软件,得具备两个条件;一是源代码可见;二是要有宽松的许可证书,比如GPL证书等;在GNU Linux或BSD社区中,开发人员在放出软件的二进制软件包的同时,也会为我们提供源代码软件包;二、源代码有何用?一个软件的如果有源码,是任何人都能看到他是怎么开发而来的,就像一个瓶子,比如瓶子制作的模具是什么;需要什么材料;具体的用途以及瓶子的详细说明书等等。软件的开放源码就是类似,开发者在给我们软件的同时,也会告诉我们软件是怎么开发出来的;只要我们的水平足够的高,所有的代码都在那里,我们就可以修改和定制软件,以适合我们的需要;如果Windows开放源代码,并以GPL发布,一样是有人能造出来N多的Windows发行版;遗憾的是Windows并不是开源系统;所以软件的源代码

的用处无非是以下两点;1、软件根据用户的需要加以定制;2、二次开发;注:要根据软件的许可证书约定为准,开发者许可二次开发才行;三、怎样安装以源码包打包的软件1、源码包的打包格式源代码一般以file.tar.gz file.tar.bz2或file.src.rpm 打包;file.tar.gz和file.tar.bz2格式的解包命令如下;# tar jxvf file.tar.bz2 # tar zxvf

file.tar.gz 至于file.src.rpm 的用法,请参见:《file.src.rpm 使用方法的简介》2、如何编译安装源码包(大多数)1)解开软件包查看帮助文档;我们解开一个包后,进入解压包,一般都能发现README(或reame)和INSTALL( 或install);或doc(或DOC)目录;看名字就知道个差不多;比如我们下载一个比较新的fcitx 的软件包,比如是

fcitx-3.2-050827.tar.bz2 我们在解开这个软件包会会发现

如下的文件;# tar jxvf fcitx-3.2-050827.tar.bz2 #cd fcitx # ls aclocal.m4 config.guess configure debian INSTALL Makefile.in src xpm AUTHORS config.h.in configure.in depcomp install-sh missing THANKS autogen.sh

config.rpath COPYING doc lib mkinstalldirs TODO ChangeLog config.sub data fcitx.spec.in Makefile.am README tools 所以我们就可以看fcitx的INSTALL 和doc目录的安装文档了;里面都告诉我们如何安装;有时安装文档也会在开发者的主页上有详细的说明,及常见问题

的处理等;比如LumaQQ 2)编译安装软件的条件;首先我们在Linux系统中至少得把开发工具安装上,比如

gcc ;perl;python;glibc;gtk;make ;automake 等开发工具或基础包;还要安装一些相应的开发包,一般是文件名包括dev的,比如kernel-devel;还有一些开发库,比如以lib开头的;如果您在编译软件时,有时提示缺少什么东西之类的,大多少的是这些开发工具和开发库等;从光盘中找出安装就是了;有时光盘没有提供,请用google搜索相应的软件包,有时可能也会用到源码包编译安装所依赖的包;有时本来系统中已经安装了所依赖的包,但系统提示找不到应该怎么办?这时需要我们设置一下PKG_CONFIG_PATH的环境变量就行了;#export PKG_CONFIG_PATH=/usr/lib/pkgconfig

或#export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

然后我们再来运行编译的./configure ;make ;make install ,尝试着来吧;以java开发的工具开发的程序,要用到jre

或者jdk ;jdk已经包括jre了,所以如果我们只是要求有一个java程序运行的环境,只需要安装jre就行了;安装好jre,配置一下java的环境变量就可以用了。如果是图形界面的程序,点点鼠标就OK了;用perl 开发的程序,是需要perl 环境的,所以必须得把perl的包安装上,python 也同理;3)编译安装软件的方法;大多以tar.gz 和tar.bz2打包软件,大多是通过./configure ;make ;make install 来安装的;有

的软件是直接make;make install ;我们可以通

过./configure --help 来查看配置软件的功能;大多软件是提供./configure 配置软件的功能的;少数的也没有,如果没有的就不用./configure ;直接make;make install 就行

了;./configure 比较重要的一个参数是--prefix ,用

--prefix 参数,我们可以指定软件安装目录;当我们不需要这个软件时,直接删除软件的目录就行了;比如我们可以指定fcitx 安装到/opt/fcitx 目录中;#./configure

--prefix=/opt/fcitx 如果我们不需要fcitx 时,可以直接删除/opt/fcitx 目录;所以我们举这个例子中,fcitx如果定制安装到/opt/fcitx目录中,完整的安装方法应该是:# tar jxvf fcitx-3.2-050827.tar.bz2 #cd fcitx # ./configure

--prefix=/opt/fcitx # make # make install 调用fcitx ,应该是#/opt/fcitx/bin/fcitx 如果您想要让fcitx 只要执行fcitx ,就能调用,请配置环境变量,或者在/usr/bin 中做一个fcitx 的链接;# ln -s /opt/fcitx/bin/fcitx /usr/bin/fcitx 一般的情况下都有说,但大多软件没有提供源码包的卸载方法;我们可以找到软件的安装点删除。主要看你把它安装在哪了。所以您的PATH可以设置成这样的;export PATH=".:/bin:/usr/bin:/usr/local/bin:/usr/sbin:/usr/X11R6/bin:/s bin:/opt/fcitx/bin" 当然这只是举个例子,fcitx 可以进入桌面自动运行的,请参看官方站上的安装说明;举个例子只

是让大家好理解一点;再举一个例子,比如我想安装mlterm ;并指定安装目录为/opt/mlterm中;#./configure --prefix=/opt/mlterm #make #make install 把源码包安装的软件,都指定安装在/opt目录中,这样不就知道了软件安装在哪里了;也方便卸载; 3.其它类型软件1)基于perl 和python 的程序的安装;一般情况下,用#perl file.pl安装;比如:VMware 的Linux版本的安装;# perl vmware-install.pl 基于python 开发,也得用python file.py 来安装一般软件包都有README和INSTALL 或者DOC 文档,看文档安装;2)有些安装程序是脚本型的调用;要用#sh 文件名比如NVdia驱动的安装就是这样的;# sh NFORCE-Linux-x86-1.0-0306-pkg1.run 当然也能通过chmod 755 NFORCE-Linux-x86-1.0-0306-pkg1.run ,然后./NFORCE-Linux-x86-1.0-0306-pkg1.run 来安装;也有一些是以file.bin 文件# chmod 755 file.bin # ./file.bin 大抵如此。

附录安装软件时最好用各自发行版所提供的系统软件

包管理工具对于Fedora/Redhat 您可以参考如下文章)RPM 基础linuxchinaitlabcom/set/html>《RPM 的介绍和应用》)Fedora 系统管理软件包工具systemconfigpackages方便的添加和移除系统安装盘提供的软件包详情请看linuxchinaitlabcom/set/html> 《Fedora 软

件包管理器systemconfigpackages》)Redhat 系统管理软件包工具新一点的系统应该是redhatconfigpackages 用法和linuxchinaitlabcom/set/html> 《Fedora 软件包管理器systemconfigpackages》一样)apt + synaptic 软件包在线安装移除升级工具用法linuxchinaitlabcom/unix/html>《用apt+synaptic 在线安装或升级Fedora core 软件

包》)yum 软件包在线安装升级移除工具用法linuxchinaitlabcom/set/html>《Fedora/Redhat 在线安装更新软件包yum 篇》)linuxchinaitlabcom/set/html>《filesrcrpm 使用方法的简介》)《如何编译安装源码包软件》目前apt和yum 已经极为成熟了建议我们安装软件时采用apt或者yum 如果安装系统盘提供的软件包可以用systemconfigpackages 或redhatconfigpackages

一、程序的组成部分Linux下程序大都是由以下几部分组成:二进制文件:也就是可以运行的程序文件库文件:就是通常我们见到的lib目录下的文件配置文件:这个不必多说,都知道帮助文档:通常是我们在linux下用man命令查看的命令的文档二、linux下程序的存放目录linux程序的存放目录大致有三个地方:/etc, /bin, /sbin,

/lib :系统启动就需要用到的程序,这些目录不能挂载额外的分区,必须在根文件系统的分区上

/usr/bin,/usr/sbin,/usr/lib:操作系统核心功能,可以单独分区/usr/local/bin,/usr/local/sbin,/usr/local/lib,/usr/local/etc,/usr/local /man:这个用于安装第三方程序,分别对应了二进制文件、库文件、配置文件、帮助文档的目录通常来说我们安装程序就安装在/usr/local目录下三、编译安装源程序1、使用如下命令查看当前是否安装了gcc编译器,没有可以先用yum安装gccgcc --version #查看是否安装gcc

2、解压源码包,例如:tar -xvf nginx-1.7.7.tar.gz #解压源码包

3、进入解压好的源码包:cd nginx-1.7.7 #进入源码包

4、执行configure文件,此文件有两个功能:1、让用户选定编译特性;2、检查编译环境。configure执行后将生成MakeFile文件。例如:./configure

--prefix=/usr/local/nginx --conf-path=/etc/nginx/nginx.conf

其中我们通过--prefix制定了安装路径,通过--conf-path制定了配置文件的具体位置。注意:不是所有的程序的configure 参数都是一样的可以使用./configure --help查看详细参数

说明。如果该程序所依赖的库在当前系统中没有安装,则会导致configure最后报错,遇到这种情况就需要你先安装依赖库。5、执行make命令,编译程序make6、编译成功后就可以安装了,执行如下命令make install到此程序就算安装完成了,但是不要忘了还有后续的配置哦四、配置程序1、修改PATH环境变量,以能够识别

此程序的二进制文件路径;修改/etc/profile文件,在文件中添加export PATH=$PATH:/path/to/somewhere #记得是可执行文件所在的目录,路径中不要包含可执行文件。然后执行:source /etc/profile #是我们的修改生效2、默认情况下,系统搜索库文件的路径/lib, /usr/lib; 要增添额外搜寻路径(注意:有的程序不提供库文件,那就不需要此设置了)在

/etc/ld.so.conf.d/中创建以.conf为后缀名的文件,而后把要增添的路径直接写至此文件中;然后执行如下命令使其生效ldconfig 3、如果程序提供了库文件,也会相应的提供头文件,一般在安装目录的include目录下,系统默认扫描头文件的路径是:/usr/include。我们可以在/usr/include下用链接连接到我们安装程序的头文件。ln -s

/usr/local/nginx/include /usr/include/yourname4、可能程序还提供了帮助文档,一般是安装目录下的man目录,为了我们可以使用man命令查看我们程序的帮助文档,我们需要:在/etc/man.config中添加一条MANPATH,指向我们的文档目录

如何安装Linux内核源代码

如何获取Linux内核源代码 下载Linux内核当然要去官方网站了,网站提供了两种文件下载,一种是完整的Linux 内核,另一种是内核增量补丁,它们都是tar归档压缩包。除非你有特别的原因需要使用旧版本的Linux内核,否则你应该总是升级到最新版本。 使用Git 由Linus领头的内核开发队伍从几年前就开始使用Git版本控制系统管理Linux内核了(参考阅读:什么是Git?),而Git项目本身也是由Linus创建的,它和传统的CVS不一样,Git是分布式的,因此它的用法和工作流程很多开发人员可能会感到很陌生,但我强烈建议使用Git下载和管理Linux内核源代码。 你可以使用下面的Git命令获取Linus内核代码树的最新“推送”版本: $ git clone git://https://www.sodocs.net/doc/fa5972467.html,/pub/scm/linux/kernel/git/torvalds/linux-2.6.git 然后使用下面的命令将你的代码树与Linus的代码树最新状态同步: $ git pull 安装内核源代码 内核包有GNU zip(gzip)和bzip2格式。Bzip2是默认和首选格式,因为它的压缩比通常比gzip更好,bzip2格式的Linux内核包一般采用linux-x.y.z.tar.bz2形式的文件名,这里的x.y.z是内核源代码的具体版本号,下载到源代码包后,解压和抽取就很简单了,如果你下载的是bzip2包,运行: $ tar xvjf linux-x.y.z.tar.bz2 如果你下载的是gzip包,则运行: $ tar xvzf linux-x.y.z.tar.gz 无论执行上面哪一个命令,最后都会将源代码解压和抽取到linux-x.y.z目录下,如果你使用Git下载和管理内核源代码,你不需要下载tar包,只需要运行git clone命令,它就会自动下载和解压。 内核源代码通常都会安装到/usr/src/linux下,但在开发的时候最好不要使用这个源代码树,因为针对你的C库编译的内核版本通常也链接到这里的。 应用补丁

Linux下软件安装详解(精)

Linux下软件安装详解 在Linux系统中,软件安装程序比较纷繁复杂,不过最常见的有两种: 1一种是软件的源代码,您需要自己动手编译它。这种软件安装包通常是用gzip 压缩过的tar包(后缀为.tar.gz。 2另一种是软件的可执行程序,你只要安装它就可以了。这种软件安装包通常被是一个RPM包(Redhat Linux Packet Manager,就是Redhat的包管理器,后缀是.rpm。 当然,也有用rpm格式打包的源代码,用gzip压缩过的可执行程序包。只要您理解了以下的思路,这两种形式的安装包也不在话下了。 下面,我们就分成两个部分来说明软件安装思路: 第一部分:搞定.tar.gz 1.首先,使用tar -xzvf来解开这个包,如: #tar -xzvf apache_1_3_6_tar.gz 这样就会在当前目录中创建了一个新目录(目录名与.tat.gz包的文件名类似,用来存放解压了的内容。如本例中就是apache_1.3.6 2.进入这个目录,再用ls命令查看一下所包含的文件,如: #cd apache_1.3.6 #ls 你观察一下这个目录中包含了以下哪一个文件:configure、Makefile还是Imake。 1如果是configure文件,就执行:

#./configure #make #make install 2如果是Makefile文件,就执行: #make #make install 3如果是 Imake文件,就执行: #xmkmf #make #make install 3.如果没有出现什么错误提示的话,就搞定了。至于软件安装到什么地方,通常会在安装时出现。否则就只能查阅一下README,或者问问我,:- 如果遇到错误提示,也别急,通常是十分简单的问题: 1没有安装C或C++编译器; 确诊方法:执行命令gcc(C++则为g++,提示找不到这个命令。 解决方法:将Linux安装光盘mount上来,然后进入RPMS目录,执行命令: #rpm -ivh gcc* (哈哈,我们用到了第二种安装方式 2没有安装make工具; 确诊方法:执行命令make,提示找不到这个命令。

ubuntu用源码安装软件

在Ubuntu中附带了丰富的软件,这些软件一般使用图形化的自动方式(“添加/删除”或“新立得”)即可轻松安装,但是对于那些刚刚问世的新软件,Ubuntu的源中还未 收录其中,这时我们就需要用到一种更通用的安装方式:通过手工方式从源文件来安装这些 软件。下面就介绍这种手工安装方式的详细步骤。 一、安装编译程序 因为要编译源代码,所以第一步就是安装编译和构建之类的程序。如果你已经安装过了,可以跳过此步。在Ubuntu系统中非常简单,只要执行下面命令就行了: $ sudo apt-get install build-essential 该命令执行后,从源文件安装软件所需的工具,如gcc、make、g++及其他所需软件就 安装好了。 二、下载并编译软件的源代码 当我们下载源文件时,一定要弄清该软件所依赖的库文件和其他程序,并且首先将它们 装好。这些信息,通常都能在该开源项目的主页上查找到。做好这些准备工作后,我们就可 以进行下面的工作了。因为,软件的源代码通常以压缩文件形式发布,所以需要将其解压到 指定目录。命令如下所示: OwnLinux@ubuntu:~$ tar xvzf program.tar.gz OwnLinux@ubuntu:~$ cd program/ 如果你的对tar命令不熟悉请点击这里阅读《tar命令详解》 在Linux下从源文件安装程序时,有一个通用模式,即配置(。/configure)–>编译(make)–>安装(sudo make install)。但是,此前你最好还是阅读源文件中附带的安 装说明,因为对于每个程序,其开发者的指示才是最具权威性的。程序开发者通常将安装说 明存放在名为INSTALL或README.到哪里找这些文件呢?它们在项目主页或源代码主目录中 都能找到。 1.配置 构建应用的第一步就是执行configure脚本,该脚本位于程序源文件的主目录下: OwnLinux@ubuntu:~/program$ ./configure 该脚本将扫描系统,以确保程序所需的所有库文件业已存在,并做好文件路径及其他所 需的设置工作。如果程序所需的库文件不完全,该配置脚本就会退出,并告诉您还需要哪些 库文件或者是哪些版本太旧需要更新。如果遇到这种情况,仅弄到含有该库文件的软件包还 是不够的,同时还要找到具有该库文件所有头文件的开发包,在Ubuntu中,这样的包一般 以-dev作为文件名的结尾。安装好所有需要的库文件后,重新运行配置脚本,直到没有错 误提示为止,这说明需要的库文件已经全部安装妥当了即满足了依赖关系。 2.编译 当配置脚本成功退出后,接下来要做的就是编译代码了。具体操作为在源文件的主目录 中运行make命令: OwnLinux@ubuntu:~/program$ make 这时,您会看到一串编译输出数据迅速从屏幕上滚过,如果正常的话,系统会返回的提 示符状态。然而,如果编译过程中出现错误的话,排错的过程可就不像配置步骤那么简单了。因为,这通常要涉及到源代码的调试,可能源代码有语法错误,或其他错误等等。怎么办? 如果您是编程高手,那就自己调试吧!否则,检查该软件的邮件列表等支持渠道,看看是不 是已知的bug,如果是就看看别人是怎么解决的,不是就提交一份bug报告吧,也许不久就 会有解决办法。 3.安装

linux下编写c源程序并编译运行

姓名:雨田河南大学rjxy 班级:XXXX 实验二Linux基本操作 实验二Linux基本操作 编写c源程序并用编译运行 【需求】 ◆在当前目录下创建新文件t.c,用vi编辑器一段简单代码,代码要求在屏幕上输出 文字“Hello Linux!”; ◆用gcc编译t.c文件,并运行,查看输出结果,若结果错误,请根据提示修改;【系统及软件环境】 操作系统:Virtualbox,Fedora 13 【实验配置文件及命令】 1.配置文件: 2.命令:touch、rpm、gcc、./等

进入Linux操作系统,应用程序-> 系统工具-> 终端,输入命令:su 输入密码切换到root超级用户。 1.在当前目录建立一个新的目录test:$ mkdir test 在test目录下建立文件t.c :$touch t.c 3编辑程序源代码:vi t.c 首先按下键盘的“i”键,字符界面下方出现“insert”提示字符,此时输入以下代码: #include "stdio.h" int main() { printf("Hello Linux!\n"); return 0; } 4 保存退出:先按下“Esc”键,然后按下“shift”和“:”键,界面上出现冒号,然后输入“xq!”或者“x”对代码保存退出。 5 由于系统默认没有安装C语言编译程序,下面进行安装gcc 程序; 此处不再赘述,以下引用实验指导书: 1.gcc的安装 (1)查看gcc是否安装 rpm –q gcc (2)指定安装源 在“系统-分配光驱”里选择“Fedora-13-i386-DVD.iso” (3)查看安装源挂载位置 df命令,可查看到虚拟光驱挂载点 返回结果为:/media/Fedora 13 i386 DVD (4)使用安装源 安装的文件为RPM安装包,所在位置为安装光盘中的“Packages”目录下,可用“cd”命令进入此目录 cd /media/ Fedora 13 i386 DVD/Packages ★由于“Fedora 13 i386 DVD”名字中有空格,若直接输入,则会提示找不到此目录,可用“tab”键自动补全 【方法】cd /media/F)/P() 则可返回如下结果: cd /media/Fedora\ 13\ i386 \DVD\ /Packages (5)查看当前目录下是否有gcc安装包

RedHat Linux如何安装软件

RedHat Linux如何安装软件 先来看看Linux软件扩展名。软件后缀为.rpm最初是Red Hat Linux提供的一种包封装格式,现在许多Linux发行版本都使用;后缀为.tar.gz、tar.Z、tar.bz2或.tgz 是使用Unix系统打包工具tar打包的;后缀为.bin的一般是一些商业软件。通过扩展名可以了解软件格式,进而了解软件安装。 RPM格式软件包的安装 1.简介 几乎所有的Linux发行版本都使用某种形式的软件包管理安装、更新和卸载软件。与直接从源代码安装相比,软件包管理易于安装和卸载;易于更新已安装的软件包;易于保护配置文件;易于跟踪已安装文件。【LINUX公社https://www.sodocs.net/doc/fa5972467.html,】 PM全称是Red Hat Package Manager(Red Hat包管理器)。RPM本质上就是一个包,包含可以立即在特定机器体系结构上安装和运行的Linux软件。 2.安装RPM包软件 #rpm -ivh MYsoftware-1.2 -1.i386.rpm RPM命令主要参数: -i 安装软件。 -t 测试安装,不是真的安装。 -p 显示安装进度。 -f 忽略任何错误。 -U 升级安装。 -v 检测套件是否正确安装。 这些参数可以同时采用。更多的内容可以参考RPM的命令帮助。 3.卸载软件 #rpm -e 软件名 需要说明的是,上面代码中使用的是软件名,而不是软件包名。例如,要卸载software-1.2.-1.i386.rpm这个包时,应执行: #rpm -e software 4.强行卸载RPM包 有时除去一个RPM是不行的,尤其是系统上有别的程序依赖于它的时候。如果执行命令会显示如下错误信息: ## rpm -e xsnow error: removing these packages would break dependencies: /usr/X11R6/bin/xsnow is needed by x-amusements-1.0-1 在这种情况下,可以用--force选项重新安装xsnow: ## rpm -ivh --force xsnow-1.41-1.i386.rpm xsnow 这里推荐使用工具软件Kleandisk,用它可以安全彻底清理掉不再使用的RPM包。 5.安装.src.rpm类型的文件 目前RPM有两种模式,一种是已经过编码的(i386.rpm),一种是未经编码的(src.rpm)。 rpm --rebuild Filename.src.rpm 这时系统会建立一个文件Filenamr.rpm,在/usr/src/redflag/RPMS/子目录下,一般是i386,具体情况和Linux发行版本有关。然后执行下面代码即可:

linux软件安装命令

linux:linux软件安装命令 [root@test /root]# md5sum [-bct] filename [root@test /root]# md5sum [--status|--warn] --check filename 参数说明: -b :使用binary 的读档方式,预设为Windows/DOS 档案型态的读取方式;-c :检验md5sum 档案指纹; -t :以文字型态来读取md5sum 的档案指纹。 范例: [root@test /root]# md5sum grep-2.5.1-7.8.i386.rpm 5a0c3fcfcd4c3f937644b8cd71a0cf89 grep-2.5.1-7.8.i386.rpm # 看!显示的编码是否与上面相同呢?!赶紧测试看看! tar.gz源代码包安装方式 #1. 解压缩,并阅读一下ntp 底下的README 与INSTALL: [root@test root]# cd /usr/local/src [root@test src]# tar -zxvf /root/ntp-4.1.2.tar.gz # 这个步骤会让原始码解开成为/usr/local/src/ntp-4.1.2 这个目录 # 2. 进入原始码所在目录,并且查阅如何安装的技巧: [root@test src]# cd ntp-4.1.2 [root@test ntp-4.1.2]# vi INSTALL ( 或vi README) # 3. 开始设定参数、编译与安装: [root@test ntp-4.1.2]# ./configure --help | more # 上面这个动作可以察看一下可用的参数! [root@test ntp-4.1.2]# ./configure --prefix=/usr/local/ntp \ > --enable-all-clocks --enable-parse-clocks checking for gcc... (cached) gcc checking whether we are using the GNU C compiler... (cached) yes checking whether gcc accepts -g... (cached) yes .....(略).... configure: creating ./config.status config.status: creating Makefile # 一般来说configure 设定参数较重要的就是那个--prefix=/path 了,

如何安装linux源码包

如何安装linux源码包 作者:北南南北 提要:源码包软件的安装、卸载,给新手一点帮助和提示;本文也对类型的软件包的安装也做了一个小小的说明; ++++++++++++++++++++++++++++++++++++++++++++++ 正文: ++++++++++++++++++++++++++++++++++++++++++++++ 一、什么是源码包软件; 顾名思义,源码包就是源代码的可见的软件包,基于Linux和BSD系统的软件最常见;在国内源可 见的软件几乎绝迹;大多开源软件都是国外出品;在国内较为出名的开源软件有 fcitx;lumaqq;Lumaqq及scim等;但软件的源代码可见并不等于软件是开源的,我们还要以软件 的许可为准;比如有些软件是源码可见的,但他约定用户只能按他约定的内容来修改;比如vbb论坛程序;所以一个软件是否是开源软件,得具备两个条件;一是源代码可见;二是要有宽松的许可证书,比如GPL证书等;在GNU Linux或BSD社区中,开发人员在放出软件的二进制软件包的同时,也会为我们提供源代码软件包; 二、源代码有何用? 一个软件的如果有源码,是任何人都能看到他是怎么开发而来的,就像一个瓶子,比如瓶子制作的模具是什么;需要什么材料;具体的用途以及瓶子的详细说明书等等。软件的开放源码就是类似,开发者在给我们软件的同时,也会告诉我们软件是怎么开发出来的;只要我们的水平足够的高,所有的代码都在那里,我们就可以修改和定制软件,以适合我们的需要;如果Windows开放源代码,并以GPL发布,一样是有人能造出来N多的Windows发行版;遗憾的是Windows并不是开源系统; 所以软件的源代码的用处无非是以下两点; 1、软件根据用户的需要加以定制; 2、二次开发;注:要根据软件的许可证书约定为准,开发者许可二次开发才行; 三、怎样安装以源码包打包的软件; 1、源码包的打包格式; 源代码一般以file.tar.gz file.tar.bz2或file.src.rpm打包;file.tar.gz和file.tar.bz2格式的解包命令如下; [root@localhost beinan]#tar jxvf file.tar.bz2 [root@localhost beinan]#tar zxvf file.tar.gz 至于file.src.rpm的用法,请参见:《file.src.rpm使用方法的简介》 2、如何编译安装源码包;(大多数) 1)解开软件包查看帮助文档;

linux安装软件

我在网上下了一些应用软件,但是安装时提示没有查看该文件的工具.是不是linux下不能识别.exe文件,如果可以,请高手赐教如何实现 --------------------------------------------------------------- Linux下软件的安装与卸载 在Windows下安装软件时,只需运行软件的安装程序(setup、install等)或者用zip等解压缩软件解开即可安装,运行反安装程序(uninstall、unware、“卸载”等)就能将软件清除干净,完全图形化的操作界面,简单到只要用鼠标一直点击“下一步”就可以了。而Linux好象就不一样了,很多的初学者都抱怨在Linux下安装和卸载软件非常地困难,没有像使用Windows时那么直观。其实在Linux下安装和卸载软件也非常简单,同样也有安装向导或解压安装的方式,不相同的只不过是除了二进制形式的软件分发外,还有许许多多以源代码形式分发的软件包,下面就来详细地讲一讲这些软件的安装与卸载: 一、二进制分发软件包的安装与卸载 Linux软件的二进制分发是指事先已经编译好二进制形式的软件包的发布形式,其优点是安装使用容易,缺点则是缺乏灵活性,如果该软件包是为特定的硬件/操作系统平台编译的,那它就不能在另外的平台或环境下正确执行。 1、*.rpm形式的二进制软件包 安装:rpm -ivh *.rpm 卸载:rpm -e packgename 说明:RPM(RedHat Packge Manager)是RedHat公司出的软件包管理器,使用它可以很容易地对rpm形式的软件包进行安装、升级、卸载、验证、查询等操作,安装简单,而卸载时也可以将软件安装在多处目录中的文件删除干净,因此推荐初学者尽可能使用rpm形式的软件包。rpm的参数中-i是安装,-v是校验,-h是用散列符显示安装进度,*.rpm是软件包的文件名(这里的*.rpm特指*.src.rpm以外的以rpm为后缀的文件);参数-e是删除软件包,packgename是软件包名,与软件包的文件名有所区别,它往往是文件名中位于版本号前面的字符串,例如apache-3.1.12-i386.rpm和apache-devel-3.1.12-i386.rpm是软件包文件名,它们的软件包名称分别是apache和apache-devel。更多的rpm参数请自行参看手册页:man rpm。 如果你不喜欢在字符界面下安装或卸载这些软件包,完全可以在X-Window下使用图形界面的软件包管理程序,如glint、xrpm这样的图形接口,或者是KDE的kpackge等,这样对软件包的安装、升级、卸载、验证和查询就可以通过点击鼠标来轻松完成。 2、*.tar.gz/*.tgz、*.bz2形式的二进制软件包 安装:tar zxvf *.tar.gz 或tar yxvf *.bz2 卸载:手动删除 说明:*.tar.gz/*.bz2形式的二进制软件包是用tar工具来打包、用gzip/bzip2压缩的,安装时直接解包即可。对于解压后只有单一目录的软件,卸载时用命令“rm -rf 软件目录名”;如果解压后文件分散在多处目录中,则必须一一手动删除(稍麻烦),想知道解压时向系统中安装了哪些文件,可以用命令“tar ztvf *.tar.gz”/“tar ytvf *.bz2”获取清单。tar的参数z 是调用gzip解压,x是解包,v是校验,f是显示结果,y是调用bzip2解压,t是列出包的文件清单。更多的参数请参看手册页:man tar。 如果你更喜欢图形界面的操作,可以在X-Window下使用KDE的ArK压缩档案管理工具。3、提供安装程序的软件包

Linux软件安装与卸载

Linux软件安装与卸载一、rpm包安装与卸载方式步骤: 安装: 1、cd soft.version.rpm所在的目录; 2、输入rpm -ivh soft.version.rpm 删除:输入rpm -e soft.version.rpm 二、deb包安装方式步骤: 1、到cd soft.version.deb所在的目录; 2、输入dpkg -i soft.version.deb 删除:dpkg -r 包名 三、tar.gz源代码包安装方式: 1、到cd soft.tar.gz所在的目录; 2、tar -xzvf soft.tar.gz //一般会生成一个soft目录 3、cd soft 4、./configure 5、make 6、make install 删除:手工删除 四、tar.bz2源代码包安装方式: 1、cd soft.tar.bz2所在的目录;

2、tar -xjvf soft.tar.bz2 //一般会生成一个soft目录 3、cd soft 4、./configure 5、make 6、make install 删除:同上 五、apt方式安装: 1、apt-cache search soft 注:soft是你要找的软件的名称或相关信息 2、如果1中找到了软件soft.version,则用apt-get install soft.version命令安装软件注:只要你可以上网,只需要用apt-cache search查找软件,用apt-get install软件 删除:apt-get remove [--purge] 包 六、bin文件安装: 如果你下载到的软件名是soft.bin,一般情况下是个可执行文件,安装方法如下: 1、打开一个终端,su -成root用户; 2、chmod +x soft.bin 3、./soft.bin //运行这个命令就可以安装软件了 删除:手工删除 七、不需要安装的软件: 有了些软件,比如lumaqq,是不需要安装的,自带jre解压缩后可直接运行。假设

深入理解Linux软件配置、编译及安装

深入理解Linux软件配置、编译及安 装 从源代码安装过软件的朋友一定对./configure&&make&&make install安 装三步曲非常熟悉了。然而究竟这个过程中的每一步幕后都发生了些什么呢?本文将带领你一探究竟。深入理解这个过程将有助于你在LFS的基础上玩出自己 的花样来。不过需要说明的是本文对Makefile和make的讲解是相当近视和粗 浅的,但是对于理解安装过程来说足够了。用一句话来解释这个过程就是:根 据源码包中Makefile.in文件的指示,configure脚本检查当前的系统环境和 配置选项,在当前目录中生成Makefile文件(还有其它本文无需关心的文件),然后make程序就按照当前目录中的Makefile文件的指示将源代码编译为二进 制文件,最后将这些二进制文件移动(即安装)到指定的地方(仍然按照 Makefile文件的指示)。由此可见Makefile文件是幕后的核心。要深入理解安 装过程,必须首先对Makefile文件有充分的了解。本文将首先讲述Makefile 与make,然后再讲述configure脚本。并且在讲述这两部分内容时,提供了尽 可能详细的、可以运用于实践的参考资料。Makefile与make用一句话来概括Makefile与make的关系就是:Makefile包含了所有的规则和目标,而make则是为了完成目标而去解释Makefile规则的工具。make语法首先看看make的命 令行语法:make[options][targets][VAR=VALUE].[options]是命令行选项,可以用make--help命令查看全部,[VAR=VALUE]是在命令行上指定环境变量,这 两个大家都很熟悉,将在稍后详细讲解。而[targets]是什么呢?字面的意思是"目标",也就是希望本次make命令所完成的任务。凭经验猜测,这个[targets]大概可以用"ckeck","install"之类(也就是常见的测试和安装命令)。但是它到底是个啥玩意儿?没有任何参数的make命令是什么意思?为什么在安装LFS工具链中的Perl-5.8.8软件包时会出现"make perl utilities"这样怪异的命令?要回答这些问题必须首先理解Makefile文件中的"规则"。Makefile规则 Makefile规则包含了文件之间的依赖关系和更新此规则目标所需要的命令。一 个简单的Makefile规则是这样写的:TARGET:PREREQUISITES COMMAND TARGET 规则的目标。也就是可以被make使用的"目标"。有些目标可以没有依赖而只有动作(命令行),比如"clean",通常仅仅定义一系列删除中间文件的命令。同样,

Linux下源码编译安装详解

前言 源码要运行,必须先转成二进制的机器码。这是编译器的任务。比如,下面这段源码(假定文件名叫做test.c)。 #include int main(void) { fputs("Hello, world!\n", stdout); return 0; } 要先用编译器处理一下,才能运行。 $ gcc test.c $ ./a.out Hello, world! 对于复杂的项目,编译过程还必须分成三步。 $ ./configure $ make $ make install 编译过程流程图:

一.编译的具体过程 1. 配置(configure) 编译器在开始工作之前,需要知道当前的系统环境,比如标准库在哪里、软件的安装位置在哪里、需要 装哪些组件等等。这是因为不同计算机的系统环境不一样,通过指定编译参数,编译器就可以灵活适应环境,编译出各种环境都能运行的机器码。这个确定编译参数的步骤,就叫做"配置"(configure)。 这些配置信息保存在一个配置文件之中,约定俗成是一个叫做configure的脚本文件。通常它是由autocon 工具生成的。编译器通过运行这个脚本,获知编译参数。 configure脚本已经尽量考虑到不同系统的差异,并且对各种编译参数给出了默认值。如果用户的系统环 比较特别,或者有一些特定的需求,就需要手动向configure脚本提供编译参数。 $ ./configure --prefix=/www --with-mysql 上面代码是php源码的一种编译配置,用户指定安装后的文件保存在www目录,并且编译时加入mysq 模块的支持。 2. 确定标准库和头文件的位置 源码肯定会用到标准库函数(standard library)和头文件(header)。它们可以存放在系统的任意目录中,编译器实际上没办法自动检测它们的位置,只有通过配置文件才能知道。 编译的第二步,就是从配置文件中知道标准库和头文件的位置。一般来说,配置文件会给出一个清单,列出几个具体的目录。等到编译时,编译器就按顺序到这几个目录中,寻找目标。 对于大型项目来说,源码文件之间往往存在依赖关系,编译器需要确定编译的先后顺序。假定A文件依赖于B文件,编译器应该保证做到下面两点。 (1)只有在B文件编译完成后,才开始编译A文件。 (2)当B文件发生变化时,A文件会被重新编译。 编译顺序保存在一个叫做makefile的文件中,里面列出哪个文件先编译,哪个文件后编译。而makefile文件由configure脚本运行生成,这就是为什么编译时configure必须首先运行的原因。 在确定依赖关系的同时,编译器也确定了,编译时会用到哪些头文件。 不同的源码文件,可能引用同一个头文件(比如stdio.h)。编译的时候,头文件也必须一起编译。为了节省时间,编译器会在编译源码之前,先编译头文件。这保证了头文件只需编译一次,不必每次用到的时候,都重新编译了。 不过,并不是头文件的所有内容,都会被预编译。用来声明宏的#define命令,就不会被预编译。

Linux如何编译安装源码包软件

一、什么是源码包软件; 顾名思义,源码包就是源代码的可见的软件包,基于Linux和BSD系统的软件最常见;在国内源可见的软件几乎绝迹;大多开源软件都是国外出品;在国内较为出名的开源软件有fcitx;lumaqq;Lumaqq及scim等; 但软件的源代码可见并不等于软件是开源的,我们还要以软件的许可为准;比如有些软件是源码可见的,但他约定用户只能按他约定的内容来修改;比如vbb论坛程序;所以一个软件是否是开源软件,得具备两个条件;一是源代码可见;二是要有宽松的许可证书,比如GPL 证书等; 在GNU Linux或BSD社区中,开发人员在放出软件的二进制软件包的同时,也会为我们提供源代码软件包; 二、源代码有何用? 一个软件的如果有源码,是任何人都能看到他是怎么开发而来的,就像一个瓶子,比如瓶子制作的模具是什么;需要什么材料;具体的用途以及瓶子的详细说明书等等。软件的开放源码就是类似,开发者在给我们软件的同时,也会告诉我们软件是怎么开发出来的;只要我们的水平足够的高,所有的代码都在那里,我们就可以修改和定制软件,以适合我们的需要;如果Windows开放源代码,并以GPL发布,一样是有人能造出来N多的Windows发行版;遗憾的是Windows并不是开源系统; 所以软件的源代码的用处无非是以下两点; 1、软件根据用户的需要加以定制; 2、二次开发;注:要根据软件的许可证书约定为准,开发者许可二次开发才行; 三、怎样安装以源码包打包的软件; 1、源码包的打包格式; 源代码一般以file.tar.gz file.tar.bz2或file.src.rpm 打包;file.tar.gz和 file.tar.bz2格式的解包命令如下; [root@localhostbeinan]# tarjxvf file.tar.bz2 [root@localhostbeinan]# tar zxvf file.tar.gz

Redhat Linux如何安装软件

Redhat Linux如何安装软件 先来看看Linux软件扩展名。软件后缀为.rpm最初是Red Hat Linux提供的一种包封装格式,现在许多Linux发行版本都使用;后缀为.tar.gz、tar.Z、tar.bz2或.tgz是使用Unix系统打包工具tar打包的;后缀为.bin的一般是一些商业软件。通过扩展名可以了解软件格式,进而了解软件安装。 RPM格式软件包的安装 1.简介 几乎所有的Linux发行版本都使用某种形式的软件包管理安装、更新和卸载软件。与直接从源代码安装相比,软件包管理易于安装和卸载;易于更新已安装的软件包;易于保护配置文件;易于跟踪已安装文件。 PM全称是Red Hat Package Manager(Red Hat包管理器)。RPM本质上就是一个包,包含可以立即在特定机器体系结构上安装和运行的Linux软件。 2.安装RPM包软件 #rpm -ivh MYsoftware-1.2 -1.i386.rpm RPM命令主要参数: -i 安装软件。 -t 测试安装,不是真的安装。 -p 显示安装进度。 -f 忽略任何错误。 -U 升级安装。 -v 检测套件是否正确安装。 这些参数可以同时采用。更多的内容可以参考RPM的命令帮助。 3.卸载软件 #rpm -e 软件名 需要说明的是,上面代码中使用的是软件名,而不是软件包名。例如,要卸载software-1.2.-1.i386.rpm这个包时,应执行: #rpm -e software 4.强行卸载RPM包 有时除去一个RPM是不行的,尤其是系统上有别的程序依赖于它的时候。如果执行命令会显示如下错误信息: ## rpm -e xsnow error: removing these packages would break dependencies: /usr/X11R6/bin/xsnow is needed by x-amusements-1.0-1 在这种情况下,可以用--force选项重新安装xsnow: ## rpm -ivh --force xsnow-1.41-1.i386.rpm xsnow 这里推荐使用工具软件Kleandisk,用它可以安全彻底清理掉不再使用的RPM包。

linux下编写c源程序并编译运行

实验二Linux基本操作 编写c源程序并用编译运行 【需求】 ◆在当前目录下创建新文件t.c,用vi编辑器一段简单代码,代码要求在屏幕上输出 文字“Hello Linux!”; ◆用gcc编译t.c文件,并运行,查看输出结果,若结果错误,请根据提示修改;【系统及软件环境】 操作系统:Virtualbox,Fedora 13 【实验配置文件及命令】 1.配置文件: 2.命令:touch、rpm、gcc、./等

ls |grep gcc 可返回四个结果: gcc-4.4.4-2.fc13.i686.rpm gcc-c++-4.4.4-2.fc13.i686.rpm gcc-gfortran-4.4.4-2.fc13.i686.rpm libgcc-4.4.4-2.fc13.i686.rpm 其中“gcc-4.4.4-2.fc13.i686.rpm”就是我们所需要的安装包 (6)安装RPM包 【语法】rpm –ivh RPM包文件名称 即:rpm –ivh gcc-4.4.4-2.fc13.i686.rpm(此处可用tab键自动补全,即rpm –ivh gcc-4) ★此时提示错误 cloog-ppl >=0.15 is needed by gcc-4.4.4-2.fc13.i686.rpm cpp = 4.4.4-2.fc13 is needed by gcc-4.4.4-2.fc13.i686.rpm glibc-devel >= 2.2.90-12 is needed by gcc-4.4.4-2.fc13.i686.rpm 【原因】RPM安装包相互之间有依赖关系,需要安装依赖软件包,一共需要6个安装包,分别是kernel-headers、glibc-headers、glibc-devel、cpp、cloog-ppl 和gcc 则实际安装顺序为: i)rpm –ivh kernel-headers-2.6.33.3-85.fc13.i686.rpm ii)rpm –ivh glibc-headers-2.12-1.i686.rpm iii)rpm –ivh glibc-devel-2.12-1.i686.rpm iv)rpm –ivh cpp-4.4.4-2.fc13.i686.rpm v)rpm –ivh --nodeps cloog-ppl-0.15.7-1.fc12.i686.rpm vi)rpm –ivh gcc-4.4.4-2.fc13.i686.rpm 【注意】 ①安装过程中“RPM包文件名称”注意用“tab”键减少输入 ②第“v”步安装cloog-ppl时,需带上参数“--nodeps”,因为安装此文 件时所需要的关联文件不必安装,所以用参数“--nodeps”可跳过关联检测,强制安装。 6 安装完成后,返回创建t.c 文件的test目录。 使用gcc t.c 命令来对文件进行编译。编译完成后利用ls -l 命令查看生成的文件a.out 或者通过参数“gcc t.c -o a”指定编译后的文件名称为a 7 执行程序:./a.out 即可看到程序执行结果。 8 此时屏幕上会显示:Hello Linux!的字样。至此,软件的安装,程序的编写,执行已经结束。

Linux下编译安装软件源码包

Linux操作系统下如何编译安装源码包软件 一、什么是源码包软件? 顾名思义,源码包就是源代码的可见的软件包,基于Linux和BSD系统的软件最常见;在国内源可见的软件几乎绝迹;大多开源软件都是国外出品;在国内较为出名的开源软件有fcitx;lumaqq;Lumaqq及scim等; 但软件的源代码可见并不等于软件是开源的,我们还要以软件的许可为准;比如有些软件是源码可见的,但他约定用户只能按他约定的内容来修改;比如vbb论坛程序;所以一个软件是否是开源软件,得具备两个条件;一是源代码可见;二是要有宽松的许可证书,比如GPL证书等; 在GNU Linux或BSD社区中,开发人员在放出软件的二进制软件包的同时,也会为我们提供源代码软件包; 二、源代码有何用? 一个软件的如果有源码,是任何人都能看到他是怎么开发而来的,就像一个瓶子,比如瓶子制作的模具是什么;需要什么;具体的用途以及瓶子的详细说明书等等。软件的开放源码就是类似,开发者在给我们软件的同时,也会告诉我们软件是怎么开发出来的;只要我们的水平足够的高,所有的代码都在那里,我们就可以修改和定制软件,以适合我们的需要;如果Windows开放源代码,并以GPL发布,一样是有人能造出来N多的Windows发行版;遗憾的是 Windows 并不是开源系统; 所以软件的源代码的用处无非是以下两点; 1、软件根据用户的需要加以定制; 2、二次开发;注:要根据软件的许可证书约定为准,开发者许可二次开发才行; 三、怎样安装以源码包打包的软件 1、源码包的打包格式 源代码一般以file.tar.gz file.tar.bz2或file.src.rpm 打包; file.tar.gz和file.tar.bz2格式的解包命令如下; [root@localhost beinan]# tar jxvf file.tar.bz2 [root@localhost beinan]# tar zxvf file.tar.gz

Linux系统源码安装过程中的prefix选项

Linux系统源码安装过程中的prefix选项 在linux和unix环境中,源码安装是最常用的软件安装方式,一些软件出了提供源码外,也提供各种发行版的二进制安装包(如基于redhat包管理工具的rpm包),但强烈建议使用源码安装方式。原因是:(1)没有类似rpm那样让人恼火的包依赖关系,(2)源码安装灵活自由,适用于不同的平台,维护也十分方便。 源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install),具体的安装方法一般作者都会给出文档,这里主要讨论配置(configure)。Configure是一个可执行脚本,它有很多选项,使用命令./configure –help输出详细的选项列表,如下: -bash-3.00# ./configure --help Usage: configure [options] [host] Options: [defaults in brackets after descriptions] Configuration: --cache-file=FILE cache test results in FILE --help print this message --no-create do not create output files --quiet, --silent do not print `checking...' messages --version print the version of autoconf that created configure

Directory and file names: --prefix=PREFIX install architecture-independent files in PREFIX [/usr/local] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [same as prefix] --bindir=DIR user executables in DIR [EPREFIX/bin] ……….(省略若干) 很多的选项,个人认为,你可以忽略其他的一切,但请把—prefix加上。这里以安装supersparrow-0.0.0为例,我们打算把它安装到目录 /usr/local/supersparrow,于是在supersparrow-0.0.0目录执行带选项的脚本./configure – prefix=/usr/local/supersparrow,执行成功后再编译、安装(make,make install);安装完成将自动生成目录supersparrow,而且该软件所有的文件都被复制到这个目录。为什么要指定这个安装目录?是为了以后的维护方便,如果没有用这个选项,安装过程结束后,该软件所需的软件被复制到不同的系统目录下,很难弄清楚到底复制了那些文件、都复制到哪里去了—基本上是一塌糊涂。 用了—prefix选项的另一个好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)。 一个小选项有这么方便的作用,建议在实际工作中多多使用。

RedHat Linux 源码安装MYSQL步骤

作者:书剑飘香 1.下载mysql server and client。 Mysql官网地址:https://www.sodocs.net/doc/fa5972467.html,/downloads/ 首选进入下载页面 然后进入Mysql版本下载页面

在Linux下选择源代码的安装方式 然后下载Linux下的源代码压缩包

第二步: 我把mysql软件源码包存放在/home/softDev 下边, 源码包编译安装的位置在/usr/local/mysql 下边 由于现在的MySQL都使用cmake进行编译安装,所以在安装MySql之前,我们首先要把cmake 装到Linux系统上。 (1)安装cmake 下载地址:https://www.sodocs.net/doc/fa5972467.html,/ 在安装cmake之前,系统里必须现有gcc和g++程序

(2)解压cmake源代码压缩包,并且编译和安装 tar zxvf cmake-2.8.10.2.tar.gz cd cmake-2.8.10.2 ./configure make make install (3)准备工作,创建mysql用户组 groupadd mysql useradd -g mysql mysql 创建Mysql数据库的安装目录和存放数据文件的目录mkdir -pv /usr/local/mysql/data

(4)解压缩Mysql源码包 tar xzf mysql-5.5.27.tar.gz cd mysql-5.5.27 cmake 编译Mysql #安装 make && make install 注意事项: 从mysql5.5起,mysql源码安装开始使用cmake了。下面是介绍configure选项如何映射到cmake的等值参数。 1. 命令语法: 重新编译时,需要清除旧的对象文件和缓存信息 # make clean # rm -f CMakeCache.txt 安装选项 参数地址:https://www.sodocs.net/doc/fa5972467.html,/uid-20774942-id-1993581.html

相关主题