【Linux】linux服务器下包管理器

通常Linux应用软件的安装包有三种:
1) tar包,如software-1.2.3-1.tar.gz。它是使用UNIX系统的打包工具tar打包的。
2) rpm包,如software-1.2.3-1.i386.rpm。它是Redhat Linux提供的一种包封装格式。
3) dpkg包,如software-1.2.3-1.deb。它是Debain Linux提供的一种包封装格式。

包的类型

一个Linux应用程序的软件包中可以包含两种不同的内容:
1) 一种就是可执行文件,也就是解开包后就可以直接运行的。在Windows中所有的软件包都是这种类型。安装完这个程序后,你就可以使用,但你看不到源程序。
    而且下载时要注意这个软件是否是你所使用的平台,否则将无法正常安装。
2) 另一种则是源程序,也就解开包后,你还需要使用编译器将其编译成为可执行文件。这在Windows系统中是几乎没有的,因为Windows的思想是不开放源程序的。
通常,用tar打包的,都是源程序;而用rpm、dpkg打包的则常是可执行程序。一般来说,自己动手编译源程序能够更具灵活性,但也容易遇到各种问题和困难。
而相对来说,下载那些可执行程序包,反而是更容易完成软件的安装,当然那样灵活性就差多了。所以一般一个软件总会提供多种打包格式的安装程序的。你可以根据自己的情况来选择。

tar命令管理软件包

1. 语法:Usage: tar [OPTION...] [FILE]...
-z:有gzip属性的
-x:解压
-v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。
-f 指定档案文件名或设备名,这个选项通常是必选的。
-j:有bz2属性的
-c: 建立压缩档案
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
-C:指定解压缩目标目录
tar -zxvf  xxx_64.tar.gz             -->当前目录解压缩
tar -zxvf  xxx_64.tar.gz -C 指定目录 -->指定目录解压缩

2. tar打包的应用软件大概安装过程
1)取得应用软件:通过下载、购买光盘的方法获得;
2)解压缩文件:一般tar包,都会再做一次压缩,如gzip、bz2等,所以你需要先解压。如果是最常见的gz格式,则可以执行:“tar –xvzf 软件包名”,就可以一步完成解压与解包工作。
   如果不是,则先用解压软件,再执行“tar –xvf 解压后的tar包”进行解包;
3)阅读附带的INSTALL文件、README文件;
4)执行“./configure”命令为编译做好准备;
5)执行“make”命令进行软件编译;
6)执行“make install”完成安装;
7)执行“make clean”删除安装时产生的临时文件。

====软件安装目录:注意make install命令过程中的安装目录,或者阅读安装目录里面的readme文件,当然最好的办法是在安装的过程中指定安装目录,即在./configure命令后面加参数--prefix=/**,
如:./configure --prefix=/usr/local/aaaa,即把软件装在/usr/local/路径的aaaa这个目录里。一般的软件的默认安装目录在/usr/local或者/opt里,可以到那里去找找。

rpm 命令用于管理套件

rpm(redhat package manager) 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎,逐渐受到其他发行版的采用。
RPM 套件管理方式的出现,让 Linux 易于安装,升级,间接提升了 Linux 的适用度。

语法:rpm [OPTION...]
rpm -qa                -->查询安装了哪些rpm包
rpm -q 包名            -->查询某个软件包的文件全名
rpm -qa|grep 包名      -->查询某个类型的包
rpm -qi 包名           -->查询rpm包详细信息
rpm -ql 包名           -->查询包中的文件安装的位置
rpm -e 包名            -->卸载rpm包
rpm -ivh 包名.rpm      -->默认安装包
rpmrpm --force -ivh 包名.rpm   -->忽略报错,强制安装

yum包管理器

yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。
基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
1. yum [options] [command] [package ...]
options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。

yum check-update          -->列出所有可更新的软件清单
yum search man*           -->找出以pam开头的软件有哪些
yum list installed             -->找出已安装的软件

yum install man           -->安装包

2. yum下载文件的存放位置
默认是: /var/cache/yum
也可以在 /etc/yum.conf 指定
cachedir=/var/cache/yum/$basearch/$releasever      #存放目录(/var/cache/yum/x86_64/6)
keepcache=0                                                              #1为保存 0为不保存
metadata_expire=90m                                                #过期时间 

3. /etc/yum.repos.d 目录下有yum源配置文件,一般使用的是阿里云镜像: 

4. yum安装包流程


用户使用yum去请求安装某一个程序包时,yum工具会先去yum配置文件中查找yum仓库指向的路径,
根据该路径去访问远程或本地的文件服务器,这个服务器作为yum仓库并且存储了众多的rpm包以及包相关的元数据文件。
当yum根据仓库路径访问到仓库后,会首先尝试请求获取rpm包的元数据文件并缓存至本地(/var/cache/yum目录),
而这个元数据文件包括了该仓库所有rpm包的程序包名、版本号、依赖性以及每个程序包所提供的capabilities等。
而后,yum根据用户要安装的程序包名去元数据文件里查找,看看仓库里是否有用户请求下载的程序包文件,
如果找到了则根据元数据文件分析该程序包的依赖关系并分析本地系统上有哪些包已安装、哪些包还没安装,
再将用户所有需要安装且本地尚未安装的程序包名列出来,并以客户端的角色发送至文件服务器(仓库)请求下载之。
如果请求成功,则yum将要安装的程序包文件也缓存至本地并执行安装操作。安装完成之后将缓存的程序包文件删除以节约空间,而缓存中只留下元数据文件。
为什么只缓存元数据而不缓存程序包呢?因为程序包一般只安装一次即可,很少会再安装第二次,
而且基于节约空间的考虑,因此yum在安装完程序包后会将缓存中的程序包删除。
而缓存元数据好处则是当下一次用户使用yum请求安装程序包时可以节约带宽,无需再次重新请求获取全部的元数据文件,并且可以提高本地分析程序包的速度。
当用户第二次使用yum请求安装程序包时,基于实时同步更新缓存以及节约带宽的考虑,
yum会先请求下载yum仓库下rpm包元数据的校验码文件至本地,将其与本地缓存上的元数据校验码相比较,如果相同,说明无须更新;
如果不同,则说明仓库中rpm包已经更新,因此yum会重新请求下载仓库上的元数据文件以更新元数据缓存。接着同样是分析程序包依赖性、请求要安装的全部程序包等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/568404.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云服务器部署django项目

ubuntu自带了2.7。想要装3.5并设置为默认python版本。 安装python3.5 sudo add-apt-repository ppa:fkrull/deadsnakes sudo apt-get update sudo apt-get install python3.5 python --version sudo apt-get install python3-pip #装pip3设置python3为默认版本 直接执行这两个…

【Linux】ls命令查看linux目录下的内容

ls 命令是Linux下最常用的命令之一,用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。 本文将介绍其基本的用法和一些典型的用例 Usage: ls [OPTION]... [FILE]... 不输入参数(默认将文件名或目录名称开头为"."的视为隐藏…

【Python】hashlib模块实现MD5加密

MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被计算机安全领域广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value), 用以…

计算机编码发展历史和编码方式

编码是信息从一种形式或格式转换为另一种形式的过程,也称为计算机编程语言的代码简称编码。 用预先规定的方法将文字、数字或其它对象编成数码,或将信息、数据转换成规定的电脉冲信号。 编码在电子计算机、电视、遥控和通讯等方面广泛使用。 解码&#x…

Jmeter+ForEach控制器+BeanShell取样器+BeanShell PostProcessor爬取网站信息储存csv

1、正则提取器ForEach控制器BeanShell PostProcessorBeanShell 取样器,爬取网站信息并写入到csv中 2、访问网站设置 3、正则提取设置,匹配数字-1代表提取所有符合条件的信息 4、ForEach控制器设置迭代每次提取出来的信息 5、BeanShell PostProcessor设置…

【Python】python3编码方式encode介绍

上一篇文章介绍了计算机编码发展历史和编码方式,现在我们聚焦到python语言中,在最新的Python3版本中,字符串是以Unicode编码的,也就是说,Python的字符串支持多语言。例如: print(我喜欢 computer.encode(u…

telnet用法 测试端口号是否可以使用

方法 1 首先打开控制面板 2 点击程序 3 点击程序与功能 4 点击左边启用或关闭windows功能 5 在telnet客户端打上勾 点击确定 6 winr打开运行 输入cmd 7 打开后输入telnet ip 端口号 如果出来其他窗口则说明这个端口可用。若出现超时,说明这个端口不可用 前提…

阿里云 Ubuntu上的mysql运行sql文件来创建表

1、上传sql文件到指定目录 2、登录数据库 mysql -u root -p 3、查看数据库 show databases; 4、创建数据库 create database wlh; 5、对新创建的数据库操作 use wlh; 6、导入sql文件 7、查看数据库中表格 若有你数据库中的表格则导入成功 8、退出数据库操作 或者用quit; …

linux Ubuntu安装ftp并将本地文件上传到云服务器

确认是否已经安装ftp pgrep vsftpd无结果如下图: 2、执行安装 3、查看ftp是否安装成功 systemctl status vsftpd.service 4、 (1)新建"/home/uftp"目录作为用户主目录 打开"终端窗口",输入"sudo mkd…

【Python】PyCryptodome模块中5种AES加密模式介绍

分组密码有五种工作体制: 1.电码本模式(Electronic Codebook Book (ECB)); 2.密码分组链接模式(Cipher Block Chaining (CBC)); 3.计算器模式(Counter (CTR))&#xff1b…

阿里云root密码修改

一、root密码修改阿里云linux服务器修改root密码流程: 通过Xshell客户端输入账号root,输入密码,登陆到linux。 输入修改密码的命令 passwd 根据提示输入新密码,输入新密码的时候,软件不会显示*号,输入后…

【Android】Windows环境安装Android Studio教程

Android Studio 是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。 在IDEA的基础上,Android Studio提供: 基于Gradle的构建支持 Android…

【Android】Android Studio打包生成正式签名的APK

Android Studio是谷歌推出一个Android集成开发工具,基于IntelliJ IDEA。它类似于Eclipse ADT,Android Studio 提供了集成的Android开发工具用于开发和调试。 那么今天我们就来讲讲如何通过Android Studio打包APK文件,相信有很多人还不是非常了…

【Android】Android Studio中新创建的app目录结构

安装Android Studio后,然后创建一个app项目。对于初学者来说,我们希望了解app目录结构,然后更好的进行开发工作。 但是要想了解一个app的目录结构,首先需要明确两个概念 Project Name:工程项目名称 Application Name:当前app发布…

mysql添加用户权限报1064 - You have an error in your SQL syntax问题解决

mysql添加用户及权限报错: 出现这样错的原因有两个: 1、语法有问题 (这里没有问题) 2、mysql版本是否支持 此种写法 找到一位大神说:你检查下mysql版本是mysql server 8.不支持同时创建用户和授予权限&#xf…

djangohttp://127.0.0.1:8000/media/test.jpg直接显示图片media配置

文件目录如下: 1、在settings中加入: STATIC_URL /static/ STATICFILES_DIRS (os.path.join(BASE_DIR,static),) #MEDIA_DIR (主要用于获取路径) MEDIA_DIR os.path.join(BASE_DIR,media) # 需要加入的MEDIA_DIR路径变量 #ME…

【Python】pandas模块中更改Series的数据类型

今天我们主要解决以下实际问题:一份黑名单数据存储在excel中,由于数据量庞大,现需要通过pandas找到某一列的重复数据,处理后再存入到excel中。 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的,主…

ubuntu Django项目后台不挂断运行之screen命令

1、安装screen apt install screen 2、新建一个screen screen -S web这样就会新开一个窗口。cd到你需要的目录然后输入你想输入的命令。输入: python manage.py runserver 0.0.0.0:80 3、重新开一个窗口,列出所有screen进程 screen -ls4、如果之前的s…

【Python】Paramiko模块在Windows10中import ssl报错的处理方法

上一篇文章【Python】Paramiko模块实现Linux服务器远程文件操作 介绍了如何通过Paramiko进行 sftp的操作,但最近遇到一个问题,换上家里的windows10电脑后,执行脚本时发现报错:\lib\site-packages\cryptography\hazmat\bindings\op…

【Jmeter篇】Linux环境下安装部署运行Jmeter

JDK安装和配置 1、使用yum线上安装jdk1.8 yum -y list java* #浏览线上所有jdk版本列表 yum -y list java-1.8*#浏览线上jdk1.7版本列表 yum -y install java-1.8.0-openjdk* #下载安装jdk1.8套件 java -version #检查是否安装成功 2、配置全局环境变量 which java ls -…