1.虚拟机的安装

  1. 下载 VMware 的安装包
    这里以 VMware16.2.3 为例
    链接:https://pan.xunlei.com/s/VN6Y7b6kMYc8py5tDIAhmPP0A1
    提取码:6cqi

  2. 开启虚拟机支持
    打开任务管理器,选择【性能】,若显示虚拟化已启动,则可以直接安装虚拟机

    若虚拟化没有启动,进入电脑 BIOS,Advanced(高级)——CPU Configuration——Secure Virtual Machine(或者叫做 Intel Virtualization Technology),设置为:Enabled(启用)

  3. 安装虚拟机
    点击安装即可,一路 next

    安装完成后填入许可证密钥(下载链接中可以找到)。

2.Linux 系统的安装

2.1安装 Linux

  1. 下载自己需要的 linux 版本
    这里给出清华镜像站的 Ubuntu 发行版
    Index of /ubuntu-releases/18.04.6/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
    我们选择ubuntu-18.04.6-desktop-amd64.iso,点击下载。

  2. 安装Linux系统
    打开上边安装好的 VMware,选择创建新的虚拟机

    加载下载好的 iso 文件,一路 next,直到看到这只可爱的海狸,恭喜你安装成功啦!

2.2后续配置

2.2.1 换源



讲一个图形界面的操作方法(熟练了可以通过 sudo vim /etc/apt/sources.list 进行修改),打开软件和更新


在 Download form 中选择心怡的镜像站,点击 Choose Server

2.2.2 gcc 和 g++ 的更新安装

  1. 安装 8.4.0 的 gcc 和 g++

sudo apt-get install gcc-8  
sudo apt-get install g++-8
  1. 设置 gcc 优先级(取值越大,优先度越高,在自动模式下默认选择最大值版本)

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 100
  1. 查看默认版本是否更换成功

gcc -v
g++ -v

2.2.3 安装 git

为了方便管理协作代码,可以将代码上传至云端仓库。

  1. 安装 git

sudo apt-get install git
  1. 配置 git 全局环境

git config --global user.name "your name"
git config --global user.email "your email"

3.生成 SSH 密钥
为了避免每次上传代码都要输入密码,可以生成密钥文件,之后即可避免重复操作

#会在用户目录~/.ssh/下建立相应的密钥文件
ssh-keygen -C "your email" -t rsa
  1. 在仓库网站上传自己的公钥


     打开 ~/.ssh/id_rsa.pub 文件,复制其中所有内容,接着访问 gitlab 网页,点击 SSH 公钥,把刚才复制的内容粘贴进窗口点击 Add key。

  2. 测试连接

ssh -T git@gitlab.com
# 如果失败的话可以试一下调试命令,之后再次尝试连接
ssh -T -v git@gitlab.com



出现如下语句即为连接成功

3.通过VS Code调试代码

假设你已经将代码 git clone 到了Ubuntu 中,你想要在虚拟机外部修改调试代码,那么可以通过 VS Code 连接虚拟机来实现。



  1. 安装 SSH 以便于连接虚拟机

  2. 在虚拟机中开启 SSH 服务

#安装 SSH 服务sudo apt-get install openssh-server

查看是否启动服务

#有sshd,表示ssh服务已经启动
sudo ps -e |grep ssh
#没有的话需要手动启动
sudo service ssh start


  1. 点击页面左下角的 SSH ,再选择 Connect to Host...



  2. 填入自己虚拟机的 IP 地址和用户名密码即可连接

    ps:在虚拟机中查看 IP 可以使用 ifconfig 进行查询(没有 ifconfig 命令可以通过 sudo apt install net-tools 进行安装网络工具)。

  • 其实VS Code 连接 linux 也可以创建密钥,将自己本机生成的 id_rsa.pub 文件内容加到服务器上的 ~/.ssh/authorized_keys 文件内即可(如果服务器上没 authorized_keys 文件,自行创建即可)

  1. 修改 .vscode 中 tasks.josn 和 launch.json 的配置,之后即可对 linux 中的代码进行调试。



作者:Rorschaches
链接:https://www.jianshu.com/p/bcd83f6eecf5
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


在Linux系统中,镜像文件是一个非常重要的概念,但很多人关于它的了解并不是很多,那么你知道Linux中镜像文件是什么吗?如果你也不太清楚,跟着小编一起来学习一下吧。

  镜像文件相对来说就是和ZIP压缩包类似,它将特定的一系列文件按照一定的格式制作成单一的文件,为了方便用户下载和使用,比如说一个测试版的操作系统。

  它有一个最重要的特点就是可以被特定的软件识别并可直接刻录到光盘上。在通常意义上镜像文件是可以再继续扩伸的,所以在镜像文件中也是可以包含更多的信息的。

  镜像就是一个文件形式,可以把许多文件做成一个镜像文件。比如你的系统,本来有很多文件,做成镜像后就一个文件,与GHOST等程序放在一个盘里用GHOST等软件打开后,又恢复成许多文件,总之用镜像给你装系统就是原样复制一份现有系统的意思,当然里面的杀毒软件等也是一样复制过来的。

  镜像文件的应用范围比较广泛,最常见的应用就是数据备份,比如软盘和光盘。随着宽带网的普及,有些下载网站也有了ISO格式的文件下载,方便了软件光盘的制作与传递。常见的镜像文件格式有ISO、BIN、IMG、TAO、DAO、CIF、FCD。

默认抓包(抓取网络接口1上的所有数据包)


tcpdump

指定网卡(eth1:网卡名)


tcpdump -i eth1

指定主机(name:主机名,1.1.1.1:主机ip,抓取进入/离开指定主机的包;


src:发送,dst:接收)


tcpdump host name

tcpdump host 1.1.1.1

tcpdump -i eth0 src host name

tcpdump -i eth0 dst host name

指定端口


tcpdump tcp port 123 and host name

tcpdump udp port 123

保存文件


tcpdump -w save.cap


firewalld莫名奇妙失效了,端口禁用了外网还是通的,换用iptables

操作

Bash

systemctl stop firewalld
systemctl disable firewalld
yum -y install iptables-services  #安装iptablesiptables -I INPUT -p tcp --dport 3306 -j DROP  #屏蔽MySQL端口iptables -I INPUT -s 192.168.111.111 -p tcp --dport 3306 -j ACCEPT   #对指定ip放通iptables -I INPUT -i lo -p tcp --dport 3306 -j ACCEPT  #对local放通


测试

在未授权ip上访问不通

image.png

在授权过的ip上正常

image.png

来源:https://www.hyluz.cn/post/75547.html

echo "#####数据备份流程#####"
ls_date=` date  +%Y%m%d`
sql=(information_schema accountdb adu asr auth authdb2 cameradb cceu cfsu ctu data_analysis dps dsu ecmu edmu emap ewu filestoragedb imu mcu mcuapi mediadb mysql nextdb2 open_falcon performance_schema permission phoenix_alarm phoenix_api_db phoenix_inspect phoenix_machine phoenix_service poc psib ptu pwitch ras resourceService ruleenginedb rvsl sfu sls storagedb switch sys udu voip)
for i in "${!sql[@]}";
do
echo ${sql[$i]}
mysqldump -u用户名 -p密码  ${sql[$i]}>/mysqlbak/${sql[$i]}${ls_date}    #备份路径
done
echo "#####过期数据清理#####"
find /mysqlbak -mtime +180 -name ".sql" -exec rm -rf {} ;


sql数组值为需要备份的数据库名

image.png

image.png