9-Linux软件安装
01 软件为什么需要安装
Windows软件安装流程
- 安装检查
- 释放文件
- 复制可执行文件
- DLL动态链接库/安装服务
- 注册表
- 开始菜单和快捷方式
Windows安装文件
Windows可执行文件
Linux可执行程序
/bin
/sbin
/usr/bin
/usr/sbin
02 脚本和程序的区别
脚本和程序的区别
不需要编译的:Javascript、Python、Ruby……
需要编译的:C、C++、Swift、Kotlin、Go……
解释型:边解释边执行
编译型:计算机可以直接执行
03 Linux安装软件的几种方式
Linux软件常见安装方式
源码编译(make)、rpm、deb、yum、apt、Docker……
Linux主要派系
主要派系 | Linux发行版 | 主要安装方式 |
---|---|---|
Redhat红帽派系 | Redhat、CentOS、Fedora等 | make、rpm、yum、dnf |
Debian派系 | Kali、Ubuntu等 | deb、apt**(了解)**、dpkg |
FreeBSD系 | FreeBSD | make、pkg、ports |
源码安装(用的少)
rpm安装
RedHat Package Manager
rpm选项(了解)
操作 | 命令 | 说明 |
---|---|---|
查询 | rpm -qa rpm -q 包名 | q: query |
安装 | rpm -ivh 包名 | i: install v: verbose h: hash |
升级 | rpm -Uvh 包名 | U:安装或升级最新版 |
卸载 | rpm -e 包名 | 需要先卸载依赖其的软件 |
yum安装
YUM(Yellow dog Updater,Modified)
yum操作和选项
操作 | 命令 |
---|---|
列表 | yum list yum list 包名 |
搜索 | yum search 包名 |
安装 | yum install 包名 |
升级 | yum update 包名 |
卸载 | yum remove 包名 |
更新所有软件 | yum update |
清除缓存 | yum clean all |
更新yum缓存 | yum make cache |
选项 | 含义 |
---|---|
-h | 显示帮助信息 |
-y | 对所有的提问都回答 “yes” |
-c | 指定配置文件 |
-q | 安静模式 |
-v | 详细模式 |
DNF和YUM的区别(了解)
DNF(Dandified YUM)
区别 | DNF | YUM |
---|---|---|
解析依赖关系 | 使用Libsolv | 使用公开的API |
API | 有完整的API文档,能很容易地创建新功能 | 没有完整文档,创建新功能困难 |
开发语言 | C、C++、Python编写 | 只用Python编写 |
使用范围 | Fedora、RHEL 8、CentOS 8、OEL 8、Mageia 6/7 | RHEL 6/7、CentOS 6/7、OEL 6/7 |
扩展的支持 | 支持各种扩展 | 只支持基于Python的扩展 |
同步元数据 | 占用内存少 | 占用较多内存 |
更新 | 包中包含不相关的依赖,则不会更新 | 在没有验证的情况下更新软件包 |
存储库不可用 | DNF将跳过它,并继续使用可用的存储库处理事务 | YUM会立即停止 |
内核包的保护 | DNF不提供,可以删除内核包 | 不允许你删除运行的内核 |
Debian系(了解)
Deb包安装
apt安装
操作 | 命令 |
---|---|
搜索 | apt search 包名 |
安装 | apt install 包名 |
升级 | apt update 包名 |
卸载 | apt remove 包名 |
FreeBSD系
package
ports
操作 | 命令 |
---|---|
搜索 | pkg search 包名 |
安装 | pkg install 包名 |
升级 | pkg upgrade 包名 |
卸载 | pkg del 包名 |
04 CentOS安装软件案例
Linux软件安装方式
CentOS启用中文输入法
https://blog.csdn.net/carefree2005/article/details/119607891
CentOS yum安装MySQL
1、下载安装
下载yum repository
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
安装
rpm -Uvh mysql57-community-release-el7-10.noarch.rpm
安装MySQL服务器
yum -y install mysql-server --nogpgcheck –nogpgcheck
启动MySQL
systemctl start mysqld.service
查看运行状态
systemctl status mysqld.service
或netstat -an | grep 3306
或ps -ef | grep mysql
2、修改密码
找到MySQL root用户的初始密码:
grep "password" /var/log/mysqld.log
使用临时密码连接客户端:
mysql -uroot -p:E+,Y_Dp_35j
或mysql -uroot -p
修改密码安全限制,否则不能使用简单密码
临时修改:
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
永久修改:
MySQL默认的配置文件:
vim /etc/my.cnf
validate_password_policy=0
validate_password_length=1
修改后重启MySQL
service mysqld restart
mysql> show databases;
mysql> exit
mysql> mysql -uroot -p
修改密码:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
授权远程访问:
mysql> grant all privileges on *.* to 'root'@'%' identified by '123456';
mysql> flush privileges;
05 软件版本管理
update-alternatives
查看:
update-alternatives --display java
切换:
update-alternatives --config java
或update-alternatives --config java
[root@localhost local]# wget https://download.java.net/java/GA/jdk11/openjdk-11.0.2_linux-x64_bin.tar.gz
[root@localhost local]# tar -zxvf openjdk-11.0.2_linux-x64_bin.tar.gz
添加:
alternatives --install /usr/bin/java java /usr/local/jdk-11.0.2/bin/java 3
/usr/bin/java:注册地址,软链
java:服务名
/usr/local/jdk-11.0.2/bin/java:实际程序路径
3:优先级