七、软件包管理

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

默认互联网源 有点慢
换安装源
百度搜 华为镜像
百度搜 阿里源(维护状态中)

方法二:
网易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

Original: https://www.cnblogs.com/wang-yongxu/p/16442028.html
Author: Lyon-w
Title: 七、软件包管理

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/581983/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Linux下定时自动备份Docker中所有SqlServer数据库

    给出一个备份的范例 #!/bin/bash #设置mssql备份目录 folder=/var/opt/mssql/data/databack/ day=date +%Y%m%d%H…

    Linux 2023年6月14日
    0113
  • Linux系统优化

    一、 系统信息查看方法 查看系统名称信息 cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) 查看系统内核版本…

    Linux 2023年5月27日
    0141
  • 在VS code使用Remote-SSH远程连接Linux 开发C++ 配置详细介绍

    VS code 远程连接服务器,编译C++ 一、前期准备 1、VS code安装 Remote-SSH插件 2、Windows安装SSH。 3、Linux服务器连接测试。 a.接通…

    Linux 2023年6月14日
    0117
  • CentOS 7.6 安装 MySQL-5.7.31(RPM方式安装)

    准备工作: 注:5.7.31版本安装步骤及初始化和之前版本有较大区别 CentOS 7.6 系统: 带GUI的服务器 默认安装 MySQL 5.7.31 安装包: 1.RPM安装包…

    Linux 2023年6月8日
    088
  • Git详细使用流程

    初始化git仓库 git init 执行命令后文件夹下将会在执行命令路径下生成.git隐藏文件上传该路径下的所有内容到暂存区 git add . 通常项目中都有read.me,创建…

    Linux 2023年6月7日
    0114
  • redis缓存按条件查询,删除等等i_master_cell

    先用hash 存masterid中的全部i_master_cell key为master_id hash里面为key 为cell_id value为i_master_cell的各个…

    Linux 2023年5月28日
    091
  • Flink 如何分流数据

    场景 分流方式 如何分流 使用Filter分流 使用Split分流 使用Side Output分流 场景 获取流数据的时候,通常需要根据所需把流拆分出其他多个流,根据不同的流再去作…

    Linux 2023年6月7日
    0138
  • 附025.kubeadm部署Kubernetes更新证书

    一 查看证书 提示:由上可知,根证书有效期为10年,其他所有证书有效期为1年。 二 证书类别 由此集群根证书签发的证书有: 提示:kubelet的/var/lib/kubelet/…

    Linux 2023年6月13日
    0123
  • Docker centos7,宝塔

    拉取一个centos镜像 docker pull centos:centos7 运行一个容器 docker run -i -t -d –restart=always –name…

    Linux 2023年6月6日
    099
  • css中*{}和*html,body{}的区别

    css里面定义*{padding:0px;margin: 0px;} 相当于选择器,代表html所有的元素,包括html标签、body标签等; {}大括号里面写入需要给定的属性和属…

    Linux 2023年6月13日
    093
  • Linux内核中内存管理相关的数据结构

    本文简要说明几个内核和内存管理有关的结构体。其中 struct page 和 struct zone有较大幅度的删减,主要删减了和NUMA模型SPARSE模型以及内存热插拔相关的域…

    Linux 2023年6月7日
    0112
  • 10分钟轻松学会 Python turtle 绘图

    先说明一下turtle绘图的基础知识: 1. 画布(canvas) 画布就是turtle为我们展开用于绘图区域, 我们可以设置它的大小和初始位置 1.1 设置画布大小 turtle…

    Linux 2023年6月8日
    0103
  • Linux通过手机USB网络共享上网

    多数情况下,服务器无法直接联网,需通过手机连线上网。设置方法如下: 终端中查看现有网络接口: ip addr 或 ifconfig 连接好数据线并在手机设置中打开”通过…

    Linux 2023年6月14日
    096
  • vnc复制粘贴与禁止

    1.ubuntu服务器中安装了vncserver,启动服务。在另外一台机器上访问服务器,可以在服务器终端中执行vncconfig -nowin&(或者vncconfig&a…

    Linux 2023年6月13日
    093
  • C语言实现九九乘法口诀表

    儿子六岁了,奶奶在家里给孩子教乘法口诀, 昨天又把大学一年级C语言课程上要求实现的九九乘法口诀表用C语言实现了一遍,代码如下: #include int main() { int …

    Linux 2023年6月13日
    093
  • 杨辉三角的变形—牛客网

    杨辉三角的变形_牛客题霸_牛客网 (nowcoder.com) #include using namespace std; int main() { //这个树的偶数规律为 -1 …

    Linux 2023年6月13日
    0129
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球