Linux软件管理分类:
1、rpm包管理 ----- yum工具
2、源码包管理
Redhat
Centos
Debian
Ubuntu
包名.rpm
如何获取rpm包?
互联网
光盘镜像 常用的都包含了
通过本地光盘挂载获取本地的rpm包
1、将光盘加载到系统内,点击已连接
2、df -h 查看挂载状态
/dev/sr0 4.4G 4.4G 0 100% /run/media/root/CentOS 7 x86_64
cd /run/media/root/CentOS\ 7\ x86_64
cd Packages/;ls
nmap-6.40-7.el7.x86_64.rpm
包名-版本.系统版本.平台.rpm
依赖关系:
A-B-C
安装软件:
rpm -ivh /mnt/Packages/nmap-6.40-7.el7.x86_64.rpm
-i 安装 install
-v 显示过程 view
-h 显示%
df -h
/dev/sr0 .... /run/media/root/CentOS\ 7\ x86_64/Packages
umount /dev/sr0 #解除绑定关系,称为卸载
mount /dev/sr0 /mnt #重新定义绑定关系,称为挂载
cd /mnt/Packages;ls
rpm -ivh nmap-6.40-19.el7.x86_64.rpm
查询是否安装
rpm -q nmap #query
查询包的信息
rpm -qi nmap # infomation
查询安装位置
rpm -ql nmap #list
查看配置文件
rpm -qc nmap #config
查看帮助文档的位置
rpm -qd nmap #ducoment
查询已安装软件包中和vim相关软件
rpm -qa | grep vim
卸载
rpm -e nmap
查询文件对应的软件包
rpm -qf /etc/man_db.conf
rpm -qf which cat
查看未安装的软件rpm -qpi httpd-2.4.6-40.el7.centos.x86_64.rpmrpm -qpl httpd-2.4.6-40.el7.centos.x86_64.rpm 安装或卸载时忽略依赖关系(rpm软件包在安装或卸载时都可以忽略依赖,但是可能导致安装后的软件功能不完整或不能正常使用)
rpm -ivh qemu-kvm-1.5.3-167.el7.x86_64.rpm
rpm -e qemu-kvm-1.5.3-167.el7.x86_64
rpm --help
rpm -e qemu-kvm-1.5.3-167.el7.x86_64 --nodeps #--nodeps忽略依赖
手动解决依赖关系
[root@localhost Packages]# rpm -ivh httpd-2.4.6-40.el7.centos.x86_64.rpm
警告:httpd-2.4.6-40.el7.centos.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
错误:依赖检测失败:
/etc/mime.types 被 httpd-2.4.6-40.el7.centos.x86_64 需要
httpd-tools = 2.4.6-40.el7.centos 被 httpd-2.4.6-40.el7.centos.x86_64 需要
[root@localhost ~]# rpm -ivh /mnt/Packages/apr-1.4.8-5.el7.x86_64.rpm
[root@localhost ~]# rpm -ivh /mnt/Packages/apr-util-1.5.2-6.el7.x86_64.rpm
[root@localhost Packages]# rpm -ivh httpd-tools-2.4.6-40.el7.centos.x86_64.rpm
警告:httpd-tools-2.4.6-40.el7.centos.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:httpd-tools-2.4.6-40.el7.centos ( 30%################################# [100%]
[root@localhost Packages]# rpm -ivh mailcap-2.1.41-2.el7.noarch.rpm
[root@localhost Packages]# rpm -ivh httpd-2.4.6-40.el7.centos.x86_64.rpm
systemctl restart httpd 重新启动httpd服务(注意关闭防火墙和selinux)
echo test_web > /var/www/html/index.html
curl http://127.0.0.1 或 使用firefox浏览器,输入地址127.0.0.1即可
强制安装
rpm -ivh httpd-2.4.6-40.el7.centos.x86_64.rpm --force
不检查依赖关系卸载
rpm -e httpd-tools --nodeps
查看提供文件的包
[root@localhost test]# yum provides /etc/mime.types
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
mailcap-2.1.41-2.el7.noarch : Helper application and MIME type associations
: for file types
源 :CentOS7-2
匹配来源:
文件名 :/etc/mime.types
yum库的使用
rpm --import /mnt/RPM-GPG-KEY-CentOS-7 导入key(从光盘镜像)
yum工具作用:批量安装软件包,而且自动解决依赖关系。
使用yum方法:
1、配置yum仓库(光盘、互联网)
2、配置yum源文件
3、检测yum 及使用
yum工具---------软件仓库(光盘中,网络)
(yum源文件)
1、光盘挂载
将光盘放入系统
df -h
umount /dev/sr0 #解除自动挂载的关系
mount /dev/sr0 /mnt
ls /mnt/
2.进入到yum库的配置文件目录: /etc/yum.repos.d/
[root@localhost yum.repos.d]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir dir1
[root@localhost yum.repos.d]# mv * dir1/
[root@localhost yum.repos.d]# touch iso.repo yum源文件文件名自定义,结尾要以.repo
2.配置
[root@localhost yum.repos.d]# vim /etc/yum.repos.d/iso.repo
[CentOS7.2] 池名称,表示标识名称
name=centos7.2 描述
baseurl=file:///mnt 仓库地址 file 本地 http 网络 ftp 网络
enabled=1 是否开启本仓库,0不开启1开启,不写此项也是开启
gpgcheck=0 是否检测密钥,0不检测1检测,如果本地光盘镜像可以选0,互联网的源,通常要为1
3.测试
[root@localhost yum.repos.d]# yum clean all 清空yum缓存
[root@localhost yum.repos.d]# yum makecache fast 快速建立缓存(可选,当前操作为手动,如果执行yum repolist all命时此步骤自动执行)
已加载插件:fastestmirror, langpacks
CentOS7.2 | 3.6 kB 00:00
(1/4): CentOS7.2/filelists_db | 2.9 MB 00:00
(2/4): CentOS7.2/group_gz | 155 kB 00:00
(3/4): CentOS7.2/primary_db | 2.8 MB 00:00
(4/4): CentOS7.2/other_db | 1.2 MB 00:00
Determining fastest mirrors
元数据缓存已建立
[root@localhost yum.repos.d]# yum list
[root@localhost yum.repos.d]# yum repolist
[root@localhost yum.repos.d]# yum repolist all ,yum install -y dhcp ,yum remove -y dhcp,yum remove httpd , yum install httpd
软件包:
dhcp wireshark* 抓包工具 autofs 实现自动挂载 bind 是dns服务 httpd 是web服务 mariadb* 数据库服务 vsftp 文件传输服务器
yum search vim 搜索所有和vim相关软件包
yum install httpd-devel 安装 yum install httpd dhcp php-*
yum install -y httpd-devel
yum reinstall httpd-devel
yum provides /etc/mime.types 所有提供文件的软件包
yum remove httpd
yum info httpd
yum list httpd
dhcp httpd autofs nfs samba vsftpd bind wireshark*
1、search搜索关键字提供的软件
2、install安装软件
3、rpm -ql softwarename 查看软件包提供了哪些文件,比如提供了文件A
4、yum provides 文件A 查看是哪个软件包提供的
5、yum remove softwarename 删除此软件
6、rpm -qa | grep softwarename 查看软件是否已安装
yum group list
yum group install "开发工具"
同一个配置文件中配置多库
[root@localhost yum.repos.d]# mv aa.repo /
[root@localhost yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo 从网络上下载一个
[root@localhost yum.repos.d]# ls
CentOS-Base.repo
[root@localhost yum.repos.d]# vim CentOS-Base.repo 查看其内容发有多库
[root@localhost yum.repos.d]# yum repolist all
[root@localhost yum.repos.d]# yum install dhcp -y
多个配置文件配置多库
[root@localhost yum.repos.d]# ls
CentOS-Base.repo iso.repo
[root@localhost yum.repos.d]# cat iso.repo
[CentOS7.2]
name=centos7.2
baseurl=file:///mnt
enabled=1
gpgcheck=0
yum update dhcp
手动建立yum库
[root@localhost ~]# mkdir /zijian
[root@localhost ~]# cp /mnt/Packages/* /zijian/
[root@localhost ~]# rpm -qf which createrepo
createrepo-0.9.9-23.el7.noarch
[root@localhost ~]# createrepo /zijian/
[root@localhost pack]# vim /etc/yum.repos.d/zijian.repo
[zijian]
name=zijian
baseurl=file:///zijian
gpgcheck=0
enabled=1
默认互联网源 有点慢
换安装源
百度搜 华为镜像
百度搜 阿里源(维护状态中)
方法一:
腾讯镜像站:https://mirrors.cloud.tencent.com/help/centos.html
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo yum repolist all
方法二:
网易163镜像站配置方式
1、http://mirrors.163.com/centos/7.9.2009/os/x86_64/
2、配置yum源文件
[163]
name=163
baseurl=http://mirrors.163.com/centos/7.9.2009/os/x86_64
enabled=1
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/7.9.2009/os/x86_64/RPM-GPG-KEY-CentOS-7
3、yum repolist all
源码安装nginx软件
一、源码包安装流程
1、将软件拷贝到linux系统中,解压缩,上传软件可通过xshell
cd /opt/;tar xf nginx-1.5.1.tar.gz
2、安装前配置和检测环境
cd /opt/nginx-1.5.1/ (./configure --help建议查看一下帮助了解--prefix)
./configure --prefix=/usr/local/nginx #--prefix=安装路径
第一个报错:缺少编译器gcc-c++
yum install -y gcc-c++
./configure --prefix=/usr/local/nginx
第二个报错:缺少pcre函数库
yum install -y pcre-devel
第三个报错缺少zlib函数库
./configure --prefix=/usr/local/nginx
yum install -y zlib-devel
3、编译
make
4、安装
make install
检测是否安装成功
[root@localhost nginx]# pwd
/usr/local/nginx
[root@localhost nginx]# ls
conf html logs sbin
配置文件 网页 日志 启动程序
(二)、打开nginx软件,并测试:
[root@localhost nginx]# ls sbin
nginx
[root@localhost sbin]# ./nginx 执行nginx文件,达到开启nginx服务的效果
[root@localhost sbin]# systemctl stop httpd 关闭apache服务,避免冲突
[root@localhost sbin]# ps aux | grep nginx #ps aux 搜索系统所有进程,grep nginx过滤出nginx进程
root 9310 0.0 0.0 20360 588 ? Ss 19:10 0:00 nginx: master process ./nginx
nobody 9311 0.0 0.0 22840 1348 ? S 19:10 0:00 nginx: worker process
看到master和worker就证明已经打开了nginx服务
[root@localhost nginx]# cd html/
[root@localhost html]# ls #nginx程序安装后,自带了index.html这个默认索引页
50x.html index.html
打开浏览器,访问127.0.0.1,应当能看到nginx的欢迎页面
[root@localhost html]# killall nginx #killall nginx是杀死nginx进程,达到关闭nginx服务的效果
[root@localhost html]# ps aux | grep nginx #再次查看发现已经关闭了nginx
root 9646 0.0 0.0 112728 968 pts/0 R+ 19:12 0:00 grep --color=auto nginx
(三)卸载源码包
rm -rf /usr/local/nginx
打包压缩
压缩
[root@localhost tmp]# dd if=/dev/zero of=/tmp/data bs=1M count=200
du命令
du /tmp/data.gz
du -sh /etc/
linux系统中文件可以压缩,目录不能被压缩
1、gzip
[root@localhost /]# cp /etc/man_db.conf /opt/
[root@localhost /]# cd /opt/
[root@localhost opt]# ls
man_db.conf
[root@localhost opt]# man gzip
[root@localhost opt]# ll -h man_db.conf
-rw-r--r--. 1 root root 5.1K 3月 1 21:48 man_db.conf
[root@localhost opt]# gzip man_db.conf 压缩
[root@localhost opt]# ls
man_db.conf.gz
[root@localhost opt]# ll -h man_db.conf.gz
-rw-r--r--. 1 root root 2.0K 3月 1 21:48 man_db.conf.gz
[root@localhost opt]# gzip -d man_db.conf.gz #-d解压缩
[root@localhost opt]# ls
man_db.conf
[root@localhost opt]# file man_db.conf.gz #file命令可以查看文件类型
bzip2
bzip2 data
bunzip2 data.bz2 或 bzip2 -d man_db.conf.gz
[root@localhost opt]# bzip2 -k man_db.conf
xz
xz 文件名
xz -d 文件名
进阶:
gzip保留源文件方法1:
[root@localhost opt]# gzip file1
[root@localhost opt]# ls
file1.gz
[root@localhost opt]# gzip -d file1
[root@localhost opt]# ls
file1
[root@localhost opt]# gzip -c file1 > file1.gz 保留源文件
gzip保留源文件2
cat file1 | gzip > file100.gz
打包
1.可以将琐碎文件,打包成一个文件.方便管理
2.可以提升传输速度
tar
语法:
tar 选项 新建打包文件名 被打包的文件1 被打包的文件2
打包
tar -cvf boot.tar /boot/
查看
tar -tvf boot.tar
追加打包
tar -rvf boot.tar /tmp/data
解包
tar -xvf boot.tar
指定包的存储路径
tar -cvf /home/boot.tar /boot/
解包指定路径
tar -xvf boot.tar -C /home/
多文件打包及目录打包
对多文件:
tar -cvf newfile.tar file1 file2 file3
对目录打包,并对其压缩:
tar -cvf etc.tar /etc
gzip etc.tar
压缩打包:
-z gzip
-j bzip2
-J xz
tar -zcvf /tmp/boot.tar.gz /boot/
查看
tar -ztvf /tmp/boot.tar.gz
解压缩包
tar -zxvf /tmp/boot.tar.gz -C /home/
压缩打包:
tar -jcvf /tmp/boot.tar.bzip2 /boot/
查看
tar -jtvf /tmp/boot.tar.bzip2
解压缩包
tar -jxvf /tmp/boot.tar.bzip2 -C /home/
test.tgz test.tbz