Linux基础命令6

2023-12-15 08:56:48
?
源码编译安装:软件功能可按需选择/定制
源码包进行包装就产生了RPM软件包
源码包--通过开发工具gcc与make---变成可执行程序---运行安装
安装开发工具gcc、make
51e3ca96b2ac46fbac5ab2417e1abb44.png
tar解包,释放源代码到指定目录,把从真机上传递过来的tools包解压到/usr/local/目录下
fbac311f98b444a3b1d23c985037c09e.png
3eda60868117412785a9aed733759ac4.png
解压inotify压缩包
0e908894518c4a369511646b29758bc1.png
查看该源码包的内容
7c3827e7bb4840038253e26b20160864.png
./configure 配置,它能检测当前系统是否安装gcc, 指定安装位置与功能,生成Makefile文件(制作程序的大纲)。
bcd667b445f94d7ca25a2de297f0d4ae.png
查看帮助信息
99749db0361e4ba6bfed107da388a7df.png
必须相对路径运行该脚本, prefix选项:指定安装位置
55018dc18de34d4fa5482df0798158aa.png
进行make编译,变成可以执行的程序(放在内存中,二进制文件)
ca27b6fc836c49ac803375a11721fbca.png
make install 安装,将编译好的文件复制到安装路径
36a6adf0298949b7bf1997cdca676edd.png
查看安装
b448f16a60ab40a480b9ca163efbf01b.png
如果要卸载,只要卸载该目录
9a54600e4aae4330a247d5657a7d9a43.png
rsync基本使用
rsync:Remote Sync 远程同步
复制是完全拷贝源到目标,同步则是增量拷贝,只传输 变化过的数据
rsync? [选项]? 源目录? 目标目录
-n:测试同步过程,不做实际修改
--delete:删除目标目录文件夹内多余的文档
-a:归档模式,相当于 -rlptgoD(保持大部分的属性不变)
-v:显示详细操作信息
-X:保持acl策略不变
创建两个目录
bd9e28f40ac845298d1f2c895171a2f6.png
向mydir目录中添加内容
59c8ad36b6f14c2a9091832735664adc.png
同步数据内容,需要加 ‘/’
c336aa40925743db856867b31f7a69b1.png
查看目标目录,此时数据已经同步过去
f626957ba3b243e3ab92128b3893e1c9.png
原目录添加文件,再次同步会添加新增的文件
86abc653aaa84c4985a168af14679e86.png
如果目标目录中比原目录多文件,使用---delete会删除多余的文件
a1dd2d461185406db53e0ef99b1bc888.png
查看目标目录
529ddb71a81a446ca641ea766f7d89d9.png
测试同步,表示将要同步的内容
b5a32dd5510c48c089aa103c2bd12f00.png
远程同步 rsync + ssh
rsync? ? ?[..]? ? 本地目录? ? ? ? user@host:远程目录
rsync? ? ?[..]? ? ?user@host:远程目录? ? ? 本地目录
adc85e491c2f4177a0f6a2114c57ec1d.png
在pc2主机查看内容
036a16775e874714b958f7a6a093a065.png
如何实现,只要原目录数据变化,就数据远程同步:虚拟机A上生成公钥与私钥,把公钥传递给虚拟机B,此时rsync远程数据同步就不在需要密码
生成密钥
3a60ea30a77e4c498bc0df58a9de5341.png
传递公钥
7109b3b38c094048a5c5aa294cda57bb.png
此时数据远程同步就不需要密码验证
e6857a3888124a59a2ad40013131baa1.png
使用上面下载的源码包程序inotify,监控原目录的变化
inotifywait? ? [选项]? ?目标文件夹
-m:持续监控(捕获一个事件后不退出)
-r:递归监控,包括子目录及文件
-q:减少屏幕输出信息
-e:指定监视的modify、move、create、delete等事件
监控文件的变化,要在开一个终端
df763d19ac42439da6d5b40579389e11.png
在另一个终端中修改文件内容
80508ecb20a9457c8809b099cf659cf4.png
此时监控就输出监视的结果
14eae406352e4407ae521c7b2f0863b0.png
脚本:可以运行的一个文件,实现某种功能
例如:使用脚本输出? hello world
2ac9e7a24ec144eca567bb14c8214102.png
e5b5dda8ee0946fbbc38e7bff0e3ab35.png
需要编写shell脚本,让两个命令相关联起来,只要inotifywait一检测到文件变化,就执行rsync命令让数据远程同步。
54e7adc518c04a6a905e3f34a893a37b.png
-rqq两个q表示不在屏幕上输出
55bbff93353148a19521b9967fb509ce.png
执行脚本并放入到后台(&)
612ef96592b349ce8acd41c5144898f3.png
在虚拟机A是修改内容,
052d52ffc6e4490f8a03fe792c59b9e9.png
此时使用虚拟机B查看内容,已经同步数据
f4cdff4ab36945b4b205fc678d6c6634.png
数据库:存放数据的仓库
在数据库系统中,有很多的数据库,每个数据库中有很多的表格
MariaDB数据库:
安装软件包 mariadb-server
9b97a99e8c4d45309c35deefb6a92ab8.png
启动服务
529acc952e50487dbdc44ca0ead58fdc.png
使用mysql命令登录默认以数据库管理员登录不需要密码
84e22888da264277a84da0856326b9d7.png
show datebases; : 显示数据库,以分号结尾
858c3f0a8ed84df9bc401fd981de87d7.png
create database :创建数据库
197566efc2ff43c9b06d616ef48c0cdc.png
查看创建的数据库
c2e0508f089b4eee8aa722a9d34e7d07.png
删除数据库drop?
36d42df4908b441a876fe6a5fde844de.png
退出数据库 exit
d979cd2fb4e2440396ace8934886ba7e.png
use + 数据库名:进入该数据库
9ba6915e7f064d5891fdb082f805d4c8.png
show tables :查看表格
584a1546fc0049b6b1ffa7c487db4524.png
数据库系统没有返回命令,如果需要进入其他数据库直接use + 数据库;就能切换到该数据库。
fceda51afe6f4728ae9208fcae803016.png
表格的操作:增、删、改、查;表的类型叫做表字段,表的内容叫表记录。
数据的恢复,把表导入到数据库中(之前导出的表或者下载的表)
454d38bbc61e488593fb97ecbacea99a.png
进入数据库,查看表格
56070183d65447eebcdd303ef905d161.png
查看该数据库的表格,select *(所有字段) from 表名
f842281408694640ad38dc7e278c36f5.png
当在其他数据库中查看另一个数据库的表时,需要加上该数据库的名称
1ea145ecdd3640f7bff4536b800e67ab.png
查看特定的命令,where、and、or
4f9f5f973b0b420290036ccecfaba1e2.png
insert插入数据,update修改数据,delete删除数据
数据库系统管理员:对于数据库系统有最高权限,名称为root,能够登录数据系统的用户信息,由mysql中user表进行存储。
为数据库系统管理员设置密码:
mysqladmin [-u 用户名] [-p 旧密码] passwd '新密码'
d762a90882be4d1c9052e03bb492de5f.png
此时登录数据库就需要密码了
cac215a108c94421bd47fa3508288e0c.png 9e19474e71d144fea140e3d8412484d2.png
修改密码
0761735b015c4c05a3f5e1f7e1060411.png
cded9e0761ab444ab16dcd702356473a.png
邮件服务器:为用户提供电子邮件存储空间(用户名@邮件域名),处理用户发出的邮件--传递给收件服务器,处理用户收到的邮件--投递到邮箱。
安装软件包postfix
54befa1d085248f495ec4eb48648430f.png
发送邮件 mial -s '标题名' -r 发送用户名? 接收用户名
4d57a34e89784aeeae51e6f244a2519e.png
查看邮件
37efdadd4f864db384c93161fde6311f.png
容器:
将软件打包成标准化单元,用于开发,交付和部署,容器技术已经成为应用程序封装和交付的核心
优点:相较于传统的虚拟化技术,容器更加简洁高效,容器使用的共享公共库和程序
缺点:容器的隔离性没有虚拟化强,共用Linux内核,缺乏安全性
podman是完整的一套容器管理系统,它提供的一组命令,让用户更加方便直接地使用容器技术,而不需要过多的关心底层内核技术,
需要关闭SELinux,设置禁用模式(重新开机才会生效)
7232a4f1be9f4dde9dd18fec602ee9d3.png
卸载防火墙 yum remove firewalld
修改网卡命名规则(eth0):
b570d7bb4c2b4b09aa75032069bb9fc2.png
编辑/etc/default/grub文件
a54afc9c2fd043728e5fb5d4eb8b271e.png
链接到/boot/grub2/grub.cfg
6e8c088315f240a787d134528b321193.png
重启系统reboot
e241c9b1b0eb449dbf84fc699fbed30a.png
此时SELinux和网卡名称都已经被修改
e7fff8f3522f4b678be489993855c737.png
352d16334dca43eebbfa826658303072.png
添加网卡
a3818265735648ba8219e77e89abda5d.png
修改配置
93cee3a46535435dacc55bd885a90424.png
激活并查看IP地址
deea4f4ee82c4be6bb41cbbb7d9b5c28.png
配置虚拟网卡,让真机连接虚拟机
c13fe886709d4d0696496cc49d86d41d.png
安装podman
e469336f594744e8aa6a1e223e42570b.png
查看安装
f007fdacc660458192a0ff867cb4a0ff.png
查看镜像podman images
4ec1ac6f016c4df9b613edc646fbf235.png
导入镜像(镜像文件)
b8a5aa6ac5e847098a9bad723c2760b8.png
查看镜像:镜像的名称标识,每一个镜像都对应唯一的ID,镜像名称(姓氏)+标签(名字)=唯一标识。每一个镜像都有标签,如果没有写标签默认标签latest,在调用镜像的时候,如果没有指定标签也是默认latest
1c744e1235074447acda1704b720bd96.png
删除镜像 podman rmi 镜像ID(只需写ID不同的部分,系统会补全其余部分)
6207f96e2a9047548da2fbf18faa0bc8.png
或者镜像标识rmi 镜像名称:镜像标签
fe52921fe6ac41bfa1128a4efbd645de.png
运行容器:
podman run [选项]? 镜像名称:镜像标签(每次运行都产生一个容器,run=创建+启动+进入)???启动命名
-i:交互式方式
-t:终端
-d:后台运行
--name 容器名字
7e8c31396ac04108a28b11bac79db330.png
当按回车后就已经在该容器内了(相当于新的虚拟机)
2883b88959054ad0ab6d821822e9fa24.png
查看版本信息
7fc67b78ec4440b89f6c0fe7b777eb83.png
exit退出
9c831a8b74054c3d8cfa0e0756789bbc.png
查看所有的容器 podman ps -a
63d7f9379ac742af89be386890b4a557.png
删除容器并查看 -f(强制删除)
69ba465c29cd4d2080b7d73e8abd25c9.png
进入容器,先启动容器
8afafb78d3454fae9434f72634ec272b.png
podman exec -it 容器名 解释器
14076c5db962472d8ab84ee9b480555f.png
将容器放入后台(创建的时候),此时如果使用容器就不在需要来回启动它了(会一直保持up状态)
342ea6600a63459eb28c9abe250efa1b.png
d057527179544aee8982923dd16440e4.png
进入容器
c6f1192f34ad4a2eac910227f6599c17.png
使用容器创建web服务,当虚拟机B访问本机web访问时,本机把容器的web服务转发给虚拟机B(podman监听80端口,如果有人访问80 端口,podman就会把访问请求发给容器,让容器响应请求)
端口绑定(端口转发)-p 宿主机端口:容器端口
创建容器
6981e90b4b694bcfa0e75b4c416bb13d.png
进入容器,创建首页
8cd6184349f94976a96a45f4a6a869ff.png
使用虚拟机B服务本机的Web服务
7ad15cd3917f4c89b020b341822df48a.png
容器共享卷:容器不适合保存任何数据,podman可以映射宿主机文件或目录到容器中,目标对象不存在就自动创建,目标对象存在就直接覆盖掉,多个容器可以映射同一个目标对象来达到数据共享的目的,启动容器时,使用 -v 映射参数
创建共享目录
f65e4bbee85e4bb6bd3aecba5fc5507a.png
创建容器
f3c9920120de46ff904a1656ce90fb50.png
此时容器httpd服务默认启动,在宿主机上创建网页
77782e32062d403a8d104a993f0b8ed1.png
查看容器的内容,发现和宿主机一样
92735f2dbb564c82bc686c414537bcbc.png
在虚拟机B上访问web服务
81ddbf9444964b55a359fb912d317a9c.png
如何使用systemctl命令来开启或者停用容器(/usr/lib/systemd/system:systemd服务管理器目录)
生成配置文件(此时容器必须保持开启状态)
2a7b601d48764ab38424f8aafd7cc83c.png
查看配置文件
40edcebfe41640c2b04c130b12eed5d6.png
b70dba0590804235ae615bb5eb4b4806.png
重新加载服务配置文件,使其生效
72f3b675024142fd96734b3e68fcd11e.png
查看容器
4680a4befcbc421891576c5090246877.png
停用容器,并查看
c28a3833a4064349b6cc09089ab5416a.png
使用systemctl启动容器
?
?
?
?
?
?
?
?
?
?

?

?

文章来源:https://blog.csdn.net/qq_62414482/article/details/134838221
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。