Linux入门系列——软件包管理

Linux入门系列——软件包管理,第1张

RedHat 系统中使用的是: rpm (redhat package manager) 现在称:RPM is Package Manager

Debian : dpt

Ubuntu : apt

安装软件的时候,有可能出现软件包的相互依赖关系;所以红帽公司推出了:yum(Yellowdog update modifier)

包的组成部分:

主包:

bind-9.7.1-1..e15.i586.rpm

子包:

bind-libs-9.7.1-1..e15.i586.rpm

bind-utils-9.7.1-1..e15.i586.rpm

包名:

PackageName-Version-Release.Arch.rpm

bind-major-minor-releases-release.arch.rpm

包名-主版本号-次版本号-发行号-rpm包的制作者的发行号.硬件平台.rpm

主版本号:重大改进;

次版本号:某个子功能发生重大变化;

发行号:修改BUG,调整了一点功能;

bind-9.7.1-1.noarch.rpm 这里的noarch表示不区分硬件平台,32和64都可以使用;如果是ppc则是在PowerPc上使用的包;

# rpm -ivh /path/to/Package_Name

-i,--install 表示安装

-v 表示显示安装过程的信息

-h 表示以#显示安装的进程,总数为50个;

-vv 显示更详细的过程;

--nodeps 安装的时候忽略依赖关系

--force 无论之前是否安装过,都强制安装,可以实现重装、降级;

--replacepkgs 重新安装,替换原有的安装;

--oldpackage 对软件包进行降级;

--test Do not install the package, simply check for and report potential conflicts. 不进行安装,只测试看在安装的时候有没有依赖包要装;

rpm -q soft_name

# rpm -q httpd

rpm -qa 查询当前系统中已经安装的rpm软件包;

# rpm -qa |grep ‘ssh*’

rpm -qi soft_name 查询软件包的安装信息:

[root@ns2 rpm]# rpm -qi zlib-devel

Name : zlib-devel Relocations: /usr

Version : 1.2.3 Vendor: CentOS

Release : 4.el5 Build Date: 2011年05月11日 星期三 18时57分15秒

Install Date: 2013年07月21日 星期日 17时02分41秒 Build Host: builder10.centos.org

Group : Development/Libraries Source RPM: zlib-1.2.3-4.el5.src.rpm

Size : 269981 License: BSD

Signature : DSA/SHA1, 2011年09月04日 星期日 03时24分25秒, Key ID a8a447dce8562897

URL : http://www.gzip.org/zlib/

Summary : Zlib 开发的头文件和库。

Description :

zlib-devel 软件包包括开发使用 zlib 压缩和解缩库的程序

所需的头文件和库。

[root@ns2 rpm]#

rpm -ql soft_name 查看该软件包在系统中存放了哪些文件;

rpm -qf /path/to/file_name 查看该文件是由哪个rpm包生成的。

rpm -qc soft_name 查看指定rpm包安装的配置文件的位置;

rpm -qd soft_name 查看指定rpm包安装的帮助文件的位置;

rpm -q --scripts soft_name 查看指定rpm包在安装、卸载、更新的前后,所要执行的shell脚本;

rpm -qp[i|l|d|c|] 即要加上一个“p”选项;

rpm -Uvh /path/to/package_name

如果安装的指定的软件包已经安装过,则进行升级 *** 作,如果没有安装过,则就使用指定的这个软件包进行安装;

rpm -Fvh /path/to/package_name

如果安装过,则升级,否则不进行任何 *** 作;

rpm -Fvh --oldpackage package_name 通常用这个来降级一个rpm包;

rpm -e package_name

--nodeps 强制卸载

rpm -V package_name 也可以使用--verify

通常用来检查安装后的文件是不是被修改过;

加密算法:

对称加密: 加密和解密使用同一个key

非对称加密:有一对密钥(公钥和私钥),公钥大家都可以知道,私钥只有持有人知道;公钥加密私钥解,私钥加密公钥也可以解。不能由公钥摧出私钥,也不能由私钥摧出公钥;私钥还用来做签名,因为只有私钥持有人自己才有;

单向加密:使用这种加密算法加密后,是不可以再还原的。通常用它来做数据完整性的验证,也就是验证数据在传输的过程中有没有被别人修改过。

在红帽的系统中,/etc/pki/rpm-gpg/目录下面存放了红帽公司的gpg-key(相当于公钥),所以只需要把这个gpgkey导入到系统中就可以验证了。导入方法如下:

# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

接下来就可以对将要安装的rpm包进行验证了:

# rpm -K /path/to/package_file

dsa,gpg验证来源的合法性,也就是验证签名。但是可以使用--nosignature 来跳过签名验证;

sha1,md5验证软件包的完整性,可以使用--nodigest 来跳过完整性验证;

rpm --rebuilddb 重建数据库

--initdb 初始化数据库

yum install -y pack1 pack2 安装指定的软件包

yum remove pack1 pack2 -y 删除指定的软件包

yum update pack1 pack2 更新指定的软件包

yum list installed 列出所有已经安装的软件包

yum update 更新源

yum search string 搜索包含string的软件包

yum install package_name 获取软件包信息

# tar zxf nginx-1.4.7.tar.gz -C /usr/src

# configure --prefix=/usr/local/nginx --conf-path=/etc

# make

# make install

由于使用的是源码包安装在非正常路径下。所以还要做以下的调整:

修改/etc/profile文件。或是在/etc/profile.d/下创建一个以.sh结尾的文件;再把二进制程序的路径export出来就行了;

在/etc/ld.so.conf.d/中创建一个以.conf文件结尾的文件,而后把要增添的路径直接写入此文件中就行了;

这样系统就会在下次启动的时候,自动加载这些新增加的库;如果想让系统马上可以找到这些新增加的库,就必须执行下面的命令:

# ldconfig 通知系统重新搜索库文件,还可以加上-v选项,表示显示过程;

默认的头文件搜索路径是:/usr/include/

要添加新的头文件搜索路径,可以使用链接的方式:

ln -s /usr/local/nginx/include/* /usr/include/

ln -s /usr/local/nginx/include /usr/include/nginx

这时可以修改/etc/man.conf文件,在里面添加以下内容:

MANPATH /usr/local/nginx/man

还有一种方式就是临时使用:

# man -M /usr/local/nginx/man nginx 这样就可以查看nginx的man手册了;

Linux系统如果需要安装软件怎么办?如何安装,大概有以下几种方式

1.二级制软件包管理(RPM 、YUM)

2.源代码包安装

3.脚本安装(Shell或Java脚本)

4.Debian系

RPM名称软件包: sudo-1.7.2pl-5.el5.i386.rpm

解释:

实例:

查询nginx包信息

md5校验软件,正常无任何提示,如果做过更改就会有提示。

Yum是由Duke University团队修改Yellow Dog Linux的Yellow Dog Updater开发而成,是一个基于RPM包管理的字符前端软件包管理器。能够从指定的服务器自动下载RPM包并且安装,可以处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。被Yellow Dog Linux本身,以及Fedora、Red Hat Enterprise Linux采用。

yum应用的好处

1.自动解决软件包依赖关系

2.方便软件包升级

源代码包的好处

1.适应于大多数unix *** 作系统。

2.源代码包安装灵活,可定制。

3.卸载方便:先关闭进程,删除文件夹。

大致分为四步

1.下载所需要的软件版本。2.解压。 3.配置指定安装目录。 4.编译。 5.安装。

Debian系(乌班图系统 ubuntu )

APT:是Debian及其派生的Linux软件包管理器。APT可以自动下载,配置,安装二进制或者源代码格式的软件包,因此简化了Unix系统上管理软件的过程。APT最早被设计成dpkg的前端,用来处理deb格式的软件包。现在经过APT-RPM组织修改,APT已经可以安装在支持RPM的系统管理RPM包。

dpkg:最初由Debian使用,现在由Ubuntu使用。使用.deb格式,是第一个拥有广为人知的依赖性解决工具APT。

写一个Linux下搭建Discuz论坛的全过程教程。

本例使用的Linux系统为:RHEL5.3。

1.[root@linux ~]# mkdir /mnt/cdrom

2.[root@linux ~]# mount /dev/cdrom /mnt/cdrom

这是在Windows下使用VMware虚拟机运行Linux的。

先在把RHEL5.3的ISO镜像文件加载到虚拟机的光驱,然后才执行mount命令。

3.[root@linux ~]# vi /etc/yum.repos.d/rhel-debuginfo.repo

原来:

[rhel-debuginfo]

name=Red Hat Enterprise Linux $releasever – $basearch – Debug

baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/$basearch/Debuginfo/

enabled=0

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

改成:(把原来的baseurl注释掉,在baseurl前面添加#,新添加baseurl=file:///mnt/cdrom/Server,并把enabled=0修改成enabled=1。)

[rhel-debuginfo]

name=Red Hat Enterprise Linux $releasever – $basearch – Debug

#baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/$basearch/Debuginfo/

baseurl=file:///mnt/cdrom/Server

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

4.[root@linux ~]# yum clean all

5.[root@linux ~]# yum list

6.[root@linux ~]# yum grouplist   显示软件的安装包组。

Loaded plugins: rhnplugin, security

This system is not registered with RHN.

RHN support will be disabled.

Setting up Group Process

rhel-debuginfo/group                                     | 1.0 MB     00:00

Installed Groups:

Administration Tools

Editors

Legacy Network Server

Mail Server

Network Servers

Server Configuration Tools

Sound and Video

System Tools

Available Groups:

Authoring and Publishing

DNS Name Server

Development Libraries

Development Tools

Engineering and Scientific

FTP Server

GNOME Desktop Environment

GNOME Software Development

Games and Entertainment

Graphical Internet

Graphics

Java Development

KDE (K Desktop Environment)

KDE Software Development

Legacy Software Development

Legacy Software Support

MySQL Database

News Server

Office/Productivity

OpenFabrics Enterprise Distribution

PostgreSQL Database

Printing Support

Text-based Internet

Web Server

Windows File Server

X Software Development

X Window System

Done

7.[root@linux ~]# yum groupinstall -y “MySQL Database”  安装MySQL。

8.[root@linux ~]# yum grouplist

9.[root@linux ~]# yum groupinstall -y “Web Server”

成功安装“MySQL Database”和“Web Server”之后,接着还需要安装php-mysql。

10.[root@linux ~]# yum list | grep php-*  把php相关的软件包都列出来。

11.[root@linux ~]# cd /mnt/cdrom/Server    进入软件包目录。

12.安装php-mysql,这里有个小技巧,就是输入rpm –ivh php-mysql之后,按TAB键,来实现补全这个安装包的名字。

[root@linux Server]# rpm -ivh php-mysql-5.1.6-23.2.el5_3.i386.rpm

error: Failed dependencies:

php-pdo is needed by php-mysql-5.1.6-23.2.el5_3.i386

13.出现错误需要php-pdo的依赖关系,需要把php-mysql和php-pdo两个包同时装上,这里也使用TAB键就可以补全软件包长长的名字。

[root@linux Server]# rpm -ivh php-mysql-5.1.6-23.2.el5_3.i386.rpm php-pdo-5.1.6-23.2.el5_3.i386.rpm

Preparing…                ########################################### [100%]

1:php-pdo                ########################################### [ 50%]

2:php-mysql              ########################################### [100%]

14.[root@linux Server]# service mysqld start         启动mysql,注意是mysqld,多一个字母d的。

15.[root@linux Server]# netstat -antupl | grep 3306       查看mysql状态

tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      4581/mysqld

16.[root@linux Server]# service httpd start          启动http,注意是httpd,多一个字母d的。

Starting httpd:                                            [  OK  ]

17.开启mysql和http在运行级别为3、4、5的时候开机后自动启动服务(注意mysql和mysqld,http和httpd,都多一个d字母的!)

[root@linux Server]# chkconfig  —level 345 mysqld on      ( level前面两个“-”减号的)

[root@linux Server]# chkconfig  —level 345 httpd on

18.我把论坛的zip压缩包Discuz_X1.5_SC_UTF8.zip放在了/root目录,所以回到root的用户目录,把压缩包解压出来。

[root@linux ~]# unzip Discuz_X1.5_SC_UTF8.zip

[root@linux ~]# ls

anaconda-ks.cfg  Discuz_X1.5_SC_UTF8.zip  install.log.syslog  upload

bbs              install.log              readme              utility

解压出来得到一个upload文件夹,把upload里面的文件都移到/var/www/html/目录。

19.[root@linux ~]# mv upload/* /var/www/html/

[root@linux ~]# ls /var/www/html

admin.php  crossdomain.xml  home.php    plugin.php  static

api        data             index.php   portal.php  template

api.php    favicon.ico      install     robots.txt  uc_client

config     forum.php        member.php  search.php  uc_server

cp.php     group.php        misc.php    source      userapp.php

20.[root@linux ~]# chmod -R 777 /var/www/html/   给论坛的所有文件都添加可读可写可执行的权限(注意:这里我是为了方便,把论坛的所有文件何目录都设成777是不科学的,实际情况并不需要全部777,把/config/、/data/、/uc_client/data、/uc_server/data设置成777就可以了)

[root@linux ~]# ls -l /var/www/html

total 104

-rwxrwxrwx  1 root root 2413 Oct 20 16:15 admin.php

drwxrwxrwx  7 root root 4096 Oct 20 16:15 api

-rwxrwxrwx  1 root root  741 Oct 20 16:15 api.php

……………..

21.[root@linux ~]# mysqladmin -u root password 123456   设置mysql的root用户密码为123456

22.[root@linux ~]# mysql -u root -p

Enter password:   (这里输入你设置的密码,输入是看不见的)

Welcome to the MySQL monitor.  Commands end with or \g.

已经进入mysql了

mysql>grant all on *.* to root@”%” identified by “123456”   授权,允许root用户使用密码123456访问数据库。

23.剩下安装论坛的 *** 作在浏览器下完成,用浏览器打开linux服务器的ip地址,以下就看图了。

(2)上一步选择“同意”后,出现“安装向导”,上图为第一步的“开始安装”。看到没有,上面都有“绿色”的勾,如果当初没有执行 chmod –R 777 /var/www/html/ 的话,这里就会是“红色”的叉了。选择“下一步”继续。

(3)安装向导的第二步,选择“全新安装Discuz!X”,当然也可以选择“仅安装Discuz!X”。“下一步”继续。

(4)看上图,只需修改用红圈圈起来的那几项。“下一步”继续。

(5)到了最后一步了。“联系方式”。“提交”。

(6)完成,上图所示。论坛安装完成了。

24.登录论坛。

成功登录。那么,整个搭建到安装就完成了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8984257.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-23
下一篇2023-04-23

发表评论

登录后才能评论

评论列表(0条)

    保存