多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > ubuntu12.04運維備忘

ubuntu12.04運維備忘

來源:程序員人生   發布時間:2015-01-19 08:26:51 閱讀次數:4134次
  • sunyurun@agoravoice.io
  • 2015⑴⑴4 22:00:23

ubuntu的運維技能更新太快,每半年1個發行版,就要每半年更新1次。這些知識在ubuntu14.04LTS眼前就全都忘掉吧。

1. 粗魯解決ubuntu下dpkg毛病

sudo rm -rf /var/lib/apt/* sudo apt-get update sudo apt-get -f install

2. 在發包的抖動與延時之間微調參數

net.ipv4.tcp_max_syn_backlog=4096 #1024 增加TCP SYN隊列長度,使系統可以處理更多的并發連接 net.core.wmem_default = 2097152 #108544,系統套接字緩沖區 net.core.rmem_default = 2097152 #108544,系統套接字緩沖區 net.core.rmem_max=16777216 #131071,系統套接字緩沖區 net.core.wmem_max=16777216 #131071,系統套接字緩沖區 net.ipv4.tcp_rmem=4096 87380 16777216 #4096 87380 174760, TCP接收緩沖區 net.ipv4.tcp_wmem=4096 65536 16777216 #4096 16384 131072, TCP發送緩沖區 net.ipv4.tcp_mem = 786432 1048576 1572864 # Out of socket memory net.ipv4.tcp_syncookies=1 #0,防SyncFlood攻擊 net.ipv4.ip_local_port_range = 32768 61000 #用于向外連接的端口范圍,這是默許值 net.ipv4.tcp_max_tw_buckets = 5000 #180000,同時保持TIME_WAIT套接字的最大數量

3. ubuntu自動找最快的源

在source.list的頂部增加下面4行:

deb mirror://mirrors.ubuntu.com/mirrors.txt precise main restricted universe multiverse deb mirror://mirrors.ubuntu.com/mirrors.txt precise-updates main restricted universe multiverse deb mirror://mirrors.ubuntu.com/mirrors.txt precise-backports main restricted universe multiverse deb mirror://mirrors.ubuntu.com/mirrors.txt precise-security main restricted universe multiverse

4. ubuntu安裝最新redis

sudo apt-get -y install python-software-properties sudo add-apt-repository -y ppa:rwky/redis sudo apt-get -y update sudo apt-get -y install redis-server

5. ubuntu安裝最新mongodb

5.1 安裝

http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list sudo apt-get update sudo apt-get install mongodb-org

5.2 phpdriver

http://php.net/manual/en/mongo.installation.php https://github.com/joevallender/slim-php-mongo-rest sudo apt-get install php-pear sudo pecl install mongo extension=mongo.so sudo service apache2 restart

6. ubuntu安裝最新nodejs

sudo apt-get install python-software-properties sudo add-apt-repository ppa:chris-lea/node.js sudo apt-get update sudo apt-get install python g++ make nodejs

7. ubuntu安裝samba

apt-get install samba smbpasswd -a u vim /etc/samba/smb.conf ;homes ; writable = yes service smbd restart

8. ssh/scp取消每次詢問yes/no

/etc/ssh/ssh_config 中的 # StrictHostKeyChecking ask 改成 StrictHostKeyChecking no

9. ubuntu的路由表配置

9.1 增加路由匹配條目

sudo route add -net 目標IP netmask 255.255.255.0 gw 網關IP # 注意目標IP的掩碼要和netmask保持1致

9.2 查看路由表

sudo route -n

10. udp丟包檢測工具

sudo apt-get install 2ping 2ping --listen --stats=5 -q # udp server 2ping -i 0.02 -s 80 -q # udp client

11. tc調用netem做網絡摹擬

http://www.linuxfoundation.org/collaborate/workgroups/networking/netem

tc qdisc del dev eth1 root

11.1 原理

  • Netem 是 Linux 2.6 及以上內核版本提供的1個網絡摹擬功能模塊。該功能模塊可以用來在性能良好的局域網中,摹擬出復雜的互聯網傳輸性能,諸如低帶寬、傳輸延遲、丟包等等情況

  • tc 是 Linux 系統中的1個工具,全名為traffic control。tc 可以用來控制 netem 的工作模式

11.2 發送延時

tc qdisc add dev eth0 root netem delay 100ms # 延遲100毫秒 tc qdisc add dev eth0 root netem delay 100ms 20ms # 延遲 100ms ± 10ms tc qdisc add dev eth0 root netem delay 100ms loss 20% # 30% 的包在100ms±10ms 70%保持100ms

11.3 發送丟包

tc qdisc add dev eth0 root netem loss 20% # 隨機丟包20% tc qdisc add dev eth0 root netem loss 20% 40% # 隨機丟包20% 成功率為40%

11.4 發送重復

tc qdisc add dev eth0 root netem duplicate 1%

11.5 發送破壞

tc qdisc add dev eth0 root netem corrupt 0.2%

11.6 發送亂序

# 有 25% 的數據包(50%相干)會被立即發送,其他的延遲 10 秒 tc qdisc change dev eth0 root netem delay 10ms reorder 25% 50%

11.7 指定目標地址

tc qdisc add dev eth1 root handle 1: prio tc qdisc add dev eth1 parent 1:1 handle 2: netem delay 500ms tc filter add dev eth1 parent 1:0 protocol ip pref 55 handle ::55 u32 match ip dst 192.168.1.140 flowid 2:1

12. mysql經常使用運維

12.1 增加用戶

CREATE USER 'test'@'localhost' IDENTIFIED BY 'test_password'; GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost';

12.2 改變用戶密碼

SET PASSWORD FOR 'root'@'localhost' = PASSWORD("root_password");

12.3 創建新的mysql實例

#!/bin/bash # script created by @everwanna port=$2 name="mysql-$1" data="/var/lib/$name" log="/var/log/mysql/$name" config="/etc/mysql/$name.cnf" pidname="mysqld-$1.pid" pid="/var/run/mysqld/mysqld-$1.pid" sockname="mysqld-$1.sock" sock="/var/run/mysqld/mysqld-$1.sock" runpid="/run/mysqld/mysqld-$1.pid" runsock="/run/mysqld/mysqld-$1.sock" # data sudo mkdir $data sudo chown -R mysql $data # log sudo mkdir $log sudo chown -R mysql $log # config sudo cp /etc/mysql/my.cnf $config sudo sed -i "s/= 3306/= $port/g" $config sudo sed -i "s/mysqld.sock/$sockname/g" $config sudo sed -i "s/mysqld.pid/$pidname/g" $config sudo sed -i "s//var/lib/mysql//var/lib/$name/g" $config sudo sed -i "s//var/log/mysql//var/log/mysql/$name/g" $config # apparmor echo "" | sudo tee -a /etc/apparmor.d/local/usr.sbin.mysqld echo "$data/ r," | sudo tee -a /etc/apparmor.d/local/usr.sbin.mysqld echo "$data/** rwk," | sudo tee -a /etc/apparmor.d/local/usr.sbin.mysqld echo "$pid rw," | sudo tee -a /etc/apparmor.d/local/usr.sbin.mysqld echo "$sock w," | sudo tee -a /etc/apparmor.d/local/usr.sbin.mysqld echo "$runpid rw," | sudo tee -a /etc/apparmor.d/local/usr.sbin.mysqld echo "$runsock w," | sudo tee -a /etc/apparmor.d/local/usr.sbin.mysqld sudo service apparmor reload sudo mysql_install_db --user=mysql --basedir=/usr --datadir=$data --defaults-file=$config sudo -b mysqld_safe --defaults-file=$config --user=mysql echo "PLEASE ADD THE FOLLOWING LINE INTO /etc/rc.local" echo "sudo -b mysqld_safe --defaults-file=$config --user=mysql"

12.4 登陸非默許實例

mysql -h127.0.0.1 -uroot -P4316 -ppassword

12.5 phpmyadmin支持多數據庫實例

修改/var/lib/phpmyadmin/config.inc.php

$index = INDEX; // 下拉框的下標 $cfg['Servers'][$index]['verbose'] = 'default'; $cfg['Servers'][$index]['host'] = '127.0.0.1'; $cfg['Servers'][$index]['port'] = 3306; $cfg['Servers'][$index]['socket'] = '/var/run/mysqld/mysqld.sock'; $cfg['Servers'][$index]['connect_type'] = 'socket'; $cfg['Servers'][$index]['extension'] = 'mysqli'; $cfg['Servers'][$index]['auth_type'] = 'cookie'; $cfg['Servers'][$index]['user'] = 'root'; $cfg['Servers'][$index]['password'] = '';

12.6 配置主從同步

@master:

sudo su vim /etc/mysql/my.cnf server-id = 1 log-bin = mysql-bin binlog_format = mixed expire_logs_days = 10 max_binlog_size = 100M binlog-do-db = [dbname-you-wanna-sync] service mysql restart mysql -uroot -pagorabestvoip -h127.0.0.1 -P3306 GRANT REPLICATION SLAVE ON *.* TO '[remote username]'@'[master ip]' IDENTIFIED BY '[passwd]'; show master statusG

@slave:

sudo su service mysql stop vim /etc/mysql/my.cnf server-id = [slave server id] binlog-do-db = [dbname-you-wanna-sync] service mysql restart mysql -uroot -pagorabestvoip -h127.0.0.1 -P3306 slave stop; change master to master_host='[master ip]',master_port=[port],master_user='[remote username]', master_password='[passwd]',master_log_file='mysql-bin.000004',master_log_pos=107; start slave; show slave statusG;

13. php允許上傳大文件

sudo vim /etc/php5/apache2/php.ini upload_max_filesize = 50M post_max_size = 50M sudo vim /etc/apache2/envvars

14. bash經常使用命令

獲得文件最后修改時間戳

stat -c %Y vs.exe

獲得本地IP

ifconfig | awk -F: '/inet addr/&& !($2 ~ /127.0.0.1/){gsub(/ .*/, "", $2); print $2}'

列出10條最高頻度的命令

history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head

進程啟動準確時間

for pid in $(pgrep exe); do echo -n "${pid} " ; ps -p ${pid} -o lstart | grep -v "START" ; done

15. ubuntu x64安裝32位運行時

sudo apt-get install ia32-libs

16. ubuntu內核自動更新致使/boot分區變大

http://askubuntu.com/questions/89710/how-do-i-free-up-more-space-in-boot

uname -r # 查看正在使用的內核 dpkg -l linux-image-* | grep ^ii # 列出所有內核 sudo apt-get -y purge # 刪除內核:后邊指定內核版本

1鍵刪除不用內核:

dpkg -l linux-{image,headers}-"[0⑼]*" | awk '/^ii/{ print $2}' | grep -v -e `uname -r | cut -f1,2 -d"-"` | grep -e '[0⑼]' | xargs sudo apt-get -y purge

17. C++快捷方式

17.1 copy vector to stringstream

std::copy(sentence.begin(), sentence.end(), std::ostream_iterator<std::string>(ss," "));

17.2 transform map.key to vector

std::vector<uint32_t> vec; std::transform(users.begin(), users.end(), std::back_inserter(vec), [&]( const std::map<uint32_t, user_info_ptr>::value_type& x) { return x.first; });

17.3 ifstream to string

ifstream ifs("file.txt"); stringstream ss; ss << ifs.rdbuf();

17.4 lambda參數類型的自動辨認

#define _A(container) decltype(*std::begin(container)) std::for_each(ints.begin(), ints.end(), [](_A(ints)& val){ val = 7; });

18. ubuntu配置coredump永久生效

vim /etc/security/limits.conf * hard core unlimited * soft core unlimited * soft nofile 65500 * hard nofile 65500 sudo sed "s/enabled=1/enabled=0/" -i /etc/default/apport grep enabled /etc/default/apport sudo echo "kernel.core_pattern=/tmp/core-%e-%t-%p-%u" | sudo tee /etc/sysctl.d/core-pattern.conf sudo service procps start

19. ubuntu自動時鐘同步

sudo apt-get install ntpd

20. ubuntu配置dns

echo 'nameserver 8.8.8.8' | sudo tee /etc/resolvconf/resolv.conf.d/base sudo service resolvconf restart cat /etc/resolv.conf

21. ubuntu禁用密碼登陸

sed "s/$password_enabled/PasswordAuthentication no/" /etc/ssh/sshd_config > sshd_config sudo mv -v sshd_config /etc/ssh/sshd_config sudo service ssh reload

22. ubuntu使用rsyslog

22.1 安裝

sudo apt-get install -y rsyslog

22.2 分文件

$template FormatWithPRI,"%$NOW% %TIMESTAMP:8:15% %syslogseverity-text% %syslogtag%%msg:::drop-last-lf% " if $programname == 'demo.exe' then /var/log/demo.log;FormatWithPRI if $programname == 'demo.exe' then ~

22.3 按級別過濾

if $syslogseverity == '7' then ~

22.4 log rotate

/var/log/demo.log { rotate 100 copytruncate dateext minsize 1M daily missingok notifempty delaycompress compress postrotate reload rsyslog >/dev/null 2>&1 || true endscript }
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 久久久日本精品一区二区三区 | 亚洲精品亚洲九十七页 | 最近最新中文字幕在线第一页 | 中文字幕在线2021 | 欧美18videosex性欧美69 | 免费看www视频 | 第一国内永久免费福利视频 | 国产欧美综合精品一区二区 | h网站在线观看 | 日本护士ooowww | 免费观看老外特级毛片 | 久久h视频| 精品国产亚一区二区三区 | 最新69国产成人精品视频69 | 成人青草亚洲国产 | 日韩一区二区三区免费视频 | 国产中文久久精品 | 久久最新视频 | 亚洲精品www| 亚洲 中文 欧美 日韩 在线人 | www.av视频在线观看 | 日韩高清一区 | 亚洲a区视频 | 久久观看视频 | 午夜dj视频在线观看免费 | 手机看片福利日韩欧美看片 | 中文字幕日本在线视频二区 | 国产亚洲精品线观看77 | 2018生活片性色生活片 | 国产在线精品一区二区中文 | 一区二区三区视频免费 | 真实男女xx00动态视频 | 最近最新中文字幕大全手机在线 | 羞羞视频免费入口 | 大bbw另类交hd | 欧美一欧美一区二三区性 | 国产欧美日韩综合在线一 | 亚洲精品成人久久久影院 | 亚洲一区二区三区不卡视频 | 欧美一级毛片免费高清aa | 武则天a级在线 |