$ tar zxvf XXXX.tar.gz (or tar jxvf XXXX.tar.bz2) $ cd XXXX $ ./configure $ make # make install ##安装 $ make clean ##安装完成后用来清理临时文件 $ake uninstall ##用来卸载软件
$ tar zcvf XXXX.tar.gz XXXX(or tar jcvf XXXX.tar.bz2 XXXX) 解压的相关命令以下: $ tar zxvf XXXX.tar.gz $ tar jxvf XXXX.tar.bz2
$ ./configure --prefix=/opt/XXX 它用来设置软件的安装目录.
$ make
$make install
执行完上述操做就能够等待安装完成了。 java
$make clean $make uninstall
这两个步骤只是安装的后续操做,有一点必须注意,"clean"和"uninstall"也是Makefile文件中相应的两个标号,执行这两个步骤的时候Makefile文件必要保留,"make clean"用来清除编译链接过程当中的一些临时文件,"make uninstall"是卸载相关应用程序,与make install相似,make uninstall也须要切换到root执行,不过"uninstall"标号在好多Makefile中都被省略掉了。 node
rpm -i your-package.rpm
其中your-package.rpm是你要安装的rpm包的文件名,通常置于当前目录下。 mysql
安装过程当中可能出现下面的警告或者提示:... conflict with ... 多是要安装的包里有一些文件可能会覆盖现有 的文件,缺省时这样的状况下是没法正确安装的能够用 rpm --force -i 强制安装便可 ... is needed by ... ... is not installed ... 此包须要的一些软件你没有安装能够用 rpm --nodeps -i 来忽略此信息 也就是说,rpm -i --force --nodeps 能够忽略全部依赖关系和文件问题,什么包 都能安装上,但这种强制安装的软件包不能保证彻底发挥功能
1.执行rpm -i your-package.src.rpm 2. cd /usr/src/redhat/SPECS 3. rpmbuild -bp your-package.specs 一个和你的软件包同名的specs文件 4. cd /usr/src/redhat/BUILD/your-package/ 一个和你的软件包同名的目录 5. ./configure 这一步和编译普通的源码软件同样,能够加上参数 6. make 7. make install
1.执行rpm -i you-package.src.rpm 2. cd /usr/src/redhat/SPECS 前两步和方法一相同 3. rpmbuild -bb your-package.specs 一个和你的软件包同名的specs文件
这时,在/usr/src/redhat/RPM/i386/ (根据具体包的不一样,也多是i686,noarch等等)目录下,有一个新的rpm包,这个是编译好的二进制文件,执行rpm -i new-package.rpm便可安装完成。 sql
rpm -e proftpd-1.2.8-1 rpm -e proftpd-1.2.8 rpm -e proftpd- rpm -e proftpd
不能够是下列格式: shell
rpm -e proftpd-1.2.8-1.i386.rpm rpm -e proftpd-1.2.8-1.i386 rpm -e proftpd-1.2 rpm -e proftpd-1
有时会出现一些错误或者警告: vim
... is needed by ... 这说明这个软件被其余软件须要,不能随便卸载
能够用rpm -e --nodeps强制卸载 缓存
rpm2cpio xxx.rpm | cpio -vi rpm2cpio xxx.rpm | cpio -idmv rpm2cpio xxx.rpm | cpio --extract --make-directories
参数i和extract相同,表示提取文件。v表示指示执行进程 工具
d和make-directory相同,表示根据包中文件原来的路径创建目录rpm -qa 列出全部安装过的包
若是要查找全部安装过的包含某个字符串sql的软件包 ui
rpm -qa |grep sql
rpm -q mysql 能够得到系统中安装的mysql软件包全名,从中能够得到当前软件包的版本等信息。
这个例子中能够获得信息mysql-3.23.54a-11 spa
rpm -ql 包名 注意这里的是不包括.rpm后缀的软件包的名称
也就是说只能用mysql或者mysql-3.23.54a-11而不是mysql-3.23.54a-11.rpm,若是只是想知道可执行程序放到那里去了,也能够用which,好比
which mysql
一个没有安装过的软件包,使用:rpm -qlp ****.rpm 一个已经安装过的软件包,还可使用:rpm -ql ****.rpm
一个没有安装过的软件包,使用rpm -qip ****.rpm 一个已经安装过的软件包,还可使用rpm -qi ****.rpm
rpm -qf `which 程序名` 返回软件包的全名 rpm -qif `which 程序名` 返回软件包的有关信息 rpm -qlf `which 程序名` 返回软件包的文件列表
注意,这里不是引号,而是`,就是键盘左上角的那个键,也可使用rpm -qilf,同时输出软件包信息和文件列表
# whereis ftptop ftptop: /usr/bin/ftptop /usr/share/man/man1/ftptop.1.gz # rpm -qf /usr/bin/ftptop proftpd-1.2.8-1 # rpm -qf /usr/share/doc/proftpd-1.2.8/rfc/rfc0959.txt proftpd-1.2.8-1
得到软件包相关的信息用rpm -q,q表示查询query,后面能够跟其余选项,好比
i 表示info,得到软件包的信息; l 表示list,得到文件列表; a 表示all,在全部包中执行查询; f 表示file,根据文件进行相关的查询; p 表示package,根据软件包进行查询 须要的查询条件可使用grep产生,或者从"` `"中的命令行产生
yum install 所有安装 yum install package1 安装指定的安装包package1 yum groupinsall group1 安装程序组group1
yum update 所有更新 yum update package1 更新指定程序包package1 yum check-update 检查可更新的程序 yum upgrade package1 升级指定程序包package1 yum groupupdate group1 升级程序组group1
yum info package1 显示安装包信息package1 yum list 显示全部已经安装和能够安装的程序包 yum list package1 显示指定程序包安装状况package1 yum groupinfo group1 显示程序组group1信息yum search string 根据关键字string查找安装包
yum remove | erase package1 删除程序包package1 yum groupremove group1 删除程序组group1 yum deplist package1 查看程序package1依赖状况
yum clean packages 清除缓存目录下的软件包 yum clean headers 清除缓存目录下的 headers yum clean oldheaders 清除缓存目录下旧的 headers yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 清除缓存目录下的软件包及旧的headers
yum install yum-downloadonly完成安装后,yum就多了两个命令参数,分别是:
--downloadonly --downloaddir=/path/to/dir
这两个命令参数的含义很是明确,不用多做解释了,这样,用户就能够作到使用yum只下载软件包,不自动安装了
vim /etc/yum.conf [main] cachedir=/var/cache/yum keepcache=0
将 keepcache=0 修改成 keepcache=1, 安装或者升级后,在目录 /var/cache/yum 下就会有下载的 rpm 包了。