Linux 运维基础入门(十)-发布网络YUM源 、 vim编辑技巧 、 源码编译安装

搭建环境
准备
一 关闭虚拟机classroom与server与desktop

二 真机建立全新的两台虚拟机
[student@room9pc01 ~]$ clone-vm7
Enter VM number: 4

[student@room9pc01 ~]$ clone-vm7
Enter VM number: 5

vi是Linux最基本的编辑器

虚拟机root的密码:123456

##################################################
三 配置虚拟机A
1.为虚拟机A:配置eth0的IP地址为192.168.4.7/24
真机管理本机虚拟机,前提关闭所有虚拟机图形窗口
[student@room9pc01 ~]$ virsh console A
Ctrl + ]:退出管理
[root@localhost ~]# nmcli connection modify eth0 ipv4.method manual ipv4.address 192.168.4.7/24 connection.autoconnect yes

[root@localhost ~]# nmcli connection up eth0
[root@localhost ~]# ifconfig | head -2
2.为虚拟机A配置主机名:svr7.tedu.cn
[root@localhost ~]# echo svr7.tedu.cn > /etc/hostname
svr7.tedu.cn
[root@localhost ~]# hostname svr7.tedu.cn
[root@localhost ~]# hostname
svr7.tedu.cn
[root@svr7 ~]# cat /etc/motd #每次开机自动显示内容

###################################################
真机利用virsh console管理虚拟机B进行配置
[root@localhost ~]# hostname pc207.tedu.cn
[root@localhost ~]# echo pc207.tedu.cn > /etc/hostname

[root@localhost ~]# nmcli connection modify eth0 ipv4.method manual ipv4.address 192.168.4.207/24 connection.autoconnect yes

[root@localhost ~]# nmcli connection up eth0
[root@localhost ~]# ifconfig | head -2

###################################################
利用真机进行ssh远程管理
真机上设置
[student@room9pc01 ~]$ vim /home/student/.bashrc
alias goa=‘ssh -X root@192.168.4.7
alias gob=‘ssh -X root@192.168.4.207

开启新的终端才能验证

###################################################
为虚拟机A与虚拟机B构建Yum仓库

一 真机:服务端
构建Web服务或FTP服务,共享光盘所有内容

1.构建FTP服务,共享光盘所有内容
[student@room9pc01 ~]$ rpm -q vsftpd
vsftpd-3.0.2-22.el7.x86_64
[student@room9pc01 ~]$ ls /var/ftp/centos-1804/

[student@room9pc01 ~]$ systemctl status vsftpd

[student@room9pc01 ~]$ vim /etc/fstab

/var/lib/libvirt/images/iso/CentOS7-1804.iso /var/ftp/centos-1804 iso9660 defaults 0 0

]$ firefox ftp://192.168.4.254/centos-1804

二 客户端:虚拟机A与虚拟机B
[root@svr7 ~]# vim /etc/yum.repos.d/local.repo
[local_repo]
name=CentOS-$releasever - Base
baseurl=ftp://192.168.4.254/centos-1804
enabled=1
gpgcheck=0

[root@svr7 ~]# yum repolist
[root@svr7 ~]# yum -y install xeyes

[root@svr7 ~]# xeyes

###################################################
总结新建虚拟机:
1.真机利用clone-vm7生成虚拟机,开启虚拟机
2.真机利用virsh console 虚拟机名 设置IP地址
3.真机利用ssh远程管理虚拟机,配置主机名与Yum客户端配置文件

####################################################
虚拟机C
1.配置eth0的IP地址:192.168.4.10/24
2.配置主机名:svr10.tedu.cn
3.配置Yum仓库,以真机提供FTP作为服务端

虚拟机D
1.配置eth0的IP地址:192.168.4.20/24
2.配置主机名:pc20.tedu.cn
3.配置Yum仓库,以真机提供FTP作为服务端

####################################################

目录结构
• 认识Linux的目录层次:
– man hier

• 常见一级目录的用途
/boot 存放系统引导必需的文件,包括内核、启动配置
/bin、/sbin 存放各种命令程序
/dev 存放硬盘、键盘、鼠标、光驱等各种设备文件
/etc 存放Linux系统及各种程序的配置文件
/root、/home/用户名 分别是管理员root、普通用户的默认家目录
/var 存放日志文件、邮箱目录等经常变化的文件
/proc 存放内存中的映射数据,不占用磁盘
/tmp 存放系统运行过程中使用的一些临时文件

权限的数值表示
• 权限的数值化
– 基本权限:r = 4,w = 2,x = 1
– 附加权限:SUID = 4,SGID = 2,Sticky Bit = 1

[root@svr7 ~]# mkdir /nsd01
[root@svr7 ~]# ls -ld /nsd01

[root@svr7 ~]# chmod 700 /nsd01
[root@svr7 ~]# ls -ld /nsd01

[root@svr7 ~]# chmod 007 /nsd01
[root@svr7 ~]# ls -ld /nsd01

[root@svr7 ~]# chmod 755 /nsd01
[root@svr7 ~]# ls -ld /nsd01

[root@svr7 ~]# chmod 750 /nsd01
[root@svr7 ~]# ls -ld /nsd01

[root@svr7 ~]# chmod 3755 /nsd01
[root@svr7 ~]# ls -ld /nsd01

###################################################
历史命令
• 管理/调用曾经执行过的命令
– history:查看历史命令列表
– history -c:清空历史命令
– !n:执行命令历史中的第n条命令
– !str:执行最近一次以str开头的历史命令
• 调整历史命令的数量
[root@svr7 ~]# vim /etc/profile
HISTSIZE=1000 #默认记录1000条

[root@svr7 ~]# history #查看历史命令
[root@svr7 ~]# history -c #清空历史命令
[root@svr7 ~]# history
1 history
[root@svr7 ~]# cat /etc/redhat-release
[root@svr7 ~]# ls -l /etc/redhat-release
[root@svr7 ~]# cat /etc/hostname

[root@svr7 ~]# history

[root@svr7 ~]# !cat #执行历史命令中最近一条cat开头

###################################################
实用小命令工具
• du,统计文件的占用空间
– du [选项]… [目录或文件]…

– -s:只统计每个参数所占用的总空间大小
– -h:提供易读容量单位(K、M等)

[root@svr7 ~]# du -s /root/

[root@svr7 ~]# du -sh /root/

[root@svr7 ~]# du -sh /boot/ /etc/

[root@svr7 ~]# du -sh /

################################################
bc 交互式计算器
[root@svr7 ~]# bc
-bash: bc: 未找到命令
[root@svr7 ~]# yum -y install bc

[root@svr7 ~]# bc #进入交互式模式

      • / %(取余数运算)

公式是: 被除数 ÷ 除数 = 商

余数一定小于除数

##################################################
• date,查看/调整系统日期时间
– date +%F、date +%R
– date +"%Y-%m-%d %H:%M:%S"
– date -s “yyyy-mm-dd HH:MM:SS”
显示日期时间
调整日期时间
恢复为硬件时间:hwclock -s

[root@svr7 ~]# date +%F #显示年月日
[root@svr7 ~]# date +%R #显示时分

[root@svr7 ~]# date +%Y #显示年
[root@svr7 ~]# date +%m #显示月

[root@svr7 ~]# date +%d #显示日期
[root@svr7 ~]# date +%H #显示时

[root@svr7 ~]# date +%M #显示分
[root@svr7 ~]# date +%S #显示秒

#####################################################
制作快捷方式(连接文件 符号文件)

格式:ln -s /路径/源文件 /路径/生成快捷方式名称 #软连接

[root@svr7 ~]# cat /etc/hostname

[root@svr7 ~]# ln -s /etc/hostname /
[root@svr7 ~]# ls /
[root@svr7 ~]# ls -l /hostname

[root@svr7 ~]# ln -s /etc/hostname /hn
[root@svr7 ~]# ls /
[root@svr7 ~]# ls -l /hn

[root@svr7 ~]# cat /hn
[root@svr7 ~]# cat /hostname

若原始文件或目录被删除,连接文件将失效
软连接可存放在不同分区/文件系统,也可以针对目录

[root@svr7 ~]# echo 123 > /opt/A
[root@svr7 ~]# cat /opt/A
123
[root@svr7 ~]# ln -s /opt/A /opt/B
[root@svr7 ~]# ls /opt/
A B
[root@svr7 ~]# rm -rf /opt/A
[root@svr7 ~]# ls /opt/
B
[root@svr7 ~]# cat /opt/B

ln,创建硬连接
– ln 原始文件 硬连接文件

若原始文件被删除,连接文件仍可用
硬连接与原始文件必须在同一分区/文件系统,必须时文件

[root@svr7 ~]# echo haha > /opt/1.txt
[root@svr7 ~]# ln /opt/1.txt /opt/2.txt
[root@svr7 ~]# ls /opt/

[root@svr7 ~]# cat /opt/2.txt

[root@svr7 ~]# rm -rf /opt/1.txt
[root@svr7 ~]# ls /opt/

[root@svr7 ~]# cat /opt/2.txt
####################################################

获取命令帮助
[root@svr7 ~]# date --help
[root@svr7 ~]# man date

[root@svr7 ~]# man passwd
[root@svr7 ~]# man 5 passwd #配置文件帮助信息
###################################################
zip归档工具(跨平台的压缩工具)

• 归档+压缩操作
– zip [-r] 备份文件.zip 被归档的文档…
[root@svr7 ~]# yum -y install zip
[root@svr7 ~]# zip -r /opt/file.zip /etc/passwd /home
[root@svr7 ~]# ls /opt/
[root@svr7 ~]# zip -r /opt/abc.zip /etc/fstab /etc/hosts
[root@svr7 ~]# ls /opt/

• 释放归档+解压操作
– unzip 备份文件.zip [-d 目标文件夹]
[root@svr7 ~]# yum -y install unzip
[root@svr7 ~]# mkdir /nsd02
[root@svr7 ~]# unzip /opt/file.zip -d /nsd02

[root@svr7 ~]# ls /nsd02
[root@svr7 ~]# ls /nsd02/etc/
[root@svr7 ~]# ls /nsd02/home/
####################################################
发布自定义Yum仓库

把从互联网下载的软件包,采用Yum的机制进行管理

1.具备从互联网下载的软件包
真机上:
[student@room9pc01 ~]$ ls /linux-soft/01
Cobbler.zip tools.tar.gz

2.将真机tools.tar.gz上传到虚拟机A的/root目录下
scp=ssh+cp结合
scp /本地路径/源文件 root@对方IP地址:/目标路径/

scp /linux-soft/01/tools.tar.gz root@192.168.4.7:/root

3.验证在虚拟机A进行查看
[root@svr7 ~]# ls /root/
Desktop tools.tar.gz
[root@svr7 ~]#

4.虚拟机A解包:
[root@svr7 ~]# tar -xf /root/tools.tar.gz -C /
[root@svr7 ~]# ls /
[root@svr7 ~]# ls /tools/
[root@svr7 ~]# ls /tools/other/

5.生成仓库清单(仓库数据文件)
[root@svr7 ~]# yum -y install createrepo
[root@svr7 ~]# createrepo /tools/other/

[root@svr7 ~]# ls /tools/other/

6.修改配置文件指定新的Yum服务端
[root@svr7 ~]# ls /etc/yum.repos.d/local.repo
[local_repo]
name=CentOS-$releasever - Base
baseurl=ftp://192.168.4.254/centos-1804
enabled=1
gpgcheck=0

[myrpm]
name=myrpm
baseurl=file:///tools/other #指定本机为服务端
enabled=1
gpgcheck=0

[root@svr7 ~]# yum repolist

##################################################
[root@svr7 ~]# yum -y install cmatrix
[root@svr7 ~]# cmatrix

[root@svr7 ~]# yum -y install sl
[root@svr7 ~]# sl

[root@svr7 ~]# yum -y install oneko
[root@svr7 ~]# oneko &
关闭终端,可以结束oneko程序

##################################################
vim编辑技巧

命令模式
[root@svr7 ~]# cp /etc/passwd /opt/pa.txt
[root@svr7 ~]# vim /opt/pa.txt
光标跳转
Home 键 或 ^、数字 0 跳转到行首
End 键 或“KaTeX parse error: Expected 'EOF', got '#' at position 69: …制/粘贴/删除 复制 yy、#̲yy 复制光标处的一行、#…或D(大写) 从光标处删除到行尾
C(大写) 从光标处删除到行尾,并且进入插入模式
u 撤销

查找/撤销/保存
/word 向后查找字符串“word”
n、N 跳至后/前一个结果
u 撤销最近的一次操作
U 撤销对当前行的所有修改
Ctrl + r 取消前一次撤销操作
ZZ(大写) 保存修改并退出
[root@svr7 ~]# cp /etc/passwd /opt/pa.txt
cp:是否覆盖"/opt/pa.txt"? y
[root@svr7 ~]# vim /opt/pa.txt

####################################################
末行模式操作

读入其他文件内容

[root@svr7 ~]# echo 123 > /opt/a.txt
[root@svr7 ~]# echo abc > /opt/b.txt
[root@svr7 ~]# vim /opt/a.txt

  末行模式下   :r  /opt/b.txt   #读入/opt/b.txt内容到当前文件
  末行模式下   :r  /etc/hostname
  末行模式下   :r  /etc/hosts

字符串替换
?/root/admin 替换光标所在的当前行第一个“root”
?/root/admin/g 替换光标所在的当前行所有的“root”
:5,10 s/root/admin/g 替换第5-10行所有的“root”
:% s/root/admin/g 替换文件内所有的“root”

[root@svr7 ~]# cp /etc/passwd /opt/p.txt
[root@svr7 ~]# vim /opt/p.txt

开关参数的控制
:set nu或nonu 显示/不显示行号
:set ai或noai 启用/关闭自动缩进

###############################################
源码编译安装

RPM包: rpm -ivh yum

源码包----gcc与make---->可以执行的文件------->运行安装

源码编译安装的优势
• 主要优点
– 获得软件的最新版,及时修复bug
– 软件功能可按需选择/定制,有更多软件可供选择
– 源码包适用各种平台

步骤1:安装依赖关系包(安装开发工具)
[root@svr7 ~]# yum -y install gcc make
[root@svr7 ~]# rpm -q gcc
gcc-4.8.5-28.el7.x86_64
[root@svr7 ~]# rpm -q make
make-3.82-23.el7.x86_64

步骤2:tar解包,释放源代码至指定目录
]# tar -xf /tools/inotify-tools-3.13.tar.gz -C /
]# ls /
]# cd /inotify-tools-3.13/
]# ls

步骤3: ./configure 配置,指定安装目录/功能模块等选项

        ./=当前路径下运行    

作用1:检测本机是否安装gcc

作用2:指定安装目录/功能模块等选项

   --prefix=指定安装位置

]# cd /inotify-tools-3.13/
]# ./configure --prefix=/mnt/myrpm

常见报错提示:没有安装gcc
checking for gcc… no
checking for cc… no
checking for cl.exe… no
configure: error: no acceptable C compiler found in $PATH
See `config.log’ for more details.

步骤4:make 编译,生成可执行的二进制程序文件
]# cd /inotify-tools-3.13/
]# make

步骤5:make install 安装,将编译好的文件复制到安装目录
]# cd /inotify-tools-3.13/
]# make install

]# ls /mnt/
]# ls /mnt/myrpm/ #查看安装生成的目录
]# ls /mnt/myrpm/bin/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~上善若水~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值