RaspberryPi 라즈베리파이 - OS 설치후 확인해야 하는 사항
2019.02.04 01:48
라즈베리파이 - OS 설치후 확인해야 하는 사항
라즈베리파이에 OS 를 처음 설치하고 (라즈베리안) 각종 파라미터를 확인하는 스크립트입니다.
cat 00.system.check.sh
#!/bin/bash
#echo -e "32768\t61000" > /proc/sys/net/ipv4/ip_local_port_range
#$ sysctl -w net.ipv4.tcp_wmem="253952 253952 16777216"
#$ sysctl fs.file-max
#$ sysctl fs.file-nr
echo "----------------------------------"
check_value=`getenforce`
echo "GetEnforce : ${check_value}"
echo "----------------------------------"
echo -e "Parameter\tNow\tRecommand"
echo "----------------------------------"
# Recommand value = 0
recom_value="0"
for check_param in net.ipv4.tcp_timestamps net.ipv4.conf.all.accept_source_route net.ipv4.ip_forward net.ipv4.conf.all.accept_redirects net.ipv4.tcp_tw_reuse
do
check_param2=${check_param%*.*}
check_param3=`echo ${check_param} | sed -e "s/${check_param2}//" | cut -c 2-`
check_value=`sysctl -n ${check_param}`
if [ "$check_value" -eq "${recom_value}" ]
then
echo -e "${check_param3}\t${check_value}\t${recom_value}\t OK"
else
echo -e "${check_param3}\t${check_value}\t${recom_value}"
read -s -n1 -p " ${check_param3} ${check_value}->${recom_value} : Submit Now? (y/n) : " submit_yn
if [ "$submit_yn" == "y" ]
then
echo -e "\tsysctl -w ${check_param}=${recom_value}"
echo "$check_param = \"${recom_value}\"" >> /etc/sysctl.conf
fi
echo ${submit_yn}
fi
done
# Recommand value = 1
recom_value="1"
for check_param in net.ipv4.icmp_echo_ignore_broadcasts net.ipv4.conf.all.log_martians net.ipv4.tcp_syncookies net.ipv4.tcp_window_scaling
do
check_param2=${check_param%*.*}
check_param3=`echo ${check_param} | sed -e "s/${check_param2}//" | cut -c 2-`
check_value=`sysctl -n ${check_param}`
if [ "$check_value" -eq "${recom_value}" ]
then
echo -e "${check_param3}\t${check_value}\t${recom_value}\t OK"
else
echo -e "${check_param3}\t${check_value}\t${recom_value}"
read -s -n1 -p " ${check_param3} ${check_value}->${recom_value} : Submit Now? (y/n) : " submit_yn
if [ "$submit_yn" == "y" ]
then
echo -e "\tsysctl -w ${check_param}=${recom_value}"
echo "$check_param = \"${recom_value}\"" >> /etc/sysctl.conf
fi
echo ${submit_yn}
fi
done
check_value=`sysctl -n .net.ipv4.ip_local_port_range`
echo -e "Port.Range\t${check_value}\t1024\t65535"
check_value=`sysctl -n .net.ipv4.tcp_max_syn_backlog`
echo -e "MAX.BackLog\t${check_value}\t1024"
check_value=`sysctl -n net.ipv4.tcp_max_tw_buckets`
echo -e "TcpTW.Buckets\t${check_value}\t65536"
# check : ulimit -a / sysctl -n fs.file-nr
check_value=`sysctl -n fs.file-max`
echo -e "FS.FileMax\t${check_value}\t77052"
check_value=`sysctl -n net.core.netdev_max_backlog`
echo -e "NetdevMxBackLog\t${check_value}\t30000"
check_value=`sysctl -n net.core.somaxconn`
echo -e "MaxConnections\t${check_value}\t1024"
echo "----------------------------------------------------------------------------"
free -m
echo "----------------------------------------------------------------------------"
swap_size=`free -m | grep -i swap | awk '{print $2}'`
if [ "$swap_size" -eq "0" ]
then
echo -e "----------------------------------------------------------------------------"
echo -e "\tmkdir /data"
echo -e "\tdd if=/dev/zero of=/data/swapfile bs=1M count=[1024|2048|8192]"
echo -e "\tmkswap /data/swapfile"
echo -e "\tswapon /data/swapfile"
echo -e "\tchmod 600 swapfile"
echo -e "\t/data/swapfile swap swap defaults 0 0 >> /etc/fstab"
echo -e "----------------------------------------------------------------------------"
fi
ulimit -a
echo "----------------------------------------------------------------------------"
echo "sysctl -p"
exit
select submit_yn in "y" "n"
do
echo $submit_yn
break
done
read submit_yn
echo ${submit_yn}
실행하면 체크한 파라미터 변경이 필요하면 (y/n) 으로 물어봅니다.
y 를 누르면 변경하게 됩니다.
* 추가
# /sbin/sysctl -w net/netfilter/nf_conntrack_tcp_loose=0
# /sbin/sysctl -w net/ipv4/tcp_timestamps=1
# /sbin/sysctl -w net/netfilter/nf_conntrack_max=2000000
# sh -c 'echo 2000000 > /sys/module/nf_conntrack/parameters/hashsize'
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
55 | PHP 에서 json 으로 반환된 데이터 배열 처리 | MaraSong | 2019.01.23 | 1040 |
54 | 깃헙 Github 을 이용한 무료, 깔끔 홈페이지 만들기 | MaraSong | 2019.01.23 | 661 |
53 | Mara Copy - 웹페이지에서 텍스트만 뽑아내서 텍스트를 복사할 수 있도록 만든 크롬 확장 프로그램. | MaraSong | 2019.01.23 | 1572 |
52 | 디비 데이터 파일 MDF 파일 용량 줄이기 [5] | MaraSong | 2019.01.24 | 810 |
51 | 로그파일 LDF 파일 용량 줄이기 | MaraSong | 2019.01.24 | 1240 |
50 | 테이블별 용량 및 로우수 확인하기 [19] | MaraSong | 2019.01.25 | 1114 |
49 | 컬럼 수정시 Saving changes is not permitted 에러 | MaraSong | 2019.01.25 | 911 |
48 | 윈도 네트워크 비정상 동작시 오류 수정 | MaraSong | 2019.01.28 | 855 |
47 | 백업시 에러 : The backup of full-text catalog 'DB' is not permitted because it is not online. [9] | MaraSong | 2019.01.28 | 1452 |
46 | 네트워크 - 와이어샤크 WireShark 유용한 필터식 [3] | MaraSong | 2019.01.28 | 32362 |
* 쿠팡 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있습니다.