通过网卡属性查看
命令:ifconfig
注释:有 inet6 addr: ... 的表示开启了ipv6功能
通过内核模块加载信息查看
命令:lsmod | grep ipv6
在/etc/modprobe.d/dist.conf结尾添加
alias net-pf-10 off
alias ipv6 off
首先输入
注释掉 /etc/modprobe.d/dist.conf 中
alias net-pf-10 off
alias ipv6 off
看一下 ipv6 是否关闭:ifconfig
添加 ipv6 模块
modprobe ipv6(不用重启)
最根本的解决方法:修改 grub,在引导时就不加载 IPV6 模块
# vi /rtc/default/grub
GRUB_CMDLINE_LINUX="ipv6.disable=1 ..."
# grub2-mkconfig -o /boot/grub2/grub.cfg
验证 IPV6 是否关闭
通过命令:
Check to see if you’re installation is currently set up for IPv6:
# cat /proc/sys/net/ipv6/conf/all/disable_ipv6
If the output is 0, IPv6 is enabled.
If the output is 1, IPv6 is already disabled.
禁用 IPV6 的操作步骤
Step 1: add this rule in /etc/sysctl.conf : net.ipv6.conf.all.disable_ipv6=1
Step 2: add this rule in /etc/sysconfig/network: NETWORKING_IPV6=no
Step 3: add this setting for each nic X (X is the corresponding number for each nic) in /etc/sysconfig/network-scripts/ifcfg-ethX: IPV6INIT=no
Step 4: disable the ip6tables service : chkconfig ip6tables off
Step 5: Reload the sysctl configuration:
# sysctl -p
or
# reboot
注意:禁用 IPV6 后,可能会导致某些服务无法启动,比如 VSFTP,对于 VSFTP,需要修改 /etc/vsftpd/vsftpd.conf 文件中的 listen 和 listen_ipv6 两个选项:
listen=YES
listen_ipv6=NO
# vim /etc/default/grub
#在GRUB_CMDLINE_LINUX的最后,加上 net.ifnames=0 biosdevname=0 的参数
GRUB_CMDLINE_LINUX=”rd.lvm.lv=rootvg/usrlv rd.lvm.lv=rootvg/swaplv crashkernel=auto vconsole.keymap=us rd.lvm.lv=rootvg/rootlv vconsole.font=latarcyrheb-sun16 rhgb quiet net.ifnames=0 biosdevname=0”
# grub2-mkconfig -o /boot/grub2/grub.cfg
# mv /etc/sysconfig/network-scripts/ifcfg-enxxxx /etc/sysconfig/network-scripts/ifcfg-eth0
# reboot
# 查询机器名是否可用
# nslookup uniquehostname
# 设置机器名
# echo "HOSTNAME=uniquehostname" >> /etc/sysconfig/network
# 设置DHCP机器名
# echo "DHCP_HOSTNAME=uniquehostname" >> /etc/sysconfig/network-scripts/ifcfg-eth0
# export LANG=zh_CN.GBK
# convmv -f gbk -t utf-8 ...
# vi /etc/sysctl.conf
# net.ipv4.ip_forward = 1
# sysctl -p
# iptables -t nat -A PREROUTING -p tcp --dport 外部端口 -j DNAT --to-destination 内部IP:内部端口
# iptables -t nat -A POSTROUTING -p tcp -s 内部IP --sport 内部端口 -j SNAT --to-source 外部IP:外部端口
第一步:将新硬盘插到机器上;
第二步:以 root 用户运行命令:
# echo "scsi add-single-device x y z u" > /proc/scsi/scsi
其中:
x是硬盘所在SCSI控制器号(一般机器就一个SCSI控制器,所以就是0);
y是硬盘所在SCSI通道的编号(一般单通道的就是0,多通道的要看是哪个通道了);
z是硬盘的SCSI ID号(可以通过具体插入的硬盘插槽来判断);
u是硬盘的lun号(默认情况都是0)
如果 x y z 参数不正确,系统是不能识别添加的硬盘的,可以通过查看 /proc/scsi/scsi 文件的内容来判断是否添加成功。添加好之后,这个文件中会多出一个设备。这个文件中包含系统识别到的所有SCSI设备的详细信息,包括厂商、型号、介质访问类型等。
然后再看 /proc/partition 文件,发现已经识别出硬盘了!接下来就可以分区、格式化、使用了,由于使用parted分区工具不需要重新引导系统,所以整个添加硬盘的过程是不需要重启系统的。
如果要移除硬盘,那么可以这样操作:
第一步:以 root 用户运行命令:
# echo "scsi remove-single-device x y z u" > /proc/scsi/scsi
x y z u的定义同上
第二步:物理上断开硬盘的连接。
# echo "- - -" > /sys/class/scsi_host/host2/scan
host2一般是/sys/class/scsi_host/下最大的那个文件,也就相当于最后加入的设备。需要根据自己的系统情况而定
"- - -" 这三个-之间是有空格的
# vi /etc/sysconfig/docker
HTTP_PROXY="代理服务器"
HTTPS_PROXY="${HTTP_PROXY}"
http_proxy="${HTTP_PROXY}"
https_proxy="${HTTPS_PROXY}"
export HTTP_PROXY HTTPS_PROXY http_proxy https_proxy
docs.docker 商业网/engine/admin/systemd/
# mkdir /etc/systemd/system/docker.service.d
# vi /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://proxy.example.com:80/" "NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"
# sudo systemctl daemon-reload
# systemctl show --property=Environment docker
Environment=HTTP_PROXY=http://proxy.example.com:80/
# sudo systemctl restart docker
1、下载内核源码包
从 kernel org 下载内核,可以看到有 stable、longterm 等版本,longterm 是比 stable 更稳定的版本,会长时间更新
Linux内核版本有两种:稳定版和开发版 ,Linux 内核版本号由 3 个数字组成:r.x.y
2、解压
# xz –d linux-r.x.y.tar.xz
# tar -xf linux-r.x.y.tar
3、更新当前系统
# yum update
# yum upgrade
4、安装编译内核需要的软件
# 一口气安装编译时所需的一切工具
# yum groupinstall "Development Tools"
# 必须这样才能让 make *config 这个指令正确地执行
# yum install ncurses-devel
# 如果你没有 X 环境,这一条可以不用
# yum install qt-devel
# 创建 CentOS-6 内核时需要它们
# yum install hmaccalc zlib-devel binutils-devel elfutils-libelf-devel
5、查看当前系统内核
# uname –r
6、拷贝当前系统的配置文件
# cp /boot/config-2.6.32-358.11.1.el6.x86_64 .config
7、使用旧内核配置,并自动接受每个新增选项的默认设置
# sh -c 'yes "" | make oldconfig'
# make menuconfig
8、编译
# 清理上次编译的现场
# make mrproper
# 生成内核文件
# make -j8 bzImage
# 编译模块
# make -j8 modules
# 编译安装模块
# make -j8 modules_install
-j 表示使用几个线程,不超过 CPU 核心数
9、安装
# make install
# 没有initrd.img时手动创建
# mkinitramfs r.x.y -o /boot/initrd.img-r.x.y
10、修改 Grub 引导顺序
# vi /boot/grub/grub.conf
default=0
11、重启
# reboot now
12、查看新内核
# uname –r
13、手动修改 initrd/initramfs
# 解压 initrd 文件
# cp /boot/initrd-2.6.35.13.img /tmp
# cd /tmp
# ls
initrd-r.x.y.img
# mkdir newinitrd
# cd newinitrd
# zcat ../initrd-r.x.y.img | cpio -i
# ls
# 编辑init文件
# vi init
# 重新打包
# find . | cpio –c –o > ../initrd
# cd ..
# gzip -9 < initrd > initrd-r.x.y.img
# 复制initrd文件
# cp initrd-r.x.y.img /boot
# 立即关闭selinux
# /usr/sbin/setenforce 0
# 立即启用selinux
# /usr/sbin/setenforce 1
# 全局关闭selinux
# 编辑/etc/selinux/config
# 修改SELINUX=enforcing为SELINUX=disabled
# selinux禁止访问没有策略类型httpd_sys_content_t的目录/文件
# 因此web服务和ftp服务的目录必须修改策略类型
# chcon system_u:object_r:httpd_sys_content_t:s0 hls/ -R
安装 nf_conntrack_ftp 和 nf_nat_ftp
# modprobe nf_conntrack_ftp nf_nat_ftp
增加 iptables 规则
# iptables -A INPUT -p tcp -m state --state NEW,RELATED,ESTABLISHED -m tcp --dport 21 -j ACCEPT
1、在 /etc/vsftpd/vsftpd.conf 最后增加如下配置
guest_enable=YES
guest_username=ftp
user_config_dir=/etc/vsftpd/vuser_conf
virtual_use_local_privs=YES
如果没有叫做ftp的用户,可以执行 useradd -d /home/vsftpd -s /sbin/nologin vsftpd 创建vsftpd用户,相应的guest_username=vsftpd
2、建立文件 /etc/vsftpd/vuser_passwd.txt ,增加两行内容,其中奇数行为用户名,偶数行为密码
username
password
3、使用BerkeleyDB生成用户认证用的db文件
# db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
如果 BerkeleyDB 未安装,可以执行 yum install db4 db4-utils 命令安装
如果修改了密码,需要删除 /etc/vsftpd/vuser_passwd.db 后重新生成
4、编辑 /etc/pam.d/vsftpd,在最前面增加两行
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
文件名要与 /etc/vsftpd/vsftpd.conf 中 pam_service_name 的内容一致
5、建立目录 /etc/vsftpd/vuser_conf ,建立文件 /etc/vsftpd/vuser_conf/username ,设置虚拟用户的权限等
local_root=/home/vsftpd
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
文件名要与虚拟用户名相同,local_root 为虚拟用户根目录,根据自己的配置进行修改
7、编辑 /etc/vsftpd/chroot_list,增加一行,将锁定虚拟用户的根目录
username
8、重启 vsftpd
# service vsftpd restart
| section | name | comment |
|---|---|---|
| 1 | 用户命令(User Commands) | 可由任何人启动的 |
| 2 | 系统调用(System Calls) | 即由内核提供的函数 |
| 3 | 例程(C Library Functions) | 即库函数 |
| 4 | 设备(Devices and Special Files) | 即/dev目录下的特殊文件 |
| 5 | 文件格式描述(File Formats and Conventions) | 例如/etc/passwd |
| 6 | 游戏(Games et. Al) | 不用解释啦 |
| 7 | 杂项(Miscellanea) | 例如宏命令包、惯例等 |
| 8 | 系统管理员工具(System Administration tools and Deamons) | 只能由root启动 |
| 9 | 其他(Linux特定的) | 用来存放内核例行程序的文档 |

