Linux 安装方式汇总

Linux.png

Linux系统中,软件通常以源代码或者预编译包的形式提供。

  1. 软件源代码需要编译为二进制的机器代码才能够使用,安装比较耗时,不过您可以自行调节编译选项,决定需要的功能或组件,或者针对硬件平台作一些优化。在Linux中,它不像Windows中软件资源丰富,有的时候就需要将某个代码修改,以符合当前平台。
  2. 预编译的软件包,通常是由软件的发布者进行编译,您只要将软件拷贝到系统中就可以了。考虑到预编译软件包的适用性,预编译软件包通常不会针对某种硬件平台优化。它所包含的功能和组件也是通用的组合。

Linux 安装软件大概的过程如下:

  1. 建立安装目录
  2. 拷贝类库
  3. 拷贝可执行程序
  4. 根据需要选择性配置和启动服务
  • Linux 下的 /usr/bin 目录相当于 Windows 下的 ProgramFile 目录
  • Linux 下的动态库后缀是 .soWindows 下是 .dll

安装方式就按某种标准依次介绍(什么标准?朕喜欢的就是标准)。

一、源码安装

.tar.gz.tgz.bz2形式软件包的安装

  1. 解压:

    tar zxvf *.tar.gz

    tar xvfz *.tgz

    tar xvfj *.tar.bz2

  2. 解压后用ls命令可以看到解压缩后的文件,通常在解压缩后产生的文件中,有名为"INSTALL"的文件。该文件为纯文本文件,详细讲述了该软件包的安装方法。

  3. 对于多数需要编译的软件,其安装的方法大体相同。执行解压缩后产生的一个名为configure的可执行脚本程序。它是用于检查系统是否有编译时所需的库,以及库的版本是否满足编译的需要等安装所需要的系统信息。为随后的编译工作做准备。命令为:./configure
    其中--prefix选项是配置安装目录,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱。
    使用--prefix选项的另一个好处是方便卸载软件或移植软件;当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;而移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统下)。

  4. 如果检查过程中,发现有错误,configure将给予提示,并停止检查。你可以跟据提示对系统进行配置。再重新执行该程序。检查通过后,将生成用于编译的MakeFile文件。此时,可以开始进行编译了。编译的过程视软件的规模和计算机的性能的不同,所耗费的时间也不同。命令为:make

    make原理是执行一个叫(所生成的)Makefile文件里的指令,make的基本用处是自动根据makefile里的指令来编译源文件。它还可以用来做比如安装软件,卸载软件等事情,但前提是作者在makefile里写了。

  5. 成功编译后,键入如下的命令开始安装:make install

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

    make clean清除上次的make命令所产生的object文件(后缀为“.o”的文件)及可执行文件。make distclean类似make clean,但同时也将configure生成的文件全部删除掉,包括Makefile。

如果没有configure文件,那应该有Makefile文件。那就更简单了,省的上面的麻烦事了。

建议:

不要将源码删除,在卸载软件的时候需要使用可能。另外在./configure的时候养成--prefix指定安装目录的好习惯,在安装的时候也可以选择将安装日志进行输出。没啥大用,卸载方便。

二、apt

高级包装工具(英语:Advanced Packaging Tools,缩写为APT)是Debian及其派生发行版的软件包管理器。APT可以自动下载,配置,安装二进制或者源代码格式的软件包,因此简化了Unix系统上管理软件的过程。APT最早被设计成dpkg的前端,用来处理deb格式的软件包。现在经过APT-RPM组织修改,APT已经可以安装在支持RPM的系统管理RPM包。与红帽中的yum工具非常类似。

apt-get 其实就是一个在线安装软件的工具,它的主要作用是:通过本地的 Linux 连接到网络上的 apt 仓库(源)来下载软件并自动安装。在国内访问官方源速度较慢,一般安装完系统首先会更新源。apt 镜像站点地址列表是放在下列文件下的:

/etc/apt/sources.list

而apt 的下载的 deb 包会保存到这里

/var/cache/apt/archives

软件包安装完成后,这些deb安装包基本上就没有什么用处了.apt-get clean命令可以帮你删除这些deb安装包.

常用apt命令:

apt-get命令一般需要root权限执行,所以一般跟着sudo命令例sudo apt-get xxxx

apt-get install packagename——安装一个新软件包(还有一个aptitude软件)

apt-get remove packagename——卸载一个已安装的软件包(保留配置文件)

apt-get --purge remove packagename——卸载一个已安装的软件包(删除配置文件)

apt-get --force-all --purge packagename ——有些软件很难卸载,而且还阻止了别的软件的应用,就可以用这个,不过有点冒险。

apt-get autoremove——因为apt会把已装或已卸的软件都备份在硬盘上,所以如果需要空间的话,可以让这个命令来删除你已经删掉的软件。

apt-get autoclean——定期运行这个命令来清除那些已经卸载的软件包的.deb文件。通过这种方式,可以释放大量的磁盘空间。如果需求十分迫切,可以使用apt-get clean以释放更多空间。这个命令会将已安装软件包裹的.deb文件一并删除。

apt-get clean——这个命令会把安装的软件的备份也删除,不过这样不会影响软件的使用的。

apt-get upgrade——更新所有已安装的软件包

apt-get dist-upgrade——将系统升级到新版本

apt-cache search string——在软件包列表中搜索字符串

apt-cache showpkg pkgs——显示软件包信息。

apt-cache stats——查看库里有多少软件

apt-cache dumpavail——打印可用软件包列表。

apt-cache show pkgs——显示软件包记录,类似于dpkg –print-avail。

apt-cache pkgnames——打印软件包列表中所有软件包的名称

(需要定期运行这一命令以确保您的软件包列表是最新的)

简单的说: dpkg只能安装已经下载到本地机器上的deb包. apt-get能在线下载并安装deb包,能更新系统,

且还能自动处理包与包之间的依赖问题,这个是dpkg工具所不具备的。

三、yum

yum,是Yellow dog Updater, Modified 的简称,是杜克大学为了提高RPM 软件包安装性而开发的一种软件包管理器。

yum命令是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令。使用和apt-get相似。

语法 yum(选项)(参数)

选项

-h:显示帮助信息; 
-y:对所有的提问都回答“yes”; 
-c:指定配置文件; 
-q:安静模式; 
-v:详细模式; 
-d:设置调试等级(0-10); 
-e:设置错误等级(0-10); 
-R:设置yum处理一个命令的最大等待时间; 
-C:完全从缓存中运行,而不去下载或者更新任何头文件。

参数

install:安装rpm软件包; 
update:更新rpm软件包; 
check-update:检查是否有可用的更新rpm软件包; 
remove:删除指定的rpm软件包; 
list:显示软件包的信息; 
search:检查软件包的信息; 
info:显示指定的rpm软件包的描述信息和概要信息; 
clean:清理yum过期的缓存; 
shell:进入yum的shell提示符; 
resolvedep:显示rpm软件包的依赖关系; 
localinstall:安装本地的rpm软件包; 
localupdate:显示本地rpm软件包进行更新; 
deplist:显示rpm软件包的所有依赖关系。

四、deb

deb是 ubuntu 、debian 的格式,是debian发行版的软件包,ubuntu是基于debian 发行的 所以可以用。

dpkg 是Debian Package的简写,是为Debian 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自Debian的Linux发行版都使用dpkg,例如Ubuntu等。
以下是一些 Dpkg 的普通用法:

dpkg -i <package.deb>——安装一个 Debian 软件包,如你手动下载的文件,(其中-i等价于--install)

dpkg -c <package.deb>——列出<package.deb> 的内容中包含的文件结构(其中-c等价于--contents)

dpkg - I <package.deb>——从<package.deb> 中提取包裹信息的详细信息,包括软件名称、版本以及大小等(其中-I等价于--info)

dpkg -r <package>——移除一个已安装的包裹(软件名称可通过dpkg -I命令查看,其中-r等价于--remove)

dpkg -P <package>——完全清除一个已安装的包裹。和 remove 不同的是,remove 只是删掉数据和可执行文件,purge 另外还删除所有的配制文件。

dpkg -L <package>——列出 <package> 安装的软件包安装的所有文件(软件名称可通过dpkg -I命令查看,其中-L等价于--listfiles)

dpkg -l <package>——查看<package>软件包的信息(软件名称可通过dpkg -I命令查看,其中-l等价于--list)

dpkg -s <package>——显示已安装包裹的详细信息。同时请看 apt-cache 显示 Debian 存档中的包裹信息,以及 dpkg -I 来显示从一个 .deb 文件中提取的包裹信息。(软件名称可通过dpkg -I命令查看,其中-s等价于--status)

dpkg-reconfigure <package>——重新配制一个已经安装的包裹,如果它使用的是 debconf (debconf 为包裹安装提供了一个统一的配制界面)。

注:dpkg命令无法自动解决依赖关系。如果安装的deb包存在依赖包,则应避免使用此命令,或者按照依赖关系顺序安装依赖包。

五、rpm

rpm是 redhat 、fedora、suse 的格式。全称为Redhat PackageManager ,是由Redhat 公司提出的,用于管理Linux下软件包的软件。Linux 安装时,除了几个核心模块以外,其余几乎所有的模块均通过RPM 完成安装。

rpm -i <package.rpm>——安装软件

例:

rpm -i example.rpm 安装 example.rpm 包;

rpm -iv example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息;

rpm -ivh example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度;

rpm -q …——查询软件信息

a 查询所有已经安装的包以下两个附加命令用于查询安装包的信息;

i 显示安装包的信息;

l 显示安装包中的所有文件被安装到哪些目录下;

s 显示安装版中的所有文件状态及被安装到哪些目录下;

以下两个附加命令用于指定需要查询的是安装包还是已安装后的文件;

p 查询的是安装包的信息;

f 查询的是已安装的某文件信息;

例:

rpm -qa | grep tomcat4 查看 tomcat4 是否被安装;

rpm -qip example.rpm 查看 example.rpm 安装包的信息;

rpm -qif /bin/df 查看/bin/df 文件所在安装包的信息;

rpm -qlf /bin/df 查看/bin/df 文件所在安装包中的各个文件分别被安装到哪个目录下;

rpm -e ...——需要卸载的安装包

在卸载之前,通常需要使用rpm -q …命令查出需要卸载的安装包名称。

例:

rpm -e tomcat4 卸载 tomcat4 软件包

rpm -U <package.rpm>——需要升级的包

例:

rpm -Uvh example.rpm 升级 example.rpm 软件包

rpm -V ...——需要验证的包

例:

rpm -Vf /etc/tomcat4/tomcat4.conf

输出信息类似如下:

S.5....T c /etc/tomcat4/tomcat4.conf

其中,S 表示文件大小修改过,T 表示文件日期修改过。更多的验证信息请参考rpm 帮助文件:man rpm

注:RPM 的其他附加命令

--force 强制操作如强制安装删除等;

--requires 显示该包的依赖关系;

--nodeps 忽略依赖关系并继续操作;

此外还有一些安装文件:

.bin/.run

还有一些软件解压后生成的文件夹内包含很多文件,一般文件夹内有install.sh、setup.py等安装文件方式,此种方式类似windows的exe安装方式。

这样的软件第一步授权可执行,第二步运行就可以了。

如有错误,欢迎指正。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容