文章目录
linux系统中软件包的管理
一.ssh远程连接服务配置与优化
1.ssh介绍
用于面向连接协议,默认端口22,c/s架构的服务实现
2.centOS中的sshd
# 安装ssh服务
yum install openssh-server
3.配置文件
/etc/ssh/sshd_config
1.安全优化
# 修改默认端口
要求 a)不可以是已存在的常见协议的端口,系统存在的端口
b)1-65535
vim /etc/ssh/sshd_config
按/进入检索模式,检索port
找到#Port 22
进入编辑模式,去掉注释符,修改为Port 888
# 禁止使用root登录
在/etc/ssh/sshd_config中检索Permit
找到#PermitRootLogin yes
修改为PermitRootLogin no
# 创建test用户
useradd test # 添加新用户
passwd test # 修改用户密码
# 重启ssh服务
systemctl restart sshd
# 通过普通用户登录再切换到root用户
ssh test@IP 端口 # 登录test用户
su root # 切换到root用户
2.性能优化
vim /etc/ssh/sshd_config
找到79行 GSSAPIAuthentication yes
修改成 GSSAPIAuthentication no
找到115行 #UseDNS yes
修改成 UseDNS no
# 重启sshd服务
systemctl restart sshd
4.ssh密钥对的应用
作用:实现免密登录目标主机
1.什么是密钥对
公钥: 用于发送给目标主机实现免密登录
私钥: 用于携带到目标主机,和主机中的公钥进行比对身份甄别。
ssh-keygen
# 查看密钥对
ls ~/.ssh
id_rsa # 私钥
id_rsa.pub # 公钥
known_hosts # 存储历史登录过的主机的指纹信息
# 推送公钥到目标主机
ssh-copy-id IP地址
默认将公钥发给IP主机的root用户
ssh-copy-id -i 储存公钥的路径 用户@ip地址
二.linux系统中软件包的管理
1.软件管理的方法
1.rpm管理
介绍:rpm是linux系统中rpm包的管理器,将rpm的软件包进行安装,删除,信息查看
特点:
1.提前手动下载好rpm包
2.不支持解决依赖问题,需要手动解决
应用
# rpm的基础语句
rpm -qa # 检查某软件是否安装
rpm -ql # 查询该软件相关的文件有哪些
rpm -qf # 查询某文件属于哪个软件
rpm -qc # 查询某软件相关配置文件
# 安装rpm软件包
rpm -i #安装
-v #显示过程
-h #显示的更加直观
# 卸载一个软件包
rpm -e #卸载
-vh
扩展: ## 企业案例:本地的rpm仓库
2.yum管理
支持自动下载rpm包,自动安装,自动下载安装依赖
作用:通过网络下载rpm包并安装,自动解决依赖问题
yum是redhat系统的安装工具 dnf
debian系统的安装工具 apt apt-get
1.相关文件
yum下载源:yum可以下载软件的仓库
阿里云:mirrors.aliyun.com
清华源
/etc/yum.repos.d/ 文件后缀.repo
# 配置方法
vim /etc/yum.repos.d/CentOS-Base.repo 查看文件内容
[base] # 仓库名
name=CentOS-$releasever - Base - mirrors.aliyun.com # 详细描述
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/ # 指定下载的网址
http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1 # 是否进行软件包防篡改校验 1是 0否
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 # 指定包的完整性的校验码
enabled=1 # 开启此仓库的使用
配置文件:/etc/yum.conf
vim /etc/yum.conf
[main]
# 缓存路径
cachedir=/var/cache/yum/$basearch/$releasever
# 是否开启缓存。0关闭1开启
keepcache=0
# 日志存放路径
logfile=/var/log/yum.log
2.yum常用指令
# 查看软件包
yum list ## 查看所有可以安装的软件有哪些
yum list installed ## 查看所有已安装的软件
yum repolist ## 有哪些可用的yum源
yum search 软件名 ## 特定某软件是否可以安装
yum provides ## 通过命令查询所属软件包
# 安装软件
yum install 软件包名
-y 不需要确认,默认安装
--downloadonly 只下载
--downloaddir 指定软件包的下载位置
yum install nginx --downloadonly --downloaddir=./
## 重新安装
yum reinstall 软件包名 重装
## 更新
yum update
# 卸载软件
## 只删除指定软件,不删除依赖文件
yum remove 软件
## 同时删除依赖文件(慎用)
yum autoremove
# 加载仓库缓存
yum makecache
yum makecache fast
# 清理缓存
yum clean all
# 历史记录审计功能
yum history
yum history info id
# 练习
3.源码编译安装
拿到源码,进行编译封装过程
特点:
定制化安装所需功能,自定义整个安装目录
安装过程相当复杂
语言分类:
面向过程开发
面向对象开发
解释型语言:Python,php,shell
编译型语言:c语言,Java
# 编译安装过程
1- 准备系统环境
2- 预编译 # 规划安装环境
3- 编译 # 根据规划准备所有文件
4- 安装 # 放置到指定位置
## 扩展:编译安装Nginx
三.命令行下的快捷键
tab 自动补全命令和路径
# 插件 yum install bash-completion -y
ctrl+c 中断当前前台运行的进程
ctrl+z 将一个正在前台运行的任务放置到后台
ctrl+l 清屏
ctrl+a 行首 也可用Home键
ctrl+e 行尾 也可用End键
ctrl+insert 复制
shift+insert 粘贴
ctrl+d 退出当前用户
ctrl+u 快速删除光标到行首的内容
ctrl+k 快速删除光标到行末的内容
ctrl+w 按照字符串删除
ctrl+⬅➡ 按照字符串移动光标
ctrl+s 锁屏,锁屏中的输入会在解锁后输入
ctrl+q 解锁
esc+. 快速输出上一次命令的最后的字符串
ctrl+ r 快速查找历史命令