[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
3.10.0
中间的数字为偶数时表示内核用的稳定版,奇数为开发版
一、软件包的分类
- 二进制包
- 源码包
- 二进制源码包
二、如何管理rpm包
rpm(redhat package manager) 红帽软件包管理器
rpm也是红帽二进制包的名称标识
①语法:
- 安装:rpm -ivh 软件包名
- 卸载:rpm -e 软件名 [–nodeps(忽略依赖) --force(表示强制)]
- 更新:rpm -Uvh 软件包名 / rpm -Fvh 软件包名
选项说明:
-v 输出详细信息
-h 打印散列标记,一般和-v一起使用
-U 升级软件包,如果没有安装该软件,会自动帮你安装
-F 升级软件包,如果没有安装该软件,不会自动帮你安装
②常用选项:
查看已经安装的所有的rpm包
rpm -qa 软件名
查看已安装的软件生成的文件列表
rpm -ql 软件名
查看文件的所属包名
rpm -qf 文件名
查看已经安装软件生成的的文档文件
rpm -qd 软件名
查看已经安装软件生成的配置文件
rpm -qc 软件名
查看已经安装软件的详细信息
rpm -qi 软件名
查看未安装的rpm包里的文件列表
rpm -qlp 软件包名
查看未安装的rpm包的文件信息
rpm -api 软件包名
--force 表示强制
rpm -ivh 软件包 --force 强制安装软件包
rpm -e 软件包名 --force 强制卸载软件包
--nodeps 忽略依赖关系
rpm -ivh 软件包 --nodeps 忽略依赖关系安装
rpm -e 软件包 --nodeps 忽略依赖关系卸载
③掌握:
rpm --import key_file 导入公钥用于检查rpm文件的签名
rpm --checksig package.rpm 检查rpm包的签名
三、yum工具管理
①yum工具安装的优缺点
yum相对rpm具有自能解决依赖,功能比较多,可以缓存软件包等优点
缺点:查询的速度比较慢
CentOS8中默认使用dnf
②yum常用语法:
-
安装软件:yum install 软件名
-
安装组:yum groupinstall “包组名”
-
卸载软件:yum remove 软件名
-
卸载组: yum groupremove
-
升级包:yum update 软件名(如果未安装,不会直接安装)
yum update 会升级所有软件包及内核 -
在yum源中搜索软件包:yum list | grep 软件名
未安装的包:
[root@localhost ~]# yum list | grep zsh
zsh.x86_64 5.0.2-33.el7 base
已安装:
[root@localhost ~]# yum list | grep zsh
zsh.x86_64 5.0.2-33.el7 @base已安装base源前面多了个@
-
查看软件包组:yum grouplist
-
查看命令属于哪个rpm包:
yum provides *bin/命令名
可选参数:-y 非交互式,直接确认安装
四、yum仓库
①作用:
- 用于分发软件
- 用于服务器软件安装
②分类:
- 本地yum仓库
- 远程yum仓库
③创建本地yum源
a.使用光盘制作本地yum源
.d结尾的目录为:片段配置文件的保存目录
[root@localhost ~]# ls /etc/yum.repos.d/
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
步骤:
cd /etc/yum.repos.d
vim cdrom.repo
[cdrom]##---源标识
name=local cdrom##---源名称
baseurl=file:///mnt(写到包含repodata)
enabled=1(开启仓库)
gpgcheck=0(是否开启安装检查)
清空yum的元数据缓存
yum clean all
重建yum元数据缓存
yum makecache
查看可用yum仓库
yum repolist
b.使用软件包目录制作本地yum源
安装createrepo工具
[root@localhost ~]# yum provides *bin/createrepo
根据搜索出来的结果选择安装包
[root@localhost ~]# yum -y install createrepo-0.9.9-28.el7.noarch
[root@localhost ~]# createrepo /root/smartyum
Spawning worker 0 with 4021 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@localhost ~]# vim /etc/yum.repos.d/smartyum.repo
----
配置本地yum源
----
yum clean all
yum makecache
yum repolist
④创建远程yum源服务器
1、关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# firewall-cmd --state
not running
2、关闭selinux
方法一:修改配置文件
[root@localhost ~]# vim /etc/selinux/config
把SELINUX=enforcing改为SELINUX=diasbled
方法二:使用非交互式方式改
sed -i ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
3、验证方法:
方法一:
[root@localhost ~]# getenforce
Disabled
方法二:
[root@localhost ~]# sestatus
SELinux status: disabled
1、安装apache
[root@localhost ~]# yum -y install httpd
[root@localhost ~]# cp /mnt/Packages/* /var/www/html/
[root@localhost www]# createrepo /var/www/html/
2、开启Apache服务并设为开机自启动
[root@localhost www]# systemctl enable httpd
[root@localhost www]# systemctl start httpd
3、yum源的准备
[root@localhost www]# vim /etc/yum.repos.d/httpyum.repo
[root@localhost www]# cat /etc/yum.repos.d/httpyum.repo
[httpdyum]
name=http 216.130
baseurl=http://192.168.216.130
enabled=1
gpgcheck=0
4、检验
yum clean all
yum makecache
yum repolist
⑤使用网络上的开源软件镜像站
a.阿里云开源镜像站
b.清华大学开源软件镜像站
⑥使用yum的缓存
cat /etc/yum.conf
[main]
2 cachedir=/var/cache/yum/$basearch/$releasever
3 keepcache=0 ##为1时开启缓存,0关闭
4 debuglevel=2
5 logfile=/var/log/yum.log
6 exactarch=1
7 obsoletes=1
8 gpgcheck=1
9 plugins=1
10 installonly_limit=5
11 bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.cen tos.org/bug_report_page.php?category=yum
12 distroverpkg=centos-release
⑦扩展
开机自动挂载磁盘:
[root@localhost ~]# vim /etc/fstab
/dev/cdrom /mnt iso9660 defaults 0 0
设备名 挂载目录 磁盘格式
五、源码安装
①源码软件包的定义:
- 指程序员写的代码
- 不能直接被计算机运行
- 需要编译后才能执行
②安装:
a.对文件进行配置
--prefix=... /usr/local 软件家目录
--bindir=... $prefix/bin 命令的目录
--etcdir=... $prefix/etc 配置文件的目录
--mandir=... $prefix//share/man 文档路径
--locale=... $prefix/share/locale 语言编码
...
b.编译:
make :编译当前目录中所有的c格式的源码包
c.安装:
make install
d.卸载:
1、直接删除安装目录及里面的子文件
2、进入安装目录
make uninstall ##卸载安装
make distclean ##卸载编译和配置过程
[root@localhost axel-1.0a]# rm -rf /opt/axel
[root@localhost axel-1.0a]# vim /etc/profile
在尾行删除如下内容:
export PATH=$PATH:/opt/axel/bin
[root@localhost axel-1.0a]# source /etc/profile
六、二进制归档压缩包安装
[root@localhost softwarepkg]# tar -xf jdk-8u191-linux-x64.tar.gz
[root@localhost softwarepkg]# ls
axel-1.0a jdk1.8.0_191 xlockmore-5.31-2.el6.x86_64.rpm
axel-1.0a.tar.gz jdk-8u191-linux-x64.tar.gz
[root@localhost softwarepkg]# cd jdk1.8.0_191/
[root@localhost jdk1.8.0_191]# ls
bin jre README.html THIRDPARTYLICENSEREADME.txt
COPYRIGHT lib release
include LICENSE src.zip
javafx-src.zip man THIRDPARTYLICENSEREADME-JAVAFX.txt
添加环境变量
[root@localhost local]# tail -2 /etc/profile
export JAVA_HOME=/usr/local/jdk
export PATH=${JAVA_HOME}/bin:$PATH
[root@localhost local]# java -version