首页 > 系统相关 >Linux-源码安装软件

Linux-源码安装软件

时间:2023-08-25 17:55:30浏览次数:39  
标签:rpm make Linux 源码 卸载 软件 安装

一、源码安装步骤

源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。

 

1.配置(configure)

Configure是一个可执行脚本,它有很多选项,在待安装的源码路径下使用命令 ./configure –help输出详细的选项列表。

其中--prefix选项是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱。

如果配置--prefix,如:./configure --prefix=/usr/local/test

可以把所有资源文件放在/usr/local/test的路径中,不会杂乱。

用--prefix选项的另一个好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)。

当然要卸载程序,也可以在原来的make目录下用一次make uninstall,但前提是make文件指定过uninstall。

configure作用:是源码安装软件时配置环境用的 他根据你的配置选项和你的系统情况生成makefile文件 为make 做准备

最常用的参数: ./configure --prefix 作用:

不指定prefix,则可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr /local/etc。其它的资源文件放在/usr/local/share。你要卸载这个程序,要么在原来的make目录下用一次make uninstall(前提是make文件指定过uninstall),要么去上述目录里面把相关的文件一个个手工删掉。指定prefix,直接删掉一个文 件夹就够了。

 

2.编译(make)

执行make clean;make命令将源码编译成二进制文件。 
PS:make clean命令用来清除上一次编译生成的目标文件。这个步骤可有可无,但为了确保编译的成功,还是加上为好。防止由于软件中含有残留的目标文件导致编译失败。

 

3.安装(make install)

执行make install命令将上一步编译好的二进制文件安装到指定的目录中去。

 

二、软件安装

Linux下软件的安装主要有两种不同的形式。第一种安装文件名为xxx.tar.gz;另一种安装文件名为xxx.i386.rpm。以第一种方式发行的软件多为以源码形式发送的;第二种方式则是直接以二进制形式发送的。

 

1.源码安装

 

安装方法如下:

(1) .首先,将安装文件拷贝至你的目录中。例如,如果你是以root身份登录上的,就将软件拷贝至/root中。

#cp xxx.tar.gz /root

 

(2) .由于该文件是被压缩并打包的,应对其解压缩。命令为:

#tar xvzf filename.tar.gz 如果是filename.tar.bz2格式的,应该是tar jxvf filename.tar.bz2来解压

 

(3). 执行该命令后,安装文件按路径,解压缩在当前目录下。用ls命令可以看到解压缩后的文件。通常在解压缩后产生的文件中,有“Install”的文件。该文件为纯文本文件,详细讲述了该软件包的安装方法。

 

(4).执行解压缩后产生的一个名为configure的可执行脚本程序。它是用于检查系统是否有编译时所需的库,以及库的版本是否满足编译的需要等安装所需要的系统信息。为随后的编译工作做准备。命令为: #./configure

如果您想把软件安装到指定目录,应该用#./configure --prefix=/您自己指定的目录,比如我想把一个mlterm安装到/opt/mlterm目录中,应该如下输入

#./configure --prefix=/opt/mlterm

 

(5).检查通过后,将生成用于编译的MakeFile文件。此时,可以开始进行编译了。编译的过程视软件的规模和计算机性能的不同,所耗费的时间也不同。命令为: #make。

 

(6).成功编译后,键入如下的命令开始安装:

#make install

 

(7).安装完毕,应清除编译过程中产生的临时文件和配置过程中产生的文件。键入如下命令:

#make clean

#make distclean

至此,软件的安装结束。

 

2.rpm安装

将安装文件拷贝至你的目录中。然后使用rpm来安装该文件。命令如下:

#rpm -ivh filename.i386.rpm

rpm将自动将安装文件解包,并将软件安装到缺省的目录下。并将软件的安装信息注册到rpm的数据库中。参数i的作用是使rpm进入安装模式。

 

三、软件卸载

1.卸载源码安装

 

最好是看README和INSTALL ;一般的情况下都有说,但大多软件没有提供源码包的卸载方法;我们可以找到软件的安装点删除。主要看你把它安装在哪了。

 

比如:

如果安装软件时,指定个目录。这个问题也不会难;

比如用源码包安装gaim 的

#./configure --prefix=/opt/gaim

#make

#make install

 

如果安装mlterm

#./configure --prefix=/opt/mlterm

#make

#make install

 

2.卸载rpm安装

(1).软件的卸载主要是使用rpm来进行的。卸载软件首先要知道软件包在系统中注册的名称。键入命令:

#rpm -q -a

即可查询到当前系统中安装的所有的软件包。

 

(2). 确定了要卸载的软件的名称,就可以开始实际卸载该软件了。键入命令:

#rpm -e [package name]

即可卸载软件。参数e的作用是使rpm进入卸载模式。对名为[package name]的软件包进行卸载。由于系统中各个软件包之间相互有依赖关系。如果因存在依赖关系而不能卸载,rpm将给予提示并停止卸载。你可以使用如下的命令来忽略依赖关系,直接开始卸载:

#rpm -e [package name] -nodeps

忽略依赖关系的卸载可能会导致系统中其它的一些软件无法使用

 

如果想知道rpm包安装到哪里了呢?

应该用 #rpm -ql [package name]

 

标签:rpm,make,Linux,源码,卸载,软件,安装
From: https://www.cnblogs.com/yeyuzhuanjia/p/17657634.html

相关文章

  • Linux基本命令使用
    Linux常用命令及使用方法基本命令1.ls,作用是列出目录下的内容, 语法如下:ls[-a-l-h][linux路径]-l:竖向排列展示内容  -a:列出所有文件夹,包含隐藏的ls-l-a / ls-la / ls-al三种写法都是一样的2.cd命令切换工作目录语法:cd+[linux路径]参数3.pwd查看当前......
  • 用友U8V12.1软件在win10上跳过环境检测成功安装的方法和教程
    https://www.bilibili.com/read/cv19294879/https://www.yyrjxz.com/hf/u8hf.html用友U8+V12.1软件是不支持在win10系统上安装的,原因是环境检测时,iewebcontrols这一项通过不,不管怎么安装都不行,那么怎么在win10上跳过环境检测,让用友U8+V12.1能够安装在win10系统上呢?且看用友小辣......
  • QEMU运行ARM64(Aarch64)Debian系Linux
    QEMU运行ARM64(Aarch64)Debian系Linux安装QEMU尽量安装最新版,目前是5.2,通过以下命令检查qemu-system-aarch64-version下载debiancloudarm64镜像,重命名为debian-10-arm64.qcow2cloud.debian.org/images/clou…可以通过这个地址下载不同版本:https://cloud.debian.org/......
  • 远程连接linux开发
    远程连接linux开发#一般情况下开发环境 -win开发,linux上线有问题:有些模块win和linux不兼容-linux开发,linux上线 -ubuntu系统->台式机->ubuntu->ubuntu开发-mac系统,linux上线 -mac环境和linux很像#只有win机器,没有linux系统,项目要在linux系统下开发--->远......
  • 源码编译GCC7.3.0
    环境系统CentOSLinuxrelease7.9.2009(AltArch)docker虚拟机创建/home/gcc目录构建整个gcc编译工程目录mkdir/home/gcccd/home/gcc源码下载wgethttp://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.xz解压tarjxvfgcc-7.3.0.tar.xz创建中间文件输出目录mkdirg......
  • Linux内核模块的编译和运行 - 如何让模块跑起来?
    SRCPATH:=$(shellpwd)ARCH=armCROSS_COMPILE?=/opt/toolchain/bin/arm-linux-gnueabihf-KDIR?=/home/xxx/linux-3.10/obj-m+=hello_world.oall:@echo"buildmodules..."@$(MAKE)-C$(KDIR)M=$(SRCPATH)CROSS_COMPILE=$(C......
  • 搭一个Linux内核驱动框架 - 如何写一个Linux内核驱动?
    通俗一点的问题就是“如何写一个内核驱动?”新手往往并不明白驱动的具体定义是什么,我们往往拿到一款芯片,然后要给这个芯片写一个驱动代码,但是这个驱动代码到底是什么样子的?应该怎么写?就是面临的第1个问题。其实我们通常说的驱动是一个很模糊的概念,也是很多概念的集合。狭义上的驱......
  • Linux中su命令与sudo命令的区别
    su命令与sudo命令是Linux中比较常用的命令,sudo是以root用户方式执行命令,su是用来变更其他使用者的身份来执行命令。那么Linux中su命令与sudo命令的区别是什么?我们通过这篇文章详细讲解一下。1、关于密码两个命令的最大区别是:sudo命令需要输入当前用户的密码,su命令需要......
  • 逐梦起航 职等你来,北京校区Linux运维89期开班啦!
    8月心情,喜忧参半。8月是一个特殊的季节,它是夏季的最后一个月份,也是当代大学生的一个新起点,有人因为高考得利,即将远离家乡,背起小小的行囊奔赴大学;有人则因为高考失利,面临着重新规划自己学习和职业道路的挑战。与此同时,在这个毕业的季节,有人选择出国深造,有人选择托关系找工......
  • 软件测试从入门到精通
    一、测试介绍软件测试概念使用技术手段验证软件是否满足要求测试主流技能1、功能测试2、自动化测试3、接口测试4、性能测试主流方向: 1、功能+接口测试 2、自动化+接口 3、功能+性能二、测试常用分类2.1阶段划分单元测试针对程序源代码进行测试(单元:最小独......