软件安装

简介

概念详解

# 概念详解
- 开放源码: 程序码, 写给人类看的程序语言, 但机器并不认识, 所以无法执行;
- 编译器: 将程序码转译成为机器看的懂得语言, 就类似翻译者的角色;
- 可可执行文件: 经过编译器变成二进制程序后, 机器看的懂所以可以执行的文件;
- make: 作用是开始进行源代码编译;
- configure: 一般用来生成 Makefile, 为下一步的编译做准备;
- Tarball软件: 所谓的 Tarball 文件, 其实就是将软件的所有源代码文件先以 tar 打包, 然后再以压缩技术来压缩, 通常最常见的就是以 gzip 来压缩;
- Tarball: linux系统下最方便的打包工具, 以tar这个指令来打包与压缩的档案;
- RPM: 全名是"RedHat Package Manager"简称则为 RPM; 通过预先编译并打包成为 RPM 文件格式后, 再安装软件的一种方式;
- SRPM: SRPM 所提供的套件内容并没有经过编译, 提供的是原始码;其中SRPM中包含了所有 RPM 档案所提供的数据;
- YUM: Yum是一个交互式的、基于RPM的包管理器; 它可以自动执行系统更新, 包括依赖关系基于"仓库"元数据的分析和废弃处理; # 常用相关命令
- file: 用于识别文件的类型, 也可以用来辨别一些内容的编码格式, 通过分析文件头部信息中的标识来显示文件类;
- type: 用来显示指定命令的类型, 判断给出的指令是内部指令还是外部指令; # 软件安装方式
##Tarball方式
- 取得原始文件: 将 tarball 文件在 /usr/local/src 目录下解压缩;
- 取得步骤流程: 进入新创建的目录下面,去查阅 INSTALL 与 README 等相关文件内容 (很重要的步骤) ;
- 相依属性软件安装: 根据 INSTALL/README 的内容察看并安装好一些相依的软件 (非必要) ;
- 创建 makefile: 以自动侦测程序 (configure 或 config) 侦测作业环境,并创建 Makefile 这个文件;
- 编译: 以 make 这个程序并使用该目录下的 Makefile 做为他的参数配置文件,来进行 make (编译或其他) 的动作;
- 安装: 以 make 这个程序,并以 Makefile 这个参数配置文件,依据 install 这个标的 (target) 的指定来安装到正确的路径; ##RPM方式
- 将 RPM 由厂商的网页下载下来;
- 解决 RPM 包管理依赖;
- 通过 RPM -ivh 安装软件; ##YUM方式
- 配置网络(网络可通);
- 修改数据源;
- 通过 yum install命令安装软件;

目前在 Linux 界软件安装方式最常见的有两种,分别是:

  • dpkg: 这个机制最早是由 Debian Linux 社群所开发出来的, 通过 dpkg 的机制, Debian 提供的软件就能够简单的安装起来, 同时还能提供安装后的软件信息, 实在非常不错; 只要是衍生于 Debian 的其他 Linux distributions 大多使用 dpkg 这个机制来管理软件的, 包括 B2D, Ubuntu 等等;
  • RPM: 这个机制最早是由 Red Hat 这家公司开发出来的, 后来实在很好用, 因此很多 distributions 就使用这个机制来作为软件安装的管理方式; 包括 Fedora, CentOS, SuSE 等等知名的开发商都是用这咚咚;
istribution 代表 软件管理机制 使用指令 线上升级机制(指令)
Red Hat/Fedora RPM rpm, rpmbuild YUM (yum)
Debian/Ubuntu DPKG dpkg APT (apt-get)

RPM 与 SRPM区别:

文件格式 文件名格式 直接安装与否 内含程序类型 可否修改参数并编译
RPM xxx.rpm 已编译 不可
SRPM xxx.src.rpm 不可 未编译之源代码

file 命令使用

# 查看系统的文件
$ file /bin/bash
/bin/bash: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=9223530b1aa05d3dbea7e72738b28b1e9d82fbad, stripped
# 是 binary 且是可以执行的时候, 就会显示可执行文件类别 (ELF 64-bit LSB executable), 同时会说明是否使用动态函数库 (shared libs); # 查看系统提供的文件
$ file /etc/init.d/network
/etc/init.d/network: Bourne-Again shell script, ASCII text executable
# 如果是一般的 script , 就会显示出 text executables 之类的字样;

命名规范

Linux安装包命名规范,通过 rp-pppoe-3.11-5.el7.x86_64.rpm 查看文件的意义:

  • rp-pppoe: 软件名称;
  • 3.11: 软件版本信息;
  • 5: 释出版本次数;
  • el7.x86_64: 操作硬件平台;
  • rpm: 扩展名;
平台名称 适合平台说明
i386 几乎适用于所有的 x86 平台,不论是旧的 pentum 或者是新的 Intel Core 2 与 K8 系列的 CPU 等等,都可以正常的工作!那个 i 指的是 Intel 相容的 CPU 的意思,至于 386 不用说,就是 CPU 的等级啦!
i586 就是针对 586 等级的计算机进行最优化编译。那是哪些 CPU 呢?包括 pentum 第一代 MMX CPU, AMD 的 K5, K6 系列 CPU (socket 7 插脚) 等等的 CPU 都算是这个等级;
i686 在 pentun II 以后的 Intel 系列 CPU ,及 K7 以后等级的 CPU 都属于这个 686 等级! 由于目前市面上几乎仅剩 P-II 以后等级的硬件平台,因此很多 distributions 都直接释出这种等级的 RPM 文件。
x86_64 针对 64 位的 CPU 进行最优化编译设置,包括 Intel 的 Core 2 以上等级 CPU ,以及 AMD 的 Athlon64 以后等级的 CPU ,都属于这一类型的硬件平台。
noarch 就是没有任何硬件等级上的限制。一般来说,这种类型的 RPM 文件,里面应该没有 binary program 存在, 较常出现的就是属于 shell script 方面的软件。

Tarball&RPM&YUM

Tarball

# Tarball 安装流程
- 将 Tarball 由厂商的网页下载下来;
- 将 Tarball 解开,产生很多的源代码文件;
- 开始以 gcc 进行源代码的编译 (会产生目标文件 object files);
- 然后以 gcc 进行函数库、主、副程序的链接,以形成主要的 binary file;
- 将上述的 binary file 以及相关的配置文件安装至自己的主机上面; # Tarball 安装常用命令
- ./configure: 建立 Makefile 文件;
- make clean: 讀取 Makefile 中關於 clean 的工作;
- make: 會依據 Makefile 當中的預設工作進行編譯的行为;
- make install: 會依據 Makefile 這個文件裡面關於 install 的項目; # Tarball 默认安装路径
- /usr/local/etc: 配置文件
- /usr/local/lib: 函数库
- /usr/local/bin: 可执行文件
- /usr/local/man: 线上说明文档, 主要是可通过 man 命令查看命令使用文档 # 建议
- 最好将 tarball 的原始数据解压缩到 /usr/local/src 当中;
- 安装时, 最好安装到 /usr/local 这个默认路径下;
- 考虑未来的卸载过程, 最好可以将每个软件单独的安装在 /usr/local 下面;
- 为安装到单独目录的软件之 man page 加入 man path 搜寻;
  • 安装 nginx 依赖
$ yum install -y wget gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel 安装
  • 下载&解压 nginx 源码包
# 下载 nginx 源码包
$ wget http://nginx.org/download/nginx-1.16.1.tar.gz
# 解压 nginx 源码包
$ tar -zxvf nginx-1.16.1.tar.gz -C /usr/local/src
# 进入 nginx 源码路径
$ cd /usr/local/src/nginx-1.16.1
  • 参数配置&Makefile生成
# 查詢可用的參數
$ ./configure --help # 参数配置
$ ./configure --prefix=/usr/local/nginx \ # 安装路径指定
--sbin-path=/usr/local/nginx/sbin/nginx \
--modules-path=/usr/local/nginx/modules \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--error-log-path=/usr/local/nginx/logs/error.log \
--http-log-path=/usr/local/nginx/logs/access.log \
--pid-path=/usr/local/nginx/logs/nginx.pid \
--lock-path=/usr/local/nginx/logs/nginx.lock \
--with-http_gzip_static_module \
--with-http_ssl_module # 创建 Makefile
$ make # 安装 nginx
$ make install

RPM

# RPM 安装流程(离线、在线都可安装软件)
- 将 RPM 由厂商的网页下载下来;
- 解决 RPM 包管理依赖;
- 通过 RPM -ivh 安装软件; # RPM 默认安装路径
- /etc: 一些配置文件放置的目录, 例如 /etc/crontab;
- /usr/bin: 一些可可执行文件案;
- /usr/lib: 一些程序使用的动态函数库;
- /usr/share/doc: 一些基本的软件使用手册与说明文档;
- /usr/share/man: 一些 man page 文件; # RPM 常用命令
- rpm -ivh package_name
- rpm -Uvh package_name
- rpm -qa
- rpm -e
  • RPM安装软件
# 光盘安装软件
$ rpm -ivh /光盘挂载路径/rp-pppoe-3.11-5.el7.x86_64.rpm # 安装多个软件
$ rpm -ivh a.i386.rpm b.i386.rpm *.rpm # *.rpm表示许多的软件文件 # 联网安装软件
$ rpm -ivh http://website.name/path/pkgname.rpm
  • RPM升级
# -Uvh: 后面接的软件即使没有安装过, 则系统将予以直接安装; 若后面接的软件有安装过旧版, 则系统自动更新至新版;
# -Fvh: 如果后面接的软件并未安装到你的 Linux 系统上, 则该软件不会被安装; 亦即只有已安装至你 Linux 系统内的软件会被"升级";
  • RPM查询
# 显示所有安装软件
$ rpm -qa
# 显示已安装的软件
$ rpm -q[licdR] 已安装的软件名称
# 显示已安装的软件
$ rpm -qf 存在于系统上面的某个文件名
# 查看RPM文件
$ rpm -qp[licdR] 未安装的某个文件名称
#选项与参数:
#查询已安装软件的信息:
##-q: 仅查询,后面接的软件名称是否有安装;
##-qa: 列出所有的,已经安装在本机 Linux 系统上面的所有软件名称;
##-qi: 列出该软件的详细信息 (information) ,包含开发商、版本与说明等;
##-ql: 列出该软件所有的文件与目录所在完整文件名 (list) ;
##-qc: 列出该软件的所有配置文件 (找出在 /etc/ 下面的文件名而已)
##-qd: 列出该软件的所有说明文档 (找出与 man 有关的文件而已)
##-qR: 列出与该软件有关的相依软件所含的文件 (Required 的意思)
##-qf: 由后面接的文件名称,找出该文件属于哪一个已安装的软件;
##-q --scripts:列出是否含有安装后需要执行的脚本档,可用以 debug 喔!
#查询某个 RPM 文件内含有的信息:
##-qp[icdlR]:注意 -qp 后面接的所有参数以上面的说明一致。但用途仅在于找出某个 RPM 文件内的信息,而非已安装的软件信息; # 查找是否安装 docker-ce 软件
# 不必要加上版本
$ rpm -q docker-ce
docker-ce-19.03.2-3.el7.x86_64
# 显示 docker-ce 软件所有目录与文件
$ rpm -ql docker-ce
/usr/bin/docker-init
/usr/bin/docker-proxy
/usr/bin/dockerd
/usr/lib/systemd/system/docker.service
/usr/lib/systemd/system/docker.socket
/var/lib/docker-engine/distribution_based_engine-ce.json
# 显示 docker-ce 说明资料
$ rpm -qi docker-ce
Name : docker-ce
Epoch : 3
Version : 19.03.2
Release : 3.el7
Architecture: x86_64
Install Date: Wed 21 Sep 2022 09:51:07 PM CST
Group : Tools/Docker
# 显示 docker-ce 配置文件
$ rpm -qc docker-ce
$ rpm -qd docker-ce
# 显示 docker-ce 以来
$ rpm -qR docker-ce
/bin/sh
container-selinux >= 2:2.74
containerd.io >= 1.2.2-3
device-mapper-libs >= 1.02.90-1
docker-ce-cli
# 显示 /bin/sh 由那个软件包提供的
$ rpm -qf /bin/sh
# 查看 RPM 文档
$ rpm -qpR filename.xxx.rpm

RPM 可选项参数

可下达的选项 代表意义
--nodeps 使用时机:当发生软件属性相依问题而无法安装,但你执意安装时 危险性: 软件会有相依性的原因是因为彼此会使用到对方的机制或功能,如果强制安装而不考虑软件的属性相依, 则可能会造成该软件的无法正常使用!
--replacefiles 使用时机: 如果在安装的过程当中出现了“某个文件已经被安装在你的系统上面”的信息,又或许出现版本不合的讯息 (confilcting files) 时,可以使用这个参数来直接覆盖文件。危险性: 覆盖的动作是无法复原的!所以,你必须要很清楚的知道被覆盖的文件是真的可以被覆盖喔!否则会欲哭无泪!
--replacepkgs 使用时机: 重新安装某个已经安装过的软件!如果你要安装一堆 RPM 软件文件时,可以使用 rpm -ivh *.rpm ,但若某些软件已经安装过了, 此时系统会出现“某软件已安装”的信息,导致无法继续安装。此时可使用这个选项来重复安装喔!
--force 使用时机:这个参数其实就是 --replacefiles 与 --replacepkgs 的综合体!
--test 使用时机: 想要测试一下该软件是否可以被安装到使用者的 Linux 环境当中,可找出是否有属性相依的问题。范例为: rpm -ivh pkgname.i386.rpm --test
--justdb 使用时机: 由于 RPM 数据库破损或者是某些缘故产生错误时,可使用这个选项来更新软件在数据库内的相关信息。
--nosignature 使用时机: 想要略过数码签章的检查时,可以使用这个选项。
--prefix 新路径 使用时机: 要将软件安装到其他非正规目录时。举例来说,你想要将某软件安装到 /usr/local 而非正规的 /bin, /etc 等目录, 就可以使用“ --prefix /usr/local ”来处理了。
--noscripts 使用时机:不想让该软件在安装过程中自行执行某些系统指令。说明: RPM 的优点除了可以将文件放置到定位之外,还可以自动执行一些前置作业的指令,例如数据库的初始化。 如果你不想要让 RPM 帮你自动执行这一类型的指令,就加上他吧!
  • RPM卸载软件&重建
# 卸载过程一定是由最上层删除到最下层的依赖, 否则容易出现错误
# 尝试卸载 pam 软件
$ rpm -qa | grep pam
$ rpm -e pam # 发现pam被kbd、sudo等依赖
error: Failed dependencies:
libpam.so.0()(64bit) is needed by (installed) kbd-1.15.5-15.el7.x86_64
libpam.so.0()(64bit) is needed by (installed) sudo-1.8.23-3.el7.x86_64
...... # 重建资料库
$ rpm --rebuilddb
  • RPM 数字签名
# -Va: 列出目前系統上面所有可能被更動過的檔案;
$ rpm -Va # -V: 後面加的是軟體名稱, 若該軟體所含的檔案被更動過, 才會列出來;
$ rpm -V 已安裝的軟體名稱 # -Vp: 後面加的是檔案名稱, 列出該軟體內可能被更動過的檔案;
$ rpm -Vp 某個 RPM 檔案的檔名 # -Vf: 列出某個檔案是否被更動過
$ rpm -Vf 在系統上面的某個檔案 # 查看 Docker-ce 是否被更改过
# 若无输出信息, 则表示没有文件被更改过
$ rpm -V docker-ce # 查看 /etc/crontab 是否被修改过
$ rpm -Vf /etc/crontab

YUM

# YUM 安装流程(离线、在线都可安装软件)
- 配置网络(网络可通)
- 修改数据源
- 通过 yum install命令安装软件 # YUM options
- -y: 當 yum 要等待使用者輸入時, 這個選項可以自動提供 yes 的回應;
- --installroot=/some/path: 將該軟體安裝在 /some/path 而不使用預設路徑; # YUM 常用查询命令
- search:
- info:
- list:
- provides: # YUM 常用安装&升级命令
- install:
- groupinstall:
- update:
  • YUM查询
# yum [list|info|search|provides|whatprovides] 參數
# 搜索 ifconfig 属于那个软件包
# yum search 命令行/软件包
$ yum search ifconfig
Loaded plugins: fastestmirror # yum 系統自己找出最近的 yum server
Loading mirror speeds from cached hostfile # 找出速度最快的那一部 yum server
* base: mirrors.ustc.edu.cn # 底下三個軟體庫,且來源為該伺服器!
* extras: mirrors.aliyun.com
* updates: mirrors.ustc.edu.cn
====================================================== Matched: ifconfig ======================================================
net-tools.x86_64 : Basic networking tools # 查找 net-tools 功能介绍
# yum info 软件包
$ yum info net-tools
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.ustc.edu.cn
* extras: mirrors.aliyun.com
* updates: mirrors.ustc.edu.cn
Installed Packages
Name : net-tools
Arch : x86_64
Version : 2.0
Release : 0.25.20131004git.el7
Size : 917 k
Repo : installed
From repo : base
Summary : Basic networking tools
URL : http://sourceforge.net/projects/net-tools/
License : GPLv2+
Description : The net-tools package contains basic networking tools,
: including ifconfig, netstat, route, and others.
: Most of them are obsolete. For replacement check iproute package. # 列出服务器所有软件名称
$ yum list
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.ustc.edu.cn
* extras: mirrors.aliyun.com
* updates: mirrors.ustc.edu.cn
Installed Packages # 已安装的软件
GeoIP.x86_64 1.5.0-13.el7 @anaconda
......
Available Packages # 可安装的其他软件
......
# 软件名称 版本 在那个软件库[base|extras|updates]中 # 列出可升级的软件
$ yum list updates
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.ustc.edu.cn
* extras: mirrors.aliyun.com
* updates: mirrors.ustc.edu.cn
base | 3.6 kB 00:00:00
docker-ce-stable | 3.5 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
Updated Packages # 列出提供 passwd 文件的软件有哪些
yum provides passwd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.ustc.edu.cn
* extras: mirrors.aliyun.com
* updates: mirrors.ustc.edu.cn
passwd-0.79-6.el7.x86_64 : An utility for setting or changing passwords using PAM
Repo : base
passwd-0.79-4.el7.x86_64 : An utility for setting or changing passwords using PAM
Repo : @anaconda
  • YUM 安装&升级
# 安装 pam-devel
$ yum install pam-devel
Loaded plugins: fastestmirror # 首先的 5 行在找出最快的 yum server
Loading mirror speeds from cached hostfile
* base: mirrors.ustc.edu.cn
* extras: mirrors.aliyun.com
* updates: mirrors.ustc.edu.cn
Resolving Dependencies # 接下来先处理依赖的软件问题
--> Running transaction check
---> Package pam-devel.x86_64 0:1.1.8-23.el7 will be installed
--> Finished Dependency Resolution Dependencies Resolved
# 由上面的检查发现到 pam 这个软件也需要同步升级,这样才能够安装新版 pam-devel 喔!
# 至于下面则是一个总结的表格显示!
===============================================================================================================================
Package Arch Version Repository Size
===============================================================================================================================
Installing:
pam-devel x86_64 1.1.8-23.el7 base 185 k Transaction Summary
===============================================================================================================================
Install 1 Package # 要安装软件数量是一个 Total download size: 185 k
Installed size: 528 k
Is this ok [y/d/N]: y
Downloading packages:
pam-devel-1.1.8-23.el7.x86_64.rpm | 185 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : pam-devel-1.1.8-23.el7.x86_64 1/1
Verifying : pam-devel-1.1.8-23.el7.x86_64 1/1 Installed:
pam-devel.x86_64 0:1.1.8-23.el7 Complete!
  • YUM 移除
$ yum remove pam-devel

YUM 其他配置

YUM 仓库配置

# YUM 仓库配置文件查看
$ vi /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

参数详情:

  • name:只是说明一下这个软件库的意义而已,重要性不高!
  • mirrorlist=:列出这个软件库可以使用的映射站台,如果不想使用,可以注解到这行;
  • baseurl=:这个最重要,因为后面接的就是软件库的实际网址! mirrorlist 是由 yum 程序自行去捉映射站台, baseurl 则是指定固定的一个软件库网址!我们刚刚找到的网址放到这里来啦!
  • enable=1:就是让这个软件库被启动。如果不想启动可以使用 enable=0 喔!
  • gpgcheck=1:还记得 RPM 的数码签章吗?这就是指定是否需要查阅 RPM 文件内的数码签章!
  • gpgkey=:就是数码签章的公钥档所在位置!使用默认值即可

YUM 仓库查看&清除

  • 列出使用的软件库
$ yum repolist all
# 上面最右边有写 enabled 才是有启动的;
  • 清除软件库数据
$ yum clean

YUM 群组功能

  • 查询目前软件库与本机上安装过的软件群组
$ yum grouplist
Installed environment groups: # 已经安装的系统环境软件群组
Development and Creative Workstation
Available environment groups: # 还可以安装的系统环境软件群组
......
Installed groups: # 已经安装的软件群组!
Development Tools
Available Groups: # 还能额外安装的软件群组!
......
  • 查看&安装软件群组
# 查看 GNOME Desktop 软件群组
$ yum groupinfo "GNOME Desktop" # 安装 GNOME Desktop 软件群组
$ yum groupinstall "GNOME Desktop"

区别

定制化

Tarball:可定制性高、可任意指定自定义参数;如,安装路径、第三方插件、平台限制小等原因;

rpm:可定制性较低、可指定的自定义参数有限;

yum:可定制性低、可指定的自定义参数极其有限;

复杂性

Tarball:安装方式最为复杂,操作难度系数高,要求有一定的Linux知识;

rpm:安装方式较为复杂,操作难度相比于Tarball简单不少,要求有基础的Linux知识;

yum:安装方式最为简单,操作难度几乎没有,要求有简单的Linux知识;

推荐性

Tarball:在有一定运维基础的情况下最推荐这个,可控性强,可按照要求来安装&卸载;但是有一定难度,不建议新手上手;

rpm:不推荐这个,rpm解决依赖还是较为麻烦;有依赖问题、难度,不推荐新手使用;

yum:较为推荐;个人测试环境、不重要的软件可通过yum安装,简单快捷方便;

安装方式 定制化 复杂性 推荐性
Tarball ☆☆☆☆☆ ☆☆☆☆☆
rpm ☆☆☆ ☆☆☆ ☆☆☆
yum ☆☆☆☆☆

Linux软件安装方式 - Tarball&RPM&YUM的更多相关文章

  1. Linux软件安装管理:rpm与yum

    目录 1. rpm包的管理 1.1 介绍 1.2 rpm包的简单查询指令 1.3 rpm 包名的基本格式 1.4 rpm其它指令 1.5 卸载rpm包 1.6 安装rpm包 2. yum 2.1 说明 ...

  2. linux软件安装方式

    先插句题外话,快捷键 Ctrl+s 的功能是停止输入,Ctrl+q 恢复输入; 正题,在linux的应用软件安装有三种: 1,tar包 2,rpm包 3,dpkg包 以下介绍三种包的安装和卸载方式 1 ...

  3. Linux软件安装管理之——dpkg与apt-*详解 apt命令(dpkg和apt代替rpm)

    apt list *python* Nosee123关注赞赏支持   Linux软件安装管理之--dpkg与apt-*详解 [Linux软件安装管理系列]- - 传送门: - -<Linux软件 ...

  4. Linux软件安装(一)

    软件安装方式: 1. rpm方式 该方式软件安装本质与Windows下安装软件方式一致,就是把软件包里面的二进制代码文件复制到系统指定目录(如 C://program files) 优点:软件安装非常 ...

  5. Linux软件安装管理之——dpkg与apt-*详解

    Linux软件安装管理之--dpkg与apt-*详解 [Linux软件安装管理系列]- - 传送门: - -<Linux软件安装管理之--源码安装详解> - -<Linux软件安装管 ...

  6. Linux软件安装,RPM与YUM

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3843955.html ...

  7. linux软件安装、rpm操作命令、本地yum配置(有什么用)

    1.yum是什么? yum的全称是yellow dog updater,modified,是一个shell前端软件包管理器;基于RPM包管理,能够从指定的服务器下载RPM包并自动安装,可以自动处理依赖 ...

  8. Linux软件安装中RPM与YUM 区别和联系

    .tc-nav-row{ height:38px; margin: 8px 15px; } .tc-nav-tab{ text-align: center; color:#333333; line-h ...

  9. 第五部分 linux 软件安装RPM SRPM与YUM

    第五部分  linux  软件安装RPM    SRPM与YUM   软件管理员简介 RPM与DPKG两大主流 rpm: redhat       centos     suse    命令:yum ...

随机推荐

  1. mysql 8.0.28 查询语句执行顺序实测结果

    TL;NRs 根据实测结果,MySQL8.0.28 中 SQL 语句的执行顺序为: (8) SELECT (5) DISTINCT <select_list> (1) FROM <l ...

  2. 客户流失?来看看大厂如何基于spark+机器学习构建千万数据规模上的用户留存模型 ⛵

    作者:韩信子@ShowMeAI 大数据技术 ◉ 技能提升系列:https://www.showmeai.tech/tutorials/84 行业名企应用系列:https://www.showmeai. ...

  3. 上传代码到GitHub仓库

    上传代码到GitHub仓库 准备工作 意思是自从 21 年 8 月 13 后不再支持用户名密码的方式验证了,需要创建个人访问令牌(personal access token). 这里就不多说了 Git ...

  4. 简单创建一个SpringCloud2021.0.3项目(二)

    目录 1. 项目说明 1. 版本 2. 用到组件 3. 功能 2. 上一篇教程 3. 创建公共模块Common 4. 网关Gateway 1. 创建Security 2. Security登陆配置 3 ...

  5. SpringBoot 整合 MongoDB 实战介绍

    一.介绍 在前面的文章中,我们详细的介绍了 MongoDB 的配置和使用,如果你对 MongoDB 还不是很了解,也没关系,在 MongoDB 中有三个比较重要的名词:数据库.集合.文档! 数据库(D ...

  6. Windows 系统 PostgreSQL 手工安装配置方法

    自从2020年底开始接触 PostgreSQL 以来就喜欢上了这个数据库,个人感觉比 MySQL 好用,多表联合查询性能好很多,同时也不存在 SQLServer 的版权授权费用问题.搭配 .NET 开 ...

  7. Dubbo-Adaptive实现原理

    前言 前面我们已经分析Dubbo SPI相关的源码,看过的小伙伴相信已经知晓整个加载过程,我们也留下两个问题,今天我们先来处理下其中关于注解Adaptive的原理. 什么是@Adaptive 对应于A ...

  8. WinForm完美实现Cefsharp-v49控件C#与JS交互,并且可加载运行flash

    https://blog.csdn.net/zhao331863874/article/details/117328415

  9. [Python]-numpy模块-机器学习Python入门《Python机器学习手册》-01-向量、矩阵和数组

    <Python机器学习手册--从数据预处理到深度学习> 这本书类似于工具书或者字典,对于python具体代码的调用和使用场景写的很清楚,感觉虽然是工具书,但是对照着做一遍应该可以对机器学习 ...

  10. haodoop数据压缩

    压缩概述 压缩技术能够有效减少底层存储系统(HDFS)读写字节数.压缩提高了网络宽带和磁盘空间的效率.在运行MR程序时,I/O操作,网络数据传输,Shuffle和Merge要花大量的时间,尤其是数据规 ...