03-Linux03

本文详细介绍了Linux系统中通过yum和rpm进行软件安装、升级、卸载的方法,包括yum源的配置、软件搜索与选择,以及如何使用SCP进行远程文件传输,同时涵盖了Linux定时任务的crontab设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Linux的两种软件安装方式

1、Yum源配置

使用yum命令进行软件安装是linux安装文件的一个重要部分。

yum install -y  软件的名字
-y   一路yes
它会通过一个yum源配置的网址进行软件的下载,并安装

1、要联网
2、网址的网速要快
yum 源默认的网址是国外的,所以,一般修改yum源为国内的。
将yum源地址修改为国内的阿里的。

修改阿里云的镜像文件:
1、cd /etc/yum.repos.d/ 
2、备份⼀下:cp CentOS-Base.repo CentOS-Base.repo.bak
3、下载阿⾥云镜像到本地:
 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
4、清除yum的缓存
   yum clean all
   yum makecache
5、yum install -y ntpdate

1、yum search ifconfig   用于查看某个命令是哪个安装包下的命令
search 只能检索出来一个软件,如果这个命令在多个软件中都有,可以使用如下方式:
yum search all ifconfig

发现net-tools.x86_64 软件中包含了这个命令,所以应该安装这个软件才对。 

yum install -y net-tools.x86_64


使用这个命令   ifconfig   == ip addr
如果是在windows电脑上,ipconfig 用于查看windows上的ip地址



软件的升级    yum -y update 软件的名字 
卸载          yum -y remove 软件的名字

yum源安装本质上也是rpm安装,因为它是先将rpm 安装包下载下来之后,又使用命令给你安装了一遍而已。

2、linux中软件安装的另一种方式 rpm

就好比是别人给了一个 exe 文件,只是我们的linux上是没有exe文件的,跟exe文件类似的是 rpm 安装包。

安装
 rpm -ivh  rpm安装包的名字
卸载
 rpm -e   rpm的名字
 rpm -e   rpm的名字 --nodeps  (强制卸载)
 
查看哪些软件是rpm安装的。
rpm -aq
这个可以查询到所有的,使用rpm安装包安装过的软件的名字,如果想删除的话,直接使用这个名字删除即可。
可以使用如下方式,查看某个服务是否安装:
rpm -qa | grep jdk

rpm -e mysql-community-common-5.7.28-ex.x86_64 --nodeps
可以通过这种方式删除一个个的软件。

3、安装mysql8.0

1、上传,解压

tar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar

2、查看是否有mysql数据库

rpm -qa | grep mariadb
rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps

mariadb 其实和mysql 是同父异母的兄弟
mysql --> SUN公司 -->Java --> Oracle --> 所以外界一直担心mysql被干死 -->mysql创始人单干了
 --> mysql5.5的基础之上写了一个mariadb  外界也开始使用mariadb。

3、依次安装所需服务

rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm
yum install -y net-tools
yum install -y perl
yum install libaio
rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm

4、服务启动

systemctl start mysqld    这个是启动mysql
systemctl status mysqld   查看mysql的状态
systemctl stop mysqld     关闭服务

5、修改密码

1、先查看默认密码
grep password /var/log/mysqld.log

先将密码修改成一个复杂的密码:

alter user root@localhost identified by 'Y1u2n3h4e5!';

修改mysql的密码校验规则:

show variables like '%validate_password%';					# 查看密码策略
set global validate_password.policy=LOW;						# 修改密码策略等级为LOW
set global validate_password.length=4;							# 密码的最小长度
set global validate_password.mixed_case_count=0;	  # 设置密码中至少要包含0个大写字母和小写字母
set global validate_password.number_count=0;			 	# 设置密码中至少要包含0个数字
set global validate_password.special_char_count=0;	# 设置密码中至少要包含0个特殊字符

# 2. 修改密码
alter user root@localhost identified by '123456';

mysql8.0密码不能设置为root,否则报错!

修改mysql可以远程连接:

create user 'root'@'%' identified by  '123456';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;// 刷新权限,让其立即起作用。

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

使用这个sql语句可以修复上面的错误!

二、对虚拟机进行克隆

1、先关机

2、最新的状态,整个快照

3、开始克隆

4、修改克隆的服务器的硬件设置

5、修改克隆机的IP地址(因为跟第一台重复了)

vi  /etc/sysconfig/network-scripts/ifcfg-ens33
将IP地址修改为 192.168.32.129
保存退出
重启网络服务:  systemctl restart network

检查一下  ifconfig  以及是否可以ping 通百度。

6、修改克隆机的主机名

hostname bigdata02
1、vi /etc/hostname  修改保存即可
2、还有一种方式可以永久修改主机名:hostnamectl set-hostname bigdata02
跟 修改文件 这两种方式二选一

7、修改映射关系

vi /etc/hosts

三、SCP远程拷贝命令 

cp  是拷贝的命令,只能在一台电脑上,拷贝文件或者文件夹,无法跨电脑拷贝。
scp 可以实现将A电脑上的文件,拷贝到B电脑上。

scp  A电脑上的文件   用户名@主机名:路径

实战一下:
scp /etc/hosts root@bigdata01:/etc/
需要输入bigdata01的密码。

如果想拷贝文件夹,需要添加 -r 参数
scp -r A电脑上的文件夹   B电脑用户名@B电脑的主机名:路径

还可以这样写:
scp /etc/hosts root@192.168.233.128:/etc/
还可以这样写:
先进入到 /etc/
scp /etc/hosts root@bigdata01:$PWD

四、服务器之间的免密操作

比如:bigdata01 这个电脑想免密登录到bigdata02 如何做?

1、需要在bigdata01上生成公钥和私钥
ssh-keygen -t rsa
一路回车即可。
2、生成的公钥和私钥在哪里?
/root/.ssh/id_rsa

3、将公钥传递给你想免密登录的电脑,比如bigdata02
ssh-copy-id bigdata02

本质是将bigdata01中的公钥拷贝到了bigdata02中的/root/.ssh/authorized_keys

验证bigdata01 是否可以远程连接bigdata02:

ssh  bigdata02    发现不需要输入密码即可完成登录
exit   退出当前的登录

 为了将来hadoop集群可以顺利启动,我们还需要让bigdata01免密登录自己。

    --------  ssh-copy-id bigdata01

1、bigdata02随机生成了一串字符串,通过公钥进行加密,传递给bigdata01
2、bigdata01 通过私钥,对这个密文进行解密,再传递给bigdata02
3、bigddata02 拿到bigdata01的明文和自己当初的明文对比一下,发现正确就可以免密登录了。 

五、Linux定时任务

1、什么是定时任务

只要是一个开发语言,都有定时任务。

今天要学习的是Linux的定时任务,其他技术,比如Java也有定时任务。

2、Linux中的定时任务(crontab)

1) 定时任务如何开启和关闭

cron服务的相关命令: 
启动定时任务的服务: service crond start  -->  systemctl start crond
关闭定时任务的服务: service crond stop   --> systemctl stop crond
重启定时任务的服务: service crond restart --> systemctl restart crond
重新载⼊定时任务的配置: service crond reload
查看定时任务的状态: service crond status

不管是网络服务,还是防火墙,还是其他的,都是 start  stop restart status

而且在CentOS6.X 跟CentOS 7 之间命令差距很大。

2)如何编写定时任务

crontab -e 进入定时任务的编辑界面

*/1 * * * * echo "Good Moring" >> /tmp/test.txt

每隔一分钟,在/tmp/test.txt 中,追加一条记录  "Good Moring"

每次新建了一个定时任务后,一定要reload 一下
service crond reload  --> systemctl reload crond

可以使用tail -f /tmp/test.txt

查看一个滚动的文件(一直追加的文件),ctrl + c 结束查看。

3) 定时任务的语法格式(通用,跟正则表达式)


格式如下:
* * * * * user-name command to be executed
共有六部分组成,分别表示: 分   时   ⽇   ⽉   星期 要运⾏的命令 解析:
   minute:     ⼀⼩时中的哪⼀分钟 [0~59]
   hour:       ⼀天中的哪个⼩时 [0~23]
   day:       ⼀⽉中的哪⼀天 [1~31]
   month:     ⼀年中的哪⼀⽉ [1~12]
   week:       ⼀周中的哪⼀天 [0~6]   星期日是0 ,星期6 是 6
   commands:   执⾏的命令
   
   1、执行的命令是否可以执行  ntpdate
   2、可执行的脚本你是否赋予了权限    比如自定义的脚本需要赋予权限才能运行
   3、*/num 表示频率
   4、如果是相连的时间使用  -  比如,周一到周五  1-5
      如果时间不是相邻的,使用逗号(,)即可。  比如   8,10,12

每天晚上12点半执行

30 0 * * *

练习: 
1、每天早上6点
   0 6 * * *
2、每隔两个⼩时
   0 */2 * * *
3、晚上11点到早上8点之间每隔2个⼩时和早上⼋点
   0 23-8/2,8 * * *
4、周⼀到周五,下午五点半
   30 17 * * 1-5
5、每⽉的1,10,22 的 4:15分
   15 4 1,10,22 * *
6、每周的周六周⽇1:10分
   10 1 * * 6,0
7、每天18:00 到 23:00 每隔 30分钟
   0,30 18-22 * * *  
   0 23 * * *  
8、每星期六的下午11点
   0 23 * * 6

每次进行任务编辑的时候,其实修改的是一个文件,位置在/var/spool/cron,文件的名字是以用户名命名的。比如root.

service crond reload 其实就是重新加载这个文件而已。

在定时任务中,可以同时定义多个定时任务:

        */1 * * * * echo "Good Moring" >> /tmp/test.txt

        */1 * * * * echo "Good Afternooing" >> /tmp/test1.txt

history 命令可以查看以往所有执行过的命令,配合grep 非常的nice

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

YuPangZa

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

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

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

打赏作者

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

抵扣说明:

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

余额充值