2

cdlinux教程(cdLinux)

Linux内核怎么编译并生效?

wget 网页链接

rpm -ivh kernel-3.10.0-514.16.1.el7.src.rpm

cd ~/rpmbuild/SOURCES/

tar Jxvf linux-3.10.0-514.16.1.el7.tar.xz

cd linux-3.10.0-514.16.1.el7

cp /boot/config-($uname -r) .config

make -j40

make modules

make modules_install

make install

grub2-mkconfig -o /boot/grub2/grub.cfg

cat /boot/grub2/grub.cfg|grep menuentry

grub2-set-default '编译后的内核版本'

reboot

零基础怎么自学入门linux系统?

嵌入式Linux学习大致分为三部分:

A、 Linux操作系统使用

B、嵌入式Linux C语言编程

C、嵌入式Linux C语言数据结构及经典算法编程

学习Linux要达到什么程度?

掌握至少50个以上的常用命令。

熟悉Gnome/KDE等X-Windows桌面环境操作 。

掌握.tgz、.rpm等软件包的常用安装方法

学习添加外设,安装设备驱动程序(比如网卡)

熟悉Grub/Lilo引导器及简单的修复操作 。

熟悉Linux文件系统 和目录结构。

掌握vi,gcc,[gdb]等常用编辑器,编译器,调试器 。

理解shell别名、管道、I/O重定向、输入和输出以及shell脚本编程。

学习Linux环境下的组网。

今天给大家分享的Linux知识是:虚拟机和真实主机如何通讯?

首先了解一下通讯原理:

就是内核搭建一个bro接口,让虚拟机和主机直接通讯,不需要通过路由器通讯,不会受路由器的计算影响。

下面上干货,教大家如何配置

在真实主机上操作

1.进入网卡配置指向目录

cd /etc/sysconfig/network-scripts/

2.查看网卡配置指向目录里面内容

[root@foundation50 network-scripts] ls

ifcfg-br0 ifcfg-enp4s0f1 ifcfg-Wired_connection_1

ifcfg-CMCC-ckx7 ifcfg-I-SHAANXI-XiXian

3.将wifi等无关的网络配置文件删除

[root@foundation50 network-scripts]# rm -fr ifcfg-CMCC-ckx7 ifcfg-Wired_connection_1 ifcfg-I-SHAANXI-XiXian

4.编写ifcfg-enp4s0f1文件(ifcfg-一般后面跟的都是网卡名)

[root@foundation50 network-scripts]# cat ifcfg-enp4s0f1

DEVICE=enp4s0f1 设备名

BOOTPROTO=none 网卡工作方式为静态

ONBOOT=yes 网络启动服务的时候网卡自动激活

BRIDGE=br0 网桥接口叫br0

5.编写ifcfg-br0文件

[root@foundation50 network-scripts]# vim ifcfg-br0 编辑br0

DEVICE=br0

BOOTPROTO=none

IPADDR=172.25.254.50

PREFIX=24 子网掩码

ONBOOT=yes

TYPE=Bridge

6.[root@foundation50 network-scripts]# reboot 重启

打开虚拟机,看到如下图所示,就说明配置好了,真机和虚拟机就可以通讯了,小伙伴们可以试试哦,如有不明白的地方可以留言哦。

实时获取linux内核函数的调用栈以及各个子函数的执行时间,linux ftrace是最适合的。通过ftrace进行linux内核调试的步骤如下:

1、进入debugfs目录

$ cd /sys/kernel/debug/tracing

如果找不到目录,执行下列命令挂载debugfs:

$ mount -t debugfs nodev /sys/kernel/debug

2、查询支持的追踪器

$ cat available_tracers

常用的有两种:

- function 表示跟踪函数的执行;

- function_graph 则是跟踪函数的调用关系;

3、查看支持追踪的内核函数和事件。其中函数就是内核中的函数名,而事件,则是内核源码中预先定义的跟踪点。

//查看内核函数

$ cat available_filter_functions

//查看事件

$ cat available_events

4、设置追踪函数:

$ echo do_sys_open > set_graph_function

5、设置追踪器

$ echo function_graph > current_tracer

$ echo funcgraph-proc > trace_options

6、开启追踪

$ echo 1 > tracing_on

7、执行一个 ls 命令后,再关闭跟踪

$ ls

$ echo 0 > tracing_on

8、最后一步,查看跟踪结果

$ cat trace

不过ftrace使用起来操作步骤稍微有点繁琐,作为ftrace的改良版,trace-cmd使用起来更方便些,过程如下:

1、记录:

$ trace-cmd record -p function_graph -g do_sys_open -O funcgraph-proc ls

2、trace-cmd的输出和ftrace是类似的:

$ trace-cmd report

#linux# #程序员# #运维# #Linux# #计算机# #操作系统#

昨天公司新到一台服务器,安排新同事去装一下系统,配置一下IP。

服务器上架机柜,开机,发现系统已经做好了,centos7,他竟然说对命令一知半解,难道上学的时候不学命令行了吗?好吧,创建个虚拟机,演示一遍,然后自己去操作吧。centos配置IP命令如下

cd /etc/sysconfig/network-scripts/

ls

vi ifcfg-ens33

BOOTPROTO=static

ONBOOT=yes

IPADDR=192.168.0.230

GATEWAY=192.168.0.1

NETMASK=255.255.255.0

DNS1=192.168.0.1

DNS2=8.8.8.8

:+wq

然后重启网络服务service network restart,ifconfig查看ip地址,接着ping百度。

其实我之前更新了一部分linux基础的学习实验教程,我说你没事你翻一下看看,多练练自然也就上手了。像ls、ip addr、cd、ping等等这些基础的命令敲一遍就记住了。

恩,这些运维实践小技术后期加到我的网络管理指导手册里。#网络#

linux下部署flink入门

在flink官方网站下载flink-1.12.1-bin-scala_2.12.tgz

tar -zvxf flink-1.12.1-bin-scala_2.12.tgz

进入conf目录,主要修改workers,masters,flink-conf.yaml

学习的话,默认的就可以启动了

cd bin

./start-cluster.sh

在浏览器里访问 localhost:8081可以访问到flink的webui则说明flink的部署是OK的

对于在webui上提交任务的方式太鸡肋,基本上都是用shell脚本来提交flink的任务

./flink run -c org.apache.flink.streaming.example.socket.SocketWindowWordCount ../examples/streaming/SocketWindowWordCount.jar --hostname localhost --port 1234

使用

nc -l 1234

即可测试flink入门级的部署

百度网盘linux命令行工具下载和安装

wget 网页链接

unzip BaiduPCS-Go-v3.6.2-linux-amd64.zip

rm BaiduPCS-Go-v3.6.2-linux-amd64.zip

cd BaiduPCS-Go-v3.6.2-linux-amd64/

ls

BaiduPCS-Go

登录并进入百度云盘中的某个目录

d abc.zip --saveto ./ #下载abc.zip文件

在linux Ubuntu 中新建并执行python程序

1、进入目录

$ cd '/ home/user/dasktop/'

2、建立py文件并开始写入代码

$ touch mycode.py

3、运行

$ python3 mycode.py

=====

还可以尝试直接执行mycode.py

执行 $ ./mycode.py

系统报错 bash: ./mycode.py 权限不够

修改权限:

$ chmod a+x mycode.py

获取python执行路径:

$ which python

可能返回/usr/bin/python

再在my.py文件的首行加入:

#!/usr/bin/python

或者 #!/usr/bin/env python

最后直接执行:

$ ./mycode.py

#技术#

今天收获:仍然来自小林coding公众号。

(1)

说在三次握手的时候,有一个半连接队列和全连接队列的概念。半连接队列是第一次握手,客户端发起一个SYN给服务端,服务端如果此时处于listen()函数监听的状态,其Linux内核会维护一个队列,把这个请求连接放到这个队列里。然后在第三次握手,客户端返回一个ack应答给服务端的时候,内核会把之前加入半连接队列的连接移除,然后添加到accept()队列(也就是全连接队列)里,等待accept()函数调用。

(2)

查看全连接队列大小的方式:

ss -lnt (在linsten状态的命令,l就代表正在监听的socket),其中显示出来的Recv-Q表示现在已完成三次握手并等待accept()函数调用的连接个数。Send-Q则代表全连接队列的最大队列长度。

ss -nt (非listen状态下)Recv-Q:已收到但未被程序读取的字节数。Send-Q:已发送但未收到确认的字节数。 (老实说这个具体指什么我还不太清楚)

经过实验得出,全连接队列如果太小,就会经常导致队列溢出,内核自动把溢出的连接抛弃,这也限制了客户端的最大请求量。设置tcp_abort_on_overflow=0会抛弃,设置为1那么溢出的时候服务端会向客户端发送一个RST复位报文告诉说这个连接因为溢出失败了。一般设置为默认值0更有利于应对突发流量。

修改全连接最大队列长度的办法:

length=min(somaxconn,backlog)

echo 5000 > /pro/sys/net/core/somaxconn (修改somaxconn)

cd /usr/local/nginx/conf/nginx.conf

把这个文件中

server{

listen 8088 default backlog=5000;

}(修改backlog)

最后重启服务器就好。

查看由于 accept 连接队列已满,而被丢弃的连接 :

netstat -s | grep overflowed (结果一直在变动,需要多次查询)

(3)

查看半连接队列的方法:

没有ss命令,直接查看现在服务端处于SYN_RECV状态下的tcp连接数:

netstat -natp | grep SYN_RECV | wc -l (就会显示数量,具体参数可以百度)

插曲:SYN洪泛、SYN攻击、DDos攻击的原理:就是客户端对服务端一直发送SYN包,但是不回应ACK包。就会很快导致半连接队列溢出。

半连接队列最大值的计算方法:

如果 /pro/sys/net/ipv4/tcp_max_syn_backlog>min(somaxconn,backlog)

max_qlen_log= min(somaxconn,backlog) * 2; (半连接队列最大值)

如果/pro/sys/net/ipv4/tcp_max_syn_backlogmax_qlen_log= /pro/sys/net/ipv4/tcp_max_syn_backlog *2

不过这个当前队列的最大长度并不代表服务端处于SYN_REVC状态的最大个数。原因不好理解,暂时先放下。

半连接队列满了不一定丢弃,如果开启tcp_syncookies可以实现在不使用半连接队列的情况下成功建立连接。开启方法echo 1 > /pro/sys/net/ipv4/tcp_syncookies

防御SYN攻击就可以开启tcp_syncookies。另外还可以增大半连接队列,或者减少SYN+ACK重传次数。

查看因为半连接队列已满而丢弃的连接个数的命令:

netstat -s | grep "SYNs to LISTEN" (结果一直在变动,需要多次查询)

(4)

第一次看这篇文章还在疑惑,全连接队列最大长度设为128,怎么会建立3万条连接,主要原因是不是一直放在队列里,会因为accpet()函数的调用而减少的。

web开发时,有时需要使用https链接测试。要使用https功能,必须要使用ssl证书,阿里云有提供一年期的免费证书,可以在官网注册申领。因为想多掌握一些linux系统的使用,决定学习一下生成自签名的SSL证书,以及配置nginx实现https连接。特记录如下:

服务器环境:ubuntu22.04,nginx1.18.0

一、检查或安装openssl

生成自签名ssl证书需要openssl功能,可以使用命令查看系统是否已经安装:

openssl version -a

本机显示“OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)”

如果没有类似的显示,可以使用以下命令安装:

sudo apt install openssl

二、创建并签发SSL证书

(1)创建一个目录存放证书。

sudo mkdir -p /etc/nginx/cert/

(2)进入此目录并执行openssl命令。

cd /etc/nginx/cert/

(3)制作并签发证书

1、 sudo openssl genrsa -des3 -out ca.key 2048

# 生成私钥文件。输入密码并确认密码。密码一定要记住,后面的步骤将会用到。

2、 sudo openssl req -new -x509 -days 3650 -key ca.key -out ca.crt

# 生成根证书。执行上面这一行命令,提示输入密码后,会出现多项问题,分别是国家=CN,省份=你自己的所在省份,城市=你所在的城市,后面三项可以直接回车即可

3、 sudo openssl genrsa -des3 -out client.key 2048

# 生成服务器证书密钥文件。提示输入密码并确认密码

4、 sudo openssl req -new -key client.key -out client.csr

# 生成服务器证书申请文件client.csr,填写问题,方法同上

5、sudo openssl x509 -req -days 3650 -in client.csr -signkey client.key -out client.pem

# 签发并生成证书文件client.pem,也可以生成crt格式

6、sudo openssl rsa -in client.key -out pub_client.key

# 从client.key中取出公钥,可以使用ls命令查看生成的情况:

(ca.crt、ca.key、ca.srl client.csr、client.key、client.pem、pub_client.key)

自此,简单的自签名证书创建完毕。

三、使用证书实现https连接

因小猪猪比较懒,对ubuntu也不是很懂,之前已经直接在/etc/nginx/sites-enabled/目录下创建好了站点配置文件test.com。切换到此目录,下面以配置test.com文件为例:

(1)打开配置文件

sudo vim test.com

(2)修改配置文件,按下“i”键进入编辑模式,在server区块中修改和添加以下内容

listen 443 ssl;

listen [::]:443 ssl;

# ssl证书地址

ssl_certificate /etc/nginx/cert/client.pem; # pem文件的路径

ssl_certificate_key /etc/nginx/cert/pub_client.key; # key文件的路径

# ssl相关配置

ssl_session_timeout 5m; # 缓存有效期

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; # 加密算法

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # 安全链接可选的加密协议

ssl_prefer_server_ciphers off; # 使用服务器端的首选算法

ssl_verify_client off; # 开启客户端证书验证

(3)保存配置并重启nginx服务

配置完成后,按“ESC”键退出编辑模式,再输入“:wq”保存并退出vim编辑器。

输入命令重启nginx服务:service nginx restart

(注意证书是自签名的,浏览器会提示不受信任。)

四、实现http默认跳转到https,支持泛域名

配置方法见下图,测试有效!

若非生活所迫,谁愿意把自己搞得一身才华!—— 与辛勤的你共勉

小猪猪学linux之使用ubuntu server安装php和swoole。

今天安装上了swoole,顺便记录一下安装php和nginx的过程。

安装前可以先来一套常规招式热热身(如果没有修改成国内软件源的请先更新一下,不然万一有更新,可能会非常慢,修改方法可查阅本人前面的文章):

sudo apt update

sudo apt upgrade

一、安装php8.1

常用的web服务器有apache、nginx等,本次学习选择是php+nginx,使用php-fpm管理cgi连接,所以不打算使用apache。如果友友只是想简单地安装一个php的运行环境,可以直接运行php安装命令:

sudo apt install php8.1

友好的ubuntu会聪明地为你安装好php并贴心地安装上apache,一个可用的php运行环境就搭建好了。经过仔细看安装提示,猜测 php 需要在 libapache2-mod, php-cgi 或 php-fpm 等环境之一运行,如果没有指定则默认选了libapache2-mod,所以会推荐安装 apache。如果只需要php-fpm,则可以用以下安装命令:

sudo apt install php8.1-fpm php8.1

(提示:如果安装了推荐的php8.1后不想用apache,可以使用命令sudo apt pruge php8.1清除掉再重新指定php8.1-fpm的方式安装,有没有更简单的清理方法?)

安装完成后,可以用命令“php -v”来查看。

接下来简单配置一下php-fpm:

1、进入fpm配置目录:cd /etc/php/8.1/fpm

2、使用ls命令查看一下:ls

(conf.d、php-fpm.conf、php.ini、pool.d)

3、修改php-fpm.conf:sudo vi php-fpm.conf

打开后按“i”键进入编辑模式,用方向键移动光标的位置,找到pid和error_log分别填上内容,可参考以下设置:

pid=/run/php/php8.1-fpm.pid

error_log = /var/log/php8.1-fpm.log

完成后按“ESC”键退出编辑模式,输入命令“:wq”保存并退出vi编辑器。

二、安装nginx

直接使用安装命令并根据提示操作即可:

sudo apt install nginx

完成后可以查看一下版本顺便检验一下是否安装成功:nginx -v

可以使用命令“service nginx start”启动nginx服务。此时如果在浏览器上输入nginx服务对应的服务器ip,应该就能看到“Welcome to nginx”的提示页面了。

三、安装Swoole

swoole官方提供了清晰的安装方法,只需按部就班完成即可。swoole可以使用phpize从源码编译安装和pecl安装两种方式:

(1)使用phpize从源码编译安装

1、如果没有phpize需要使用 sudo apt install php-dev 来安装 phpize

sudo apt install php8.1-dev

Do you want to continue?[Y/n] Y

2、下载swoole源码:

wget https://github.com/swoole/swoole-src/archive/refs/tags/v4.8.11.tar.gz

3、解压并进入源码目录:

tar -zxvf v4.8.11.tar.gz

cd swoole-src-4.8.11/

4、使用phpize+make install完成安装:

phpize &&

./configure

--enable-openssl

--enable-http2 &&

make && sudo make install

(2)使用php官方提供的pecl命令安装

pecl install swoole

以上任意一种方式安装即可。

安装完成后需要添加 Swoole扩展到 php.ini。可以使用命令php --ini查看php.ini的位置,找到位置后使用sudo vi命令打开 php.ini,加入下面这行:

extension=swoole.so

修改完成后保存,重启php-fpm服务:

service php-fpm restart

查看swoole是否被正确地添加,成功则返回“swoole”:

php -m | grep swoole

[耶][小鼓掌][小鼓掌][鼓掌][鼓掌][鼓掌]

linux中使用smbclient命令访问Windows共享资源

SMB与CIFS为服务器通信协议。smbclient(samba client)可让Linux系统存取Windows系统所分享的资源。

语法格式 smbclient [参数]

常用参数:

-L 显示服务器端所分享出来的所有资源

-U 指定用户名称

-s 指定smb.conf所在的目录

-O 设置用户端TCP连接槽的选项

-N 不用询问密码

参考实例

1、像ftp客户端一样使用smbclient :

smbclient //网页链接 -U username%password

执行smbclient命令成功后,进入smbclient环境,出现提示符:smb:/>

这里有许多命令和ftp命令相似,如cd 、lcd、get、megt、put、mput等。通过这些命令,我们可以访问远程主机的共享资源。

2、列出某个IP地址所提供的共享文件夹:

smbclient -L 198.168.0.1 -U username%password

3、直接一次性使用smbclient命令:

smbclient -c "ls" //网页链接 -U username%password

或者:

smbclient //网页链接 -U username%password smb:/>ls

4、创建一个共享文件夹:

smbclient -c "mkdir share1" //网页链接 -U username%password

Hiren's BootCD PE x64 v1.0.2(2021 年 7 月 1 日):

Hiren的BootCD PE Windows 10核心已更新至版本21H1(内部版本19043.928)。

IO、网络和存储类别中集成了 195 个新驱动程序。

几乎所有的实用程序都已更新。

新增实用程序:DMDE,ReclaiMe,PhotoRec,不可阻挡的复印机,测试磁盘,水晶磁盘信息,DiskGenius,EaseUS分区大师,Macrorit分区专家,橡皮擦,VLC媒体播放器,迈克菲毒刺,卡巴斯基病毒清除工具,Windows登录解锁器。

删除的实用程序:运行时(GetDataBack for FAT,GetDataBack for NTFS,GetDataBack Simple,NAS Data Recovery,RAID Reconstructor,RAID Recovery for Windows,Captain Nemo,DiskExplorer for FAT,DiskExplorer for Linux,DiskExplorer for NTFS),CCleaner,Teamviewer。

测开经典面试题2

自动化软件测试

你来说一下BUG的生命周期?

❶参考点

bug处理流程

❷ 面试命中率 99%

❸参考答案

New:发现bug,未经评审决定是否指派给开发人员进行修改。

Open:确认bug,并且认为需要进行修改,指派给相应的开发人员。

Fixed:开发人员进行修改后标识成修改状态,有待测试人员的回归测试验证。

Rejected:如果认为不是Bug,则拒绝修改。

Delay:如果认为暂时不需要修改或暂时不能修改,则延后修改。

Closed:修改状态的Bug经测试人员的回归测斌验证通过,则关闭Bug。

Reopen:如果经验证Bug仍然存在,则需要重新打开Bug,开发人员重新修改。

给你一个网站,你将如何开展测试?

❶参考点

对于软件测试流程的理解

考察测试项目的计划安排能力

❷ 面试命中率 90%

❸参考答案

1、查找需求说明、网站设计等相关文档,分析测试需求。

2、制定测试计划,确定测试范围和测试策略。

3、设计测试用例,包括功能、兼容、性能、安全等方面

4、开展测试执行

5、回归测试及测试总结

说一下什么是事务?

❶参考点

事务的基本概念

❷ 面试命中率 90%

❸参考答案

事务:是数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作;这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行;事务是一组不可再分割的操作集合(工作逻辑单元);

原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行。

一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致。

隔离性(Isolation):事务的执行不受其他事务的干扰,事务执行的中间结果对其他事务必须是透明的。

持久性(Durability):对于任意已提交事务,系统必须保证该事务对数据库的改变不被丢失

说一下主键,外键和索引的区别?

❶参考点

对数据库常用索引的理解

❷ 面试命中率 90%

❸参考答案

定义

主键:唯一标识一条记录,不能有重复的,不允许为空

外键:表的外键是另一表的主键, 外键可以有重复的, 可以是空值

索引:该字段没有重复值,但可以有一个空值

作用

主键:用来保证数据完整性

外键:用来和其他表建立联系用的

索引:提高查询排序的速度

个数

主键:只能有一个

外键:一个表可以有多个外键

索引:一个表可以有多个索引

drop、delete、truncate三者的区别?

参考点

对关系数 据库3个删除SQL了解程度

比较3个删除SQ L的差异

❷面试命中率 85%

❸参考答案

都表示删除,但是三者有一些差别:

Delete用来删除表的全部或者一部分数据行,执行delete之后,用户需要提交(commmit)或者回滚(rollback)来执行删除或者撤销删除。会触发这个表上所有的delete触发器

Truncate删除表中的所有数据,这个操作不能回滚,也不会触发这个表上的触发器,TRUNCATE比delete更快,占用的空间更小

Drop命令从数据库中删除表,所有的数据行,索引和权限也会被删除,所有的DML触发器也不会被触发,这个命令也不能回滚。

列举几种表连接的方式,它们有什么区别?

❶参考点

表连接方 式的列举

不同连 接方 式的区别

❷ 面试命中率 90%

❸参考答案

左连接: 左边为主表表数据全部显示, 匹配表的不匹配部分不显示

右连接: 右边为主表表数据全部显示, 匹配表的不匹配部分不显示

内连接: 只有两个元素表相匹配的才能在结果集中显示

全外连接: 连接中的不匹配的数据全部会显示出来

交叉连接: 笛卡尔乘积, 显示的结果是连接表数的乘积

说几个工作中常用的Linux命令

❶参考点

考察是否有Linux使用经验

考察对Linux熟悉程度

❷ 面试命中率 99%

❸参考答案

cd:切换目录

ls:查看文件列表

cp:拷贝文件

mv:移动文件

rm:删除文件

chmod:设置文件权限

cat:浏览文件内容

vi:文件编辑

find:搜索文件

grep:过滤文件内容

在Linux中如何查找日志文件中的Error信息?

❶参考点

考察工作中常用的Linux命令

考察对错 误 日志的查看方法

❷ 面试命中率 85%

❸参考答案

Linux中通过grep命令可以过滤文本文件中的指定信息,如

grep "Error" access.log

以上命令会将access.log中包含Error的行打印出来。

大家早上好,我是博哥爱运维。

自从一直分享【今日头条】网页链接这套kubernetes(k8s)架构师课程以来,收到了很多爱好技术朋友的关注和支持,博哥在这里谢谢你们了。

有很多朋友私信博哥,问了很多问题,我就其中几个大家关注的问题趁着早上还没开工和大家说说:

1、博哥,我只有简单的linux基础,能学习这个k8s课程嘛?k8s怎么复杂,我不知道能不能学会?

博哥答:有linux简单基础就可以学好博哥这套k8s课程。这套k8s课程,是浓缩了博哥自己从0开始学习k8s,到在工作生产中使用维护k8s的所有经验总结,是完完全全k8s实战的积累,博哥维护过多套k8s集群,有线下机房自建的k8s,有阿里云自建和阿里云托管的k8s服务,华为云的cce托管k8s服务,百度云的自建k8s集群,海外aws托管k8s服务EKS,所以整体维护k8s经验还算比较多,我深知k8s组件很多很复杂,所以博哥在整理课程文档的时候,是尽量以博哥已经消化理解后,同时再录制教学视频用通俗易懂点语言来讲给大家听的,就是为了让大家都能比较轻松快速的掌握k8s这个热门技术。

2、这个课程看上去不像架构师课程吧。

博哥答:这套课程还在陆续更新中,后面有具体从0实施k8s整体架构的分享,以及devops自动化CI/CD的分享等等,所有课程都是工作经验积累的分享,乃至所有配置都是直接线上脱敏后拿下来给大家讲解的。我深知k8s组件很多很复杂,所以博哥在整理课程文档的时候,是尽量以博哥已经消化理解后,同时再录制教学视频用通俗易懂点语言来讲给大家听的,就是为了让大家都能比较轻松快速的掌握k8s这个热门技术。所以这和世面上大部分k8s课程不一样,我不想一上来就大篇大篇的理论文档甩给大家,这样只会让很多想学习k8s的同学知难而退,错过了当下学习k8s技术的最好时机。

博哥玩自媒体不溜,也没有在视频包装上花太多时间,我只想做好技术分享,所以有些时候讲的有些不清晰的地方,还请大家多多留言指正。

#运维# #Kubernetes# #docker# #程序员# #Linux#

通俗理解linux中文件和目录的rwx权限

文件权限:主要针对文件内容而言的

r(read):可以读取文件的内容。

w(write):可以编辑、新增、修改文件内容,但不能删除文件。

x(execute):可以被系统执行,在liunx系统中,档案是否能被执行,由x权限决定,跟扩展名无关,x代表具有可执行的能力,能不能执行成功,还要看文件的内容。

目录权限

r(read contents in directory):读取目录结构的权限,可以查询该目录下的文件名数据,可以利用ls命令将目录内容列表显示出来。

w(modify contents of directoty):更改目录结构列表的权限,包括:

1、新建文件和目录

2、删除已经存在的文件和目录

3、重命名已经存在的文件和目录

4、转移该目录下的文件和目录

x(access directory):可以用cd命令进入该目录作为工作目录 。

VirtualBox 虚拟机复制

常用的虚拟机分别是 VMWare  和 VirtualBox。不过 VMWare  只有30天的免费试用期,而 VirtualBox 则是开源免费试用。使用虚拟机容器通过复制可以快速建立多个一模一样的虚拟电脑,但是它们有不同的虚拟硬件。基于 VirtualBox 如何复制多个虚拟机呢?

用虚拟光驱安装第一台虚拟电脑,安装后的机器基本信息如下:

在 VirtualBox 下复制虚拟机

(1)关闭虚拟机,让虚拟机处于关机状态;

(2)在虚拟机上右键 -> 复制,设置虚拟的名字,勾选重新初始化所有网卡的MAC地址;

重命名、选择存放路径、重新生成 MAC 地址

点击下一步,选择完全复制

复制完成后,新的虚拟机的网络信息 MAC 地址发生了变化

进入新的虚拟电脑,发现 ip 和拷贝源的电脑相同,这个时候需要修改 enp0s3 和 mac。在新虚拟机上输入 ifconfig -a,可以看到网络名称为:enp0s3

修改 eth 文件;进入 cd /etc/sysconfig/network-scripts/ 目录,重命名文件,执行:mv ifcfg-enp0s3 ifcfg-enp0s4

执行 vi ifcfg-enp0s4 , 修改如下信息

新的虚拟机的配置信息

老的虚拟机的配置信息

修改后重启 Linux 系统:reboot,或者重启网卡 service network restart

修改 hostname, 默认clone的虚拟机的hostname也是没有修改的,这里需要修改 /etc/sysconfig/network 文件, 修改为相应的 hostname。CentOS 默认的主机名为localhost.localdomain

在 /etc/sysconfig/network 文件加上 HOSTNAME=javahuang.com

更改 /etc/hosts 文件,输入命令 vi /etc/hosts,然后将 localhost.localdomain 改为javahuang.com。

验证,把两台虚拟机都启动起来,执行命令 service network restart,如果两台虚拟机都能正常重启网络说明配置成功。另外,ping外网和其他虚拟机测试网络是否正常:

192.168.56.10 ping  192.168.56.9

192.168.56.9 ping 192.168.56.10

 在两台虚拟机上 ping 百度或者其他域名也是可以连通的,说明复制虚拟机成功。

要点:

关闭要复制的虚拟机

右键 复制虚拟机

改名

高级: 完全复制 备份当前虚拟机电脑状态

查看新虚拟机的mac地址

选中你的虚机,右键,设置 网络

vi /etc/sysconfig/network-scripts/ifcfg-eth1

修改其中的 mac 地址

修改 hostname, 默认clone的虚拟机的hostname是没有修改的,这里需要修改/etc/sysconfig/network 文件, 修改为相应的 hostname

重启 reboot

ping 外网和其他虚拟机测试网络

本文来自网络,不代表本站立场。转载请注明出处: https://tj.jiuquan.cc/a-2139400/
1
上一篇cad绘图软件(画cad用什么软件)
下一篇 cdn加速技术(免费cdn加速)

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: alzn66@foxmail.com

关注微信

微信扫一扫关注我们

返回顶部