转自Linux下软件安装的几种方式
Linux 系统的/usr目录
Linux 软件安装到哪里合适,目录详解
Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的
/usr
:系统级的目录,可以理解为 C:/Windows/
,
/usr/lib
理解为 C:/Windows/System32
。
/usr/bin:
几乎所有的系统可执行文件都会安装在这里
/usr/local/bin:
则是可以存放一些系统用户自己特定的可执行文件,不用担心会被系统升级之类的行为覆盖,破坏,这个目录不是必须的
/usr/local
: 用户级的程序目录,可以理解为 C:/Progrem Files/
。 用户自己编译的软件默认会安装到这个目录下。
/opt
:用户级的程序目录 ,可以理解为D:/Software
, opt有可选的意思, 这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接 rm -rf
掉即可。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。
源码放哪里?
/usr/src
:系统级的源码目录。
/usr/local/src
:用户级的源码目录。
-----------------翻译-------------------
/opt
Here’s where optional stuff is put. Trying out the latest Firefox beta? Install it to /opt where you can delete it without affecting other settings. Programs in here usually live inside a single folder whick contains all of their data, libraries, etc.
这里主要存放那些可选的程序。你想尝试最新的firefox测试版吗?那就装到/opt目录下吧,这样,当你尝试完,想删掉firefox的时候,你就可 以直接删除它,而不影响系统其他任何设置。安装到/opt目录下的程序,它所有的数据、库文件等等都是放在同个目录下面。
举个例子:刚才装的测试版firefox,就可以装到/opt/firefox_beta目录下,/opt/firefox_beta目录下面就包含了运 行firefox所需要的所有文件、库、数据等等。要删除firefox的时候,你只需删除/opt/firefox_beta目录即可,非常简单。
/usr/local
This is where most manually installed(ie. outside of your package manager) software goes. It has the same structure as /usr. It is a good idea to leave /usr to your package manager and put any custom scripts and things into /usr/local, since nothing important normally lives in /usr/local.
一、简介
Linux下软件安装的方式主要有源码安装、rpm安装、yum安装,而常用的安装包主要有以下三种:
- tar包:例如software-1.2.3-1.tar.gz。它是使用UNIX系统的打包工具tar打包的。
- rpm包,如software-1.2.3-1.i386.rpm。它是Redhat Linux提供的一种包封装格式。
(现在用的全称叫RPM Package Manager,以前叫Redhat Package Manager) - dpkg包,如software-1.2.3-1.deb。它是Debain Linux提供的一种包封装格式。
而且,大多数Linux应用软件包的命名也有一定的规律,它遵循:
名称-版本-修正版-类型
例如:software-1.2.3-1.tar.gz
软件名称:software
版本号:1.2.3
修正版本:1
类型:tar.gz
二、常见的安装方法
(1)源码安装
几乎所有的开源软件都支持在Linux下运行,而这些软件一般都以源码形式发放,只需要Linux安装了gcc、make、automake、autoconf都支持源码安装。
①源码安装的方式
1、cd 源码所在目录
2、./configure [opts]
3、make
4、make install
②源码安装优点
源码安装的优点有以下几点
- 文档齐全
- 因为可以定位到代码,所以debug方便
- 本机兼容性最好(由于是本机编译的,只要编译通过,就没有各种库的依赖的问题)
③源码安装的缺点
- 编译麻烦
- 缺乏自动依赖管理,软件升级麻烦
(2)rpm包安装
rpm包安装几乎在所有Linux平台上都支持,它就像Windows下的exe安装文件一样,各种文件已经编译好,并打包,哪个文件在哪个文件夹里面都已经被指定好,所以很方便。
①rpm包安装的方式
由于安装的方式非常简单,我们只需要输入一条指令即可。
rpm -i xxx.rmp
通过上面的命令我们便可以完成rpm包的安装。
②rpm包卸载的方式
rmp包卸载的方法也很简单,只需要如下命令:
rpm -e 包名
③rpm包升级的方式
升级需要如下命令:
rpm -U 包名
我们需要注意的是此时计算机需要联网。
(三)yum安装软件包
yum并不是一种包,它是安装包的一个软件,在CentOS中是软件包的管理器,yum也对依赖关系进行管理,但是必须要在联网的情况下完成。
①yum包安装的方式
yum -y install
②yum包卸载的方式
yum remove 包名
三、安装完成后执行的方法
- 有些软件安装后会自动在应用程序列表里加上快捷键,和windows一样,到那里找就行了。
- 如果在应用程序列表里找不到的话,可以直接在 / 开始 / 运行命令里输入命令:启动命令一般就是软件名,如firefox,realplay,xmms等
- 也可以打开一个shell终端,输入软件名,和在“运行命令”里一样。如果不知道命令全程的话,可以输入开头的字母,然后按tab键查找,系统会自动显示以输入字母开头的所有命令 /
- 你也可以直接到安装目录下运行启动文件,Linux下的可执行图标和shell终端图标很像
- 到 / usr / bin目录里找安装的软件启动文件执行命令。Linux系统把所有可执行的文件命令在 / usr / bin目录里都作了启动连接,你可以去那个目录寻找你安装的文件的启动命令,双击启动
/usr不是user的缩写,其实usr是Unix Software Resource的缩写, 也就是Unix操作系统软件资源所放置的目录,而不是用户的数据;所有系统默认的软件都会放置到/usr, 系统安装完时,这个目录会占用最多的硬盘容量
作者:小a玖拾柒
/usr目录下的重要目录
目录 | 应放置文件内容 |
/usr/X11R6/ | 为X Window System重要数据所放置的目录,之所以取名为X11R6是因为最后的X版本为第11版,且该版的第6次释出之意。 |
/usr/bin/ | 绝大部分的用户可使用指令都放在这里。请注意到他与/bin的不同之处。(是否与开机过程有关) |
/usr/include/ | c/c++等程序语言的档头(header)与包含档(include)放置处,当我们以tarball方式 (*.tar.gz 的方式安装软件)安装某些数据时,会使用到里头的许多包含档。 |
/usr/lib/ | 包含各应用软件的函式库、目标文件(object file),以及不被一般使用者惯用的执行档或脚本(script)。 某些软件会提供一些特殊的指令来进行服务器的设定,这些指令也不会经常被系统管理员操作, 那就会被摆放到这个目录下啦。要注意的是,如果你使用的是X86_64的Linux系统, 那可能会有/usr/lib64/目录产生 |
/usr/local/ | 统管理员在本机自行安装自己下载的软件(非distribution默认提供者),建议安装到此目录, 这样会比较便于管理。举例来说,你的distribution提供的软件较旧,你想安装较新的软件但又不想移除旧版, 此时你可以将新版软件安装于/usr/local/目录下,可与原先的旧版软件有分别啦。 你可以自行到/usr/local去看看,该目录下也是具有bin, etc, include, lib...的次目录 |
/usr/sbin/ | 非系统正常运作所需要的系统指令。最常见的就是某些网络服务器软件的服务指令(daemon) |
/usr/share/ | 放置共享文件的地方,在这个目录下放置的数据几乎是不分硬件架构均可读取的数据, 因为几乎都是文本文件嘛。在此目录下常见的还有这些次目录:/usr/share/man:联机帮助文件 /usr/share/doc:软件杂项的文件说明 /usr/share/zoneinfo:与时区有关的时区文件 |
/usr/src/ | 一般原始码建议放置到这里,src有source的意思。至于核心原始码则建议放置到/usr/src/linux/目录下。 |
此外 还应理解【Linux根目录下各个目录的用途及含义】
环境变量
Linux下设置和查看环境变量
Linux的变量种类
按变量的生存周期来划分,Linux变量可分为两类:
1 永久的:需要修改配置文件,变量永久生效。
2 临时的:使用export命令声明即可,变量在关闭shell时失效。
设置变量的三种方法
1 在/etc/profile文件中添加变量【对所有用户生效(永久的)】
用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。
例如:编辑/etc/profile文件,添加CLASSPATH变量
# vi /etc/profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。
2 在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】
用VI在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。
例如:编辑guok用户目录(/home/guok)下的.bash_profile
vi/home/guok/.bash.profile添加如下内容:exportCLASSPATH=./JAVAHOME/lib;vi/home/guok/.bash.profile添加如下内容:exportCLASSPATH=./JAVAHOME/lib;JAVA_HOME/jre/lib
注:修改文件后要想马上生效还要运行$ source /home/guok/.bash_profile不然只能在下次重进此用户时生效。
3 直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】
在shell的命令行下直接使用[export 变量名=变量值] 定义变量,
该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,
shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。
环境变量的查看
1 使用echo命令查看单个环境变量。例如:
echo $PATH
2 使用env查看所有环境变量。例如:
env
3 使用set查看所有本地定义的环境变量。
使用unset删除指定的环境变量
set可以设置某个环境变量的值。清除环境变量的值用unset命令。如果未指定值,则该变量值将被设为NULL。示例如下:
export TEST="Test..." #增加一个环境变量TESTexport TEST="Test..." #增加一个环境变量TEST env|grep TEST #此命令有输入,证明环境变量TEST已经存在了
TEST=Test...
unset TEST #删除环境变量TEST
$ env|grep TEST #此命令没有输出,证明环境变量TEST已经删除
常用的环境变量
PATH 决定了shell将到哪些目录中寻找命令或程序
HOME 当前用户主目录
HISTSIZE 历史记录数
LOGNAME 当前用户的登录名
HOSTNAME 指主机的名称
SHELL 当前用户Shell类型
LANGUGE 语言相关的环境变量,多语言可以修改此环境变量
MAIL 当前用户的邮件存放目录
PS1 基本提示符,对于root用户是#,对于普通用户是$