下载
以CentOS7为例,下载地址
http://mirrors.aliyun.com/centos/7/isos/x86_64/
安装
不赘述,网络设置桥接模式
配置网络
1 | vi /etc/sysconfig/network-scripts/ifcfg-ens32 |
ifcfg-ens32
1 | # 网络类型为以太网 |
重启网络服务,使生效
1 | 重启网络服务 |
配置国内yum源
查看所有的yum源
1 | yum repolist all |
查看可用的yum源
1 | yum repolist enabled |
阿里镜像仓库配置
根据官网的说明,我们详细说说每步骤的意思。
(1)备份,将 CentOS-Base.repo
为CentOS-Base.repo.bak
1 | mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak |
(2)下载新的 http://mirrors.aliyun.com/repo/Centos-7.repo
,并命名为CentOS-Base.repo
1 | wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo |
或者
1 | curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo |
(3)清除缓存
1 | yum clean all # 清除系统所有的yum缓存 |
防火墙
firewalld跟iptables比起来至少有两大好处:
- firewalld可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以生效;
- firewalld在使用上要比iptables人性化很多,即使不明白“五张表五条链”而且对TCP/IP协议也不理解也可以实现大部分功能。
firewalld跟iptables比起来,不好的地方是每个服务都需要去设置才能放行,因为默认是拒绝。而iptables里默认是每个服务是允许,需要拒绝的才去限制。
centos7
开始默认用的是firewalld
,这个是基于iptables
的,虽然有iptables
的核心,但是iptables
的服务是没安装的。
firewalld
1 | 安装防火墙 |
iptables
1 | 关闭防火墙 |
免密运行sudo
在 /etc/sudoers
文件中,默认打开的 authenticate
参数用于验证目的。如果设置了它,用户必须通过密码(或其他身份验证方法)进行身份验证,然后才能使用 sudo
运行命令。但是,可以使用 NOPASSWD
(当用户调用 sudo
命令时不需要密码)标记来覆盖此默认值。
root用户/etc/sudoers
文件只有读的权限,需要给root用户写的权限
1 | 添加写权限 |
修改/etc/sudoers
1 | 用户 haung 可以不用密码使用sudo |
操作完成之后记得收回root的权限
1 | 收回写权限 |
当然,也不用添加权限、收回权限这么麻烦,可以在root用户修改完后强制保存
1 | ESC后,:wq! 强制保存 |
SSH免密登录
原理:
https://www.cnblogs.com/haojun/p/11131432.html
工作原理如下图所示:
生成公钥和私钥:
1 | [hisign@hadoop91 /]$ ssh-keygen -t rsa |
然后敲(三个回车),就会生成两个文件id_rsa
(私钥)、id_rsa.pub
(公钥)
1 | [hisign@hadoop91 /]$ cd ~/.ssh/ |
显示
1 | 总用量 12 |
将公钥拷贝到要免密登录的目标机器上
ssh-copy-id
可以把本地主机的公钥复制到远程主机的authorized_keys
文件上,ssh-copy-id
命令也会给远程主机的用户主目录(home
)和~/.ssh
, 和~/.ssh/authorized_keys
设置合适的权限。
1 | 给用户hisign配置免密登录 |
注意:在hadoop92和hadoop93上把上面的操作都再执行一遍,三台服务器就能互相之间进行免密登录了。如果想要其他用户也能进行免密登录,切换到其他用户执行上操作即可。
用户密码
1 | 添加用户huang |
修改语言
1 | vim /etc/locale.conf |
重新加载配置文件
1 | source /etc/locale.conf |
可视化桌面
首先安装X(X Window System)
1 | yum groupinstall "X Window System" |
安装可视化桌面
1 | yum groupinstall "GNOME Desktop" |
启动(如果启动失败,重启reboot
)
1 | startx |
分发文件
scp 安全拷贝
- 定义:
scp可以实现服务器与服务器之间的数据拷贝。(from server1 to server2)
基本语法
1 | 命令 递归 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称 |
- 案例
1、在hadoop91上,将hadoop91中/opt/module目录下的软件拷贝到远程服务器hadoop92上。
1 | [hisign@hadoop91 /]$ scp -r /opt/module root@hadoop92:/opt/module |
2、在hadoop93上,将远程服务器hadoop91服务器上的/opt/module目录下的软件拷贝到本地。
1 | [hisign@hadoop93 opt]$sudo scp -r hisign@hadoop91:/opt/module /opt/module |
3、在hadoop93上操作将hadoop91中/opt/module目录下的软件拷贝到hadoop104上。
1 | [hisign@hadoop93 opt]$ scp -r hisign@hadoop91:/opt/module root@hadoop104:/opt/module |
注意:拷贝过来的/opt/module目录,别忘了在hadoop92、hadoop93、hadoop104上修改所有文件的,所有者和所有者组。
1 | sudo chown hisign:hisign -R /opt/module |
4、将hadoop91中/etc/profile文件拷贝到hadoop92的/etc/profile上。
1 | [hisign@hadoop91 ~]$ sudo scp /etc/profile root@hadoop92:/etc/profile |
5、将hadoop91中/etc/profile文件拷贝到hadoop93的/etc/profile上。
1 | [hisign@hadoop91 ~]$ sudo scp /etc/profile root@hadoop93:/etc/profile |
6、将hadoop91中/etc/profile文件拷贝到hadoop104的/etc/profile上。
1 | [hisign@hadoop91 ~]$ sudo scp /etc/profile root@hadoop104:/etc/profile |
注意:拷贝过来的配置文件别忘了 source /etc/profile
使生效。
rsync 远程同步工具
rsync主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。
rsync和scp区别:用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把所有文件都复制过去。
- 安装
1 | yum install rsync -y |
- 基本语法
1 | 命令 选项参数 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称 |
- 案例
把hadoop91机器上的/opt/software目录同步到hadoop92服务器的root用户下的/opt/目录
1 | rsync -av /opt/software/ hadoop92:/opt/software |
xsync 集群分布脚本
1、需求:循环复制文件到所有节点的相同目录下
2、需求分析:
- rsync命令原始拷贝:
1 | rsync -av /opt/module root@hadoop93:/opt/ |
- 期望脚本:
1 | xsync 要同步的文件名称 |
- 说明:在
/home/hisign/bin
这个目录下存放的脚本,hisign用户可以在系统任何地方直接执行。
3、脚本实现
在/home/hisign
目录下创建bin
目录,并在bin目录下xsync创建文件,文件内容如下:
1 | mkdir -p /home/hisign/bin |
在该文件中编写如下代码
1 |
|
- 修改脚本 xsync 具有执行权限
1 | chmod 777 xsync |
- 调用脚本形式:xsync 文件名称
1 | xsync /home/hisign/bin |
注意:如果将xsync放到/home/hisign/bin
目录下仍然不能实现全局使用,可以将xsync移动到/usr/local/bin
目录下。
1 | sudo mv /home/hisign/bin/xsync /usr/local/bin |
插件推荐
上传下载工具lrzsz
XShell中支持,MobaXterm不支持
1 | 安装 lrzsz |
注意:该软件只是用于小文件,比较大的文件还是老老实实用ftp工具吧
lrzsz是Linux/Unix同Windows进行ZModem文件传输的命令行工具。优点就是不用再开一个sftp工具登录上去上传下载文件。
rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器
sz:将选定的文件发送(send)到本地机器
网络工具包net-tools
ifconfig不存在问题
1 | 安装 net-tools |
文本编辑器vim
1 | 安装 net-tools |
下载工具wget
1 | # 安装 wget |
下载单个文件
1 | wget http://www.linuxde.net/testfile.zip |
以下的例子是从网络下载一个文件并保存在当前目录,在下载的过程中会显示进度条,包含(下载完成百分比,已经下载的字节,当前下载速度,剩余下载时间)。
下载另存为
1 | wget -O wordpress.zip http://www.linuxde.net/download.aspx?id=1080 |
wget默认会以最后一个符合/
的后面的字符来命名,对于动态链接的下载通常文件名会不正确。
错误:下面的例子会下载一个文件并以名称download.aspx?id=1080
保存:
1 | wget http://www.linuxde.net/download?id=1 |
即使下载的文件是zip格式,它仍然以download.php?id=1080
命令。
正确:为了解决这个问题,我们可以使用参数-O
来指定一个文件名:
1 | wget -O wordpress.zip http://www.linuxde.net/download.aspx?id=1080 |
下载多个文件
1 | wget -i filelist.txt |
首先,保存一份下载链接文件:
1 | cat > filelist.txt |
接着使用这个文件和参数-i
下载。
- 本文标题:Linux - 系统配置
- 本文作者:valten
- 创建时间:2020-11-05 11:18:06
- 本文链接:https://valtenhyl.github.io/Linux/linux-os/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!