Linux初始化
工作的时候经常会创建很多Linux主机,为了使这些机器马上能有生产力,写一个关于初始化它们的文档
Centos初始化
添加sudo权限
1  | su  | 
如果没有还原权限后续执行sudo会报错
chmod 0440 /etc/sudoers
更改yum源
centos8
1  | sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo  | 
开启ssh
检测是否安装ssh
1  | yum list installed | grep openssh-server  | 
安装
1  | yum install openssh-server  | 
配置
1  | sudo vim /etc/ssh/sshd_config  | 
开启服务
1  | sudo service sshd start  | 
检测 sshd服务是否开启
1  | ps -e | grep sshd  | 
检测 22 号端口是否开启
1  | netstat -an | grep 22  | 
将 sshd 服务设置为开机自启动
1  | systemctl enable sshd.service  | 
检测是否开启开机自动启动
1  | systemctl list-unit-files | grep sshd  | 
重新设置root密码
1  | sudo passwd root  | 
配置IP
修改/etc/sysconfig/network-scripts/ 目录下的网卡文件来配置系统的IP地址。
1  | BOOTPROTO="static" #dhcp改为static  | 
重启服务
1  | service network restart  | 
开启DHCP
设置网卡配置文件:ONBOOT = YES
1  | /etc/init.d/network restart  | 
设置时区和时间
查看当前时区
1  | timedatectl  | 
列出所有可用时区
1  | timedatectl list-timezones  | 
设置上海时区
1  | sudo timedatectl set-timezone Asia/Shanghai  | 
查看是否修改成功:
dateFri Dec 14 10:48:05 CST 2018 如果显示CST则说明时区设置成功
查看时间和修改时间
显示时间 :  date
修改时间date -s [time]
如:设置当前时间为:2018年12月10点50分
1  | date -s ‘2018-12-14 10:50:00’  | 
根据网络同步时间
使用ntp同步标准时间,ntp:网络时间协议(network time protol)
安装:yum install ntp
同步1:ntpdate pool.ntp.org
同步2:ntpdate -u ntp1.aliyun.com
写入计划任务
1  | 0-59/10 * * * * /usr/sbin/ntpdate ntp1.aliyun.com | logger -t NTP  | 
开启Telnet
检查是否存在telnet-server/telnet
1  | rpm -qa | grep telnet  | 
如不存在,安装
1  | yum install telnet-server  | 
安装xinetd
1  | yum -y install xinetd  | 
开启服务
1  | systemctl start telnet.socket  | 
docker(Centos8)
1  | sudo yum install -y yum-utils device-mapper-persistent-data lvm2  | 
docker用户组
查看是否存在docker组
1  | sudo cat /etc/group | grep docker  | 
创建分组,将用户添加到这个分组里面
1  | sudo groupadd -g 999 docker #-g 999为组ID,也可以不指定  | 
1  | sudo usermod -aG docker testuser  | 
重启服务
1  | sudo systemctl restart docker  | 
1  | sudo chmod a+rw /var/run/docker.sock  | 
提示
get ......dial unix /var/run/docker.sock权限不够,则修改/var/run/docker.sock权限
docker-compose
1  | sudo pip3 install docker-compose  | 
1  | pip3 install --upgrade pip  | 
报错:
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-*
java环境安装与卸载
卸载
1  | rpm -qa | grep jdk  | 
安装
1  | yum search java|grep jdk  | 
源码安装
下载源码包后修改配置文件vim /etc/profile,重载生效source /etc/profile
1  | # SET JAVA HOME  | 
jdk版本控制
1  | alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.8.0_60/bin/java" 1  | 
1  | alternatives --install /usr/bin/java java /usr/local/java/jdk-17.0.1/bin/java 2  | 
删除配置
1  | update-alternatives –remove java /usr/local/java/jdk-17.0.1/bin/java  | 
jdk选项
1  | alternatives --config java  | 
centos6绕过密码root登录
https://www.cnblogs.com/zoe233/p/11795253.html
开机按ESC

按 e 键进入编辑模式;
选择Kernel /vmlinz-2.6.32-696.e16… … 后按 e 键编辑此项;

进入该编辑模式后,在quiet后面输入 simple 或者 1 然后回车;

按 b 键进入单用户模式;

passwd root 输入两次新密码;

使用 reboot 命令重启;

禁用selinux
- 打开配置文件
/etc/selinux/config或者其符号链接/etc/sysconfig/selinux。 - 将
selinux =enforcing改成selinux =disabled - 重新启动系统或者使用
setEnforce 0立即调用更改。 
Ubuntu初始化
配置IP地址
临时配置ip,立即生效,但重启后无效
1  | sudo ifconfig eth0 192.168.11.88 netmask 255.255.255.0 //设置网卡eth0的IP地址和子网掩码  | 
修改配置文件/etc/network/interfaces,重启后生效
1  | sudo vi /etc/network/interfaces  | 
https://blog.csdn.net/davidhzq/article/details/102991577
ssh
1  | sudo apt update  | 
换源
https://blog.csdn.net/u012308586/article/details/102953882
查看的Ubuntu版本:
1  | cat /etc/issue  | 
跟换成阿里云的
1  | echo "\  | 
设置时间&时区
设置时区
1  | tzconfig  | 
方式重启后时区改变
1  | cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime  | 
同步时间
1  | 安装ntpdate工具  | 
选择编辑器
1  | root@ubuntu:/var/log# select-editor  | 
重装vim
在Ubuntu14中会出现下图情况:

重装以下vim即可解决
1  | apt remove vim-common  | 
这里是vim-common不是vim
1  | apt install vim  | 
修改用户名
gedit /etc/passwd ,找到代表你的那一行,修改用户名为新的用户名。 注意:只修改用户名!后面的全名、目录等不要动!
gedit /etc/shadow,找到代表你的那一行,修改用户名为新用户名  
gedit /etc/group,你应该发现你的用户名在很多个组中,全部修改!
修改ubuntu@后面的主机名
1  | sudo gedit /etc/hosts  | 

1  | sudo gedit /etc/hostname  | 
更换系统内核
查看当前系统版本
1  | lsb_release -a  | 
查看内核
1  | uname -a  | 
安装VMtools
1  | cp VMwareTools-XXXX ~  | 
挂载光盘文件权限为只读,且无法更改
1  | chmod 777 VMwareTools-XXXX  | 
安装成功后还无法复制
1  | /usr/bin/vmware-user  | 
复制粘贴、拖拽、窗口缩放等问题都是因为这个进程没有启动起来,在终端输入上面的命令
Kail初始化
下载
解决中文乱码
更改默认编码
1
sudo dpkg-reconfigure locales
进入图形化界面后(用上下方向键、空格是选择,Tab是切换,*是选中),选中zh_CN.UTF-8,确定后,将zh_CN.UTF-8选为默认。
安装字体
1
sudo apt update -y && apt install xfonts-intl-chinese ttf-wqy-microhei
重启系统
1
reboot
更改源
1  | # 编辑sources.list文件,并添加以下源,选择自己相对快一点的源。  | 
1  | 官方源  | 
1  | sudo apt-get update  | 
中文输入法
1  | apt-get install ibus ibus-pinyin  | 
1  | im-config  | 


1  | ibus-setup  | 

1  | vim .bashrc  | 
1  | export GTK_IM_MODULE=ibus  | 

1  | reboot  | 
高分辨率调整DPI

当前文件夹搭建简单HTTP服务
1  | python -m SimpleHTTPServer  | 
指定端口
1  | python -m SimpleHTTPServer 8000  | 
指定后台运行,加&:
1  | python -m SimpleHTTPServer 8000 &  | 
生成的新的进程为当前bash的子进程,当关闭当前bash时,相应的子进程也会被kill掉
1  | nohup python -m SimpleHTTPServer 8000 &  | 
加nohup,忽略所有的挂断信号,如果当前bash关闭,则当前进程会挂载到init进程下,成为其子进程,这样即使退出当前用户,其8000端口也可以使用。
安装多版本java管理
卸载原先的apt安装的java
先检查是否安装,命令:dpkg --list | grep -i jdk
移除openjdk包,命令:apt-get purge openjdk*
卸载 OpenJDK 相关包,命令:apt-get purge icedtea-* openjdk-*
再次检查是否卸载成功,命令:dpkg --list | grep -i jdk
单一环境配置
1  | cd /home/kali/java_env  | 
update-alternatives版本配置
1  | sudo update-alternatives --install /usr/bin/java java /home/kali/java_env/jdk1.8.0_20/bin/java 1  | 
update-alternatives版本切换
1  | update-alternatives --config java  | 




