Linux - 系统配置
2022/9/17 5:17:31
本文主要是介绍Linux - 系统配置,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
下载
以CentOS7为例,下载地址
http://mirrors.aliyun.com/centos/7/isos/x86_64/
安装
不赘述,网络设置桥接模式
配置网络
vi /etc/sysconfig/network-scripts/ifcfg-ens32
ifcfg-ens32
# 网络类型为以太网 TYPE=Ethernet # 设置固定ip,dhcp 改为 static # BOOTPROTU=dhcp BOOTPROTU=static # 网卡设备名,一定要跟文件名一致 DEVICE=ens32 # 网卡设备名,一定要跟文件名一致 NAME=ens32 # 设定网卡随网络服务启动 # ONBOOT=no ONBOOT=yes # 固定ip IPADDR=192.168.40.26 # 网关 GATEWAY=192.168.40.254 # 子网掩码 NETMASK=255.255.255.0 # DNS地址 DNS1=8.8.8.8 DNS2=114.114.114.114
重启网络服务,使生效
# 重启网络服务 service network restart
配置国内yum源
查看所有的yum源
yum repolist all
查看可用的yum源
yum repolist enabled
阿里镜像仓库配置
根据官网的说明,我们详细说说每步骤的意思。
(1)备份,将 CentOS-Base.repo
为CentOS-Base.repo.bak
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
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
(3)清除缓存
yum clean all # 清除系统所有的yum缓存 yum makecache # 生成yum缓存
防火墙
firewalld跟iptables比起来至少有两大好处:
- firewalld可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以生效;
- firewalld在使用上要比iptables人性化很多,即使不明白“五张表五条链”而且对TCP/IP协议也不理解也可以实现大部分功能。
firewalld跟iptables比起来,不好的地方是每个服务都需要去设置才能放行,因为默认是拒绝。而iptables里默认是每个服务是允许,需要拒绝的才去限制。
centos7
开始默认用的是firewalld
,这个是基于iptables
的,虽然有iptables
的核心,但是iptables
的服务是没安装的。
firewalld
# 安装防火墙 yum install firewalld firewall-config # 开启防火墙 systemctl start firewalld # 将接口添加到区域 --zone=public,默认接口都在public # --permanent 永久加入,没有这个参数重启后失效 firewall-cmd --zone=public --add-interface=eth0 # 将端口添加到区域 --zone=public,默认接口都在public # --permanent 永久加入,没有这个参数重启后失效 firewall-cmd --add-port=8080/tcp --permanent # 刷新防火墙设置 firewall-cmd --reload # 查看防火墙中已放开的端口 firewall-cmd --list-ports # 查看80端口是否开启 firewall-cmd --query-port=80/tcp # 停止防火墙 systemctl stop firewalld # 查看防火墙是否开机自启 systemctl is-enabled firewalld # 禁用防火墙,开机自启关闭 systemctl disable firewalld # 启用防火墙,开机自启 systemctl enable firewalld
iptables
# 关闭防火墙 service iptables stop # 禁用防火墙,开机自启关闭 chkconfig iptables off # 查看防火墙状态 service iptables status # 查看开机自启列表 chkconfig --list iptables
免密运行sudo
在 /etc/sudoers
文件中,默认打开的 authenticate
参数用于验证目的。如果设置了它,用户必须通过密码(或其他身份验证方法)进行身份验证,然后才能使用 sudo
运行命令。但是,可以使用 NOPASSWD
(当用户调用 sudo
命令时不需要密码)标记来覆盖此默认值。
root用户/etc/sudoers
文件只有读的权限,需要给root用户写的权限
# 添加写权限 chmod +w /etc/sudoers
修改/etc/sudoers
# 用户 haung 可以不用密码使用sudo huang ALL=(ALL) NOPASSWD: ALL # 对于组而言,在组名前面使用 % 字符;这意味着 sys 组的所有成员都可以不用密码使用sudo %sys ALL=(ALL) NOPASSWD: ALL # sys 组的所有成员都可以不用密码使用sudo运行命令 /bin/kill %sys ALL=(ALL) NOPASSWD: /bin/kill # sys 组的所有成员都可以不用密码使用sudo运行命令 /bin/kill、/bin/rm %sys ALL=(ALL) NOPASSWD: /bin/kill,/bin/rm
操作完成之后记得收回root的权限
# 收回写权限 chmod -w /etc/sudoers
当然,也不用添加权限、收回权限这么麻烦,可以在root用户修改完后强制保存
# ESC后,:wq! 强制保存 :wq!
SSH免密登录
原理:
https://www.cnblogs.com/haojun/p/11131432.html
工作原理如下图所示:
生成公钥和私钥:
[hisign@hadoop91 /]$ ssh-keygen -t rsa
然后敲(三个回车),就会生成两个文件id_rsa
(私钥)、id_rsa.pub
(公钥)
[hisign@hadoop91 /]$ cd ~/.ssh/ [hisign@hadoop91 .ssh]$ ll
显示
总用量 12 -rw-------. 1 hisign hisign 1675 11月 9 09:58 id_rsa -rw-r--r--. 1 hisign hisign 397 11月 9 09:58 id_rsa.pub -rw-r--r--. 1 hisign hisign 372 11月 9 09:15 known_hosts
将公钥拷贝到要免密登录的目标机器上
ssh-copy-id
可以把本地主机的公钥复制到远程主机的authorized_keys
文件上,ssh-copy-id
命令也会给远程主机的用户主目录(home
)和~/.ssh
, 和~/.ssh/authorized_keys
设置合适的权限。
# 给用户hisign配置免密登录 [hisign@hadoop91 .ssh]$ ssh-copy-id hadoop91 [hisign@hadoop91 .ssh]$ ssh-copy-id hadoop92 [hisign@hadoop91 .ssh]$ ssh-copy-id hadoop93
注意:在hadoop92和hadoop93上把上面的操作都再执行一遍,三台服务器就能互相之间进行免密登录了。如果想要其他用户也能进行免密登录,切换到其他用户执行上操作即可。
用户密码
# 添加用户huang useradd huang # 给用户huang设置密码 passwd huang # 删除用户huang的密码 passwd -d huang
修改语言
vim /etc/locale.conf # LANG="en_US.UTF-8" LANG="zh_CN.UTF-8"
重新加载配置文件
source /etc/locale.conf
可视化桌面
首先安装X(X Window System)
yum groupinstall "X Window System"
安装可视化桌面
yum groupinstall "GNOME Desktop"
启动(如果启动失败,重启reboot
)
startx
分发文件
scp 安全拷贝
- 定义:
scp可以实现服务器与服务器之间的数据拷贝。(from server1 to server2)
基本语法
#命令 递归 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称 scp -r $pdir/$fname $user@hadoop$host:$pdir/$fname
- 案例
1、在hadoop91上,将hadoop91中/opt/module目录下的软件拷贝到远程服务器hadoop92上。
[hisign@hadoop91 /]$ scp -r /opt/module root@hadoop92:/opt/module
2、在hadoop93上,将远程服务器hadoop91服务器上的/opt/module目录下的软件拷贝到本地。
[hisign@hadoop93 opt]$sudo scp -r hisign@hadoop91:/opt/module /opt/module
3、在hadoop93上操作将hadoop91中/opt/module目录下的软件拷贝到hadoop104上。
[hisign@hadoop93 opt]$ scp -r hisign@hadoop91:/opt/module root@hadoop104:/opt/module
注意:拷贝过来的/opt/module目录,别忘了在hadoop92、hadoop93、hadoop104上修改所有文件的,所有者和所有者组。
sudo chown hisign:hisign -R /opt/module
4、将hadoop91中/etc/profile文件拷贝到hadoop92的/etc/profile上。
[hisign@hadoop91 ~]$ sudo scp /etc/profile root@hadoop92:/etc/profile
5、将hadoop91中/etc/profile文件拷贝到hadoop93的/etc/profile上。
[hisign@hadoop91 ~]$ sudo scp /etc/profile root@hadoop93:/etc/profile
6、将hadoop91中/etc/profile文件拷贝到hadoop104的/etc/profile上。
[hisign@hadoop91 ~]$ sudo scp /etc/profile root@hadoop104:/etc/profile
注意:拷贝过来的配置文件别忘了 source /etc/profile
使生效。
rsync 远程同步工具
rsync主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。
rsync和scp区别:用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把所有文件都复制过去。
- 安装
yum install rsync -y
- 基本语法
# 命令 选项参数 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称 rsync -av $pdir/$fname $user@hadoop$host:$pdir/$fname
- 案例
把hadoop91机器上的/opt/software目录同步到hadoop92服务器的root用户下的/opt/目录
rsync -av /opt/software/ hadoop92:/opt/software
xsync 集群分布脚本
1、需求:循环复制文件到所有节点的相同目录下
2、需求分析:
- rsync命令原始拷贝:
rsync -av /opt/module root@hadoop93:/opt/
- 期望脚本:
xsync 要同步的文件名称
- 说明:在
/home/hisign/bin
这个目录下存放的脚本,hisign用户可以在系统任何地方直接执行。
3、脚本实现
在/home/hisign
目录下创建bin
目录,并在bin目录下xsync创建文件,文件内容如下:
mkdir -p /home/hisign/bin cd /home/hisign/bin # 新建脚本 vim xsync
在该文件中编写如下代码
#!/bin/bash #1 获取输入参数个数,如果没有参数,直接退出 pcount=$# if ((pcount==0)); then echo no args; exit; fi #2 获取文件名称 p1=$1 fname=`basename $p1` echo fname=$fname #3 获取上级目录到绝对路径 pdir=`cd -P $(dirname $p1); pwd` echo pdir=$pdir #4 获取当前用户名称 user=`whoami` #5 循环 for((host=91; host<94; host++)); do echo ------------------- hadoop$host -------------- rsync -av $pdir/$fname $user@hadoop$host:$pdir done
- 修改脚本 xsync 具有执行权限
chmod 777 xsync
- 调用脚本形式:xsync 文件名称
xsync /home/hisign/bin
注意:如果将xsync放到/home/hisign/bin
目录下仍然不能实现全局使用,可以将xsync移动到/usr/local/bin
目录下。
sudo mv /home/hisign/bin/xsync /usr/local/bin
插件推荐
上传下载工具lrzsz
XShell中支持,MobaXterm不支持
# 安装 lrzsz yum install lrzsz -y
注意:该软件只是用于小文件,比较大的文件还是老老实实用ftp工具吧
lrzsz是Linux/Unix同Windows进行ZModem文件传输的命令行工具。优点就是不用再开一个sftp工具登录上去上传下载文件。
rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器
sz:将选定的文件发送(send)到本地机器
网络工具包net-tools
ifconfig不存在问题
# 安装 net-tools yum install net-tools -y
文本编辑器vim
# 安装 net-tools yum install vim -y
下载工具wget
# 安装 wget yum install wget -y
下载单个文件
wget http://www.linuxde.net/testfile.zip
以下的例子是从网络下载一个文件并保存在当前目录,在下载的过程中会显示进度条,包含(下载完成百分比,已经下载的字节,当前下载速度,剩余下载时间)。
下载另存为
wget -O wordpress.zip http://www.linuxde.net/download.aspx?id=1080
wget默认会以最后一个符合/
的后面的字符来命名,对于动态链接的下载通常文件名会不正确。
错误:下面的例子会下载一个文件并以名称download.aspx?id=1080
保存:
wget http://www.linuxde.net/download?id=1
即使下载的文件是zip格式,它仍然以download.php?id=1080
命令。
正确:为了解决这个问题,我们可以使用参数-O
来指定一个文件名:
wget -O wordpress.zip http://www.linuxde.net/download.aspx?id=1080
下载多个文件
wget -i filelist.txt
首先,保存一份下载链接文件:
cat > filelist.txt url1 url2 url3 url4
接着使用这个文件和参数-i
下载。
这篇关于Linux - 系统配置的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-18git仓库有更新,jenkins 自动触发拉代码怎么配置的?-icode9专业技术文章分享
- 2024-12-18Jenkins webhook 方式怎么配置指定的分支?-icode9专业技术文章分享
- 2024-12-13Linux C++项目实战入门教程
- 2024-12-13Linux C++编程项目实战入门教程
- 2024-12-11Linux部署Scrapy教程:新手入门指南
- 2024-12-11怎么将在本地创建的 Maven 仓库迁移到 Linux 服务器上?-icode9专业技术文章分享
- 2024-12-10Linux常用命令
- 2024-12-06谁看谁服! Linux 创始人对于进程和线程的理解是…
- 2024-12-04操作系统教程:新手入门及初级技巧详解
- 2024-12-04操作系统入门:新手必学指南