Ubuntu自动更新相关设置

  1. 设置自动更新
apt-get install unattended-upgrades

安装好unattended-upgrades后,需要配置:

/etc/apt/apt.conf.d/50unattended-upgrades 
Unattended-Upgrade::Allowed-Origins {
//      "${distro_id}:${distro_codename}-security";
//      "${distro_id}:${distro_codename}-updates";
//      "${distro_id}:${distro_codename}-proposed";
//      "${distro_id}:${distro_codename}-backports";
};
 
注释掉相关选项。
然后,编辑文件:/etc/apt/apt.conf.d/10periodic

APT::Periodic::Update-Package-Lists "1";   //显示更新包列表  0表示停用设置
APT::Periodic::Download-Upgradeable-Packages "1"; //下载更新包  0表示停用设置
APT::Periodic::AutocleanInterval "7"; // 7日自动删除 
APT::Periodic::Unattended-Upgrade "1"; //启用自动更新 0表示停用自动更新

或者直接使用: dpkg-reconfigure -plow unattended-upgrades 进行相关更新

  1. 禁用相关的包更新,例如Linux-Kernel.
sudo apt-mark hold <package_name>
sudo apt-mark hold linux-image-generic linux-headers-generic

 

ubuntu:更新内核与清理无用文件

编辑软件源
sudo gedit /etc/apt/sources.list
查看系统存在的内核。
dpkg -l|grep linux
或dpkg –get-selections|grep linux
显示当前的内核
uname -a
升级内核
apt-get dist-upgrade
删除内核
sudo apt-get remove 内核名
带有image的文件是需要删除的,一定要写全版本等字符。其他相关的文件会自动删除。
例如:
sudo apt-get remove –purge linux-image-2.6.24-19-generic
–purge参数表示彻底删除。
另外,我删除2.6.24-19的内核时,忘了自己当前正使用此内核。不过,幸好有惊无险。删除不了当前使用的内核。
更新menu.list
sudo update-grub
先将menu.list备份,然后改名或删除。这样会自动重建文件。然后将原来的menu.list 中需要的东西拷贝到新的menu.list中。
重建时,grub不会将其他系统的引导信息也添加进去。需要的从原来的文件中复制一下就行了。
系统垃圾清理
sudo apt-get autoclean 清理旧版本的软件缓存
sudo apt-get clean 清理所有软件缓存
sudo apt-get autoremove 删除系统不再使用的孤立软件
Ubuntu Linux与Windows系统不同,Ubuntu Linux不会产生无用垃圾文件,但是在升级缓存中,Ubuntu Linux不会自动删除这些文件,今天就来说说这些垃圾文件清理方法。
  1,非常有用的清理命令:
sudo apt-get autoclean
sudo apt-get clean
sudo apt-get autoremove
这三个命令主要清理升级缓存以及无用包的。
  2,清理opera firefox的缓存文件:
ls ~/.opera/cache4
ls ~/.mozilla/firefox/*.default/Cache
  3,清理Linux下孤立的包:
图形界面下我们可以用:gtkorphan
sudo apt-get install gtkorphan -y
终端命令下我们可以用:deborphan
sudo apt-get install deborphan -y
  4,卸载:tracker
这个东西一般我只要安装Ubuntu就会第一删掉tracker 他不仅会产生大量的cache文件而且还会影响开机速度。所以在新得利里面删掉就行。
  5,删除多余的内核:一定不要删错哦,切记!!
打开终端敲命令:dpkg –get-selections|grep linux
有image的就是内核文件
删除老的内核文件:
sudo apt-get remove 内核文件名 (例如:linux-image-2.6.27-2-generic)
内核删除,释放空间了,应该能释放130-140M空间。
最后不要忘了看看当前内核:uname -a
附录:
包管理的临时文件目录:
包在
/var/cache/apt/archives
没有下载完的在
/var/cache/apt/archives/partial
使用Ubuntu一段时间后,就会发觉由于自动升级,系统里安装了很多内核。像我,竟然安装了下面那么多,这个造成了漫长的启动列表。必须删掉一些不用的。
首先就是使用如下命令,列出所有安装的内核,下表中,带有image的就是内核文件。从中选择要卸载的包,用apt-get来卸载
[tc@ibm:~]$ dpkg –get-selections|grep linux
libselinux1 install
linux-386 install
linux-image-2.6.15-23-386 install
linux-image-2.6.15-27-386 install
linux-image-2.6.15-27-686 install
linux-image-2.6.15-28-386 install
linux-image-2.6.15-28-686 deinstall
linux-image-386 install
linux-kernel-headers install
linux-restricted-modules-2.6.15-23-386 install
linux-restricted-modules-2.6.15-27-386 install
linux-restricted-modules-2.6.15-27-686 install
linux-restricted-modules-2.6.15-28-386 install
linux-restricted-modules-2.6.15-28-686 deinstall
linux-restricted-modules-386 install
linux-restricted-modules-common install
linux-sound-base install
util-linux install
具体的卸载方法为
sudo apt-get remove linux-image-2.6.15-23-386
这样就可以实现自动删除内核文件了,还可以释放磁盘空间。
另外还要记录一个命令。
uname -a
使用这个命令可以查看当前系统使用的内核。

Ubuntu 14.04 更换内核以安装锐速

想安装锐速,然而窝的俩 VPS 内核都不被锐速支持,只好自己更改内核。DigitalOcean 可以直接在控制面板里更改内核,然而 ConoHa 的控制面板就没有那么强大了,要靠窝们自己手动修改内核 (´_ゝ)

1.查看当前系统内核

一般 ssh 登录信息页就可以看到内核信息了,比如窝是:

Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 3.16.0-36-generic i686)

或者使用 uname r  查看

2.安装新内核

锐速支持的内核可以在这里查看,窝要安装的是 3.13.0-24-generic

sudo apt-get install linux-image-extra-3.13.0-24-generic

 

3.卸载其他内核

查看系统现有内核  dpkg l|grep linuximage
卸载列出的其他内核:

4.更新 grub 系统引导文件并重启

不出意外的话重启后启用的就是新的内核了~

kernel

via : https://prinzeugen.net/

Ubuntu/Debian系统初始化设置

  • Debian 查看系统版本
  • 设置系统时间
  • 设置 root 密码
  • 设置 ssh 端口
  • 设置 Nginx 源
  • DDos 防火墙
  • 各种压缩命令
  • MariaDB 支持外网访问 & 用户相关 & 权限相关
  • top 命令的使用以及显示结果的介绍
  • GNU nano 编辑器中文乱码
  • Linux 安装 Mysql-python mysql_config not found

这篇文章是完全按我的习惯来做了,如果大家有不一样的,可以在下方评论写出来,或者自己知道就好。如果你不是 root 用户登录的,部分操作需要加前缀 sudo

Debian 8 内置的有 wget,没有 zipcurl,所以拿到手先

apt-get install zip
apt-get install sudo
apt-get install curl

然后一个一个来:

查看系统版本

lsb_release -a

设置时间

date 可以查看当前时间

step-0 调整时区:$ tzselect
step-1 $ cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
step-2 $ nano /etc/adjtime 把 UTC 改成 LOCAL
step-3 $ hwclock --hctosys 把硬件时间写入系统时间
step-4 $ apt-get install ntpdate $ ntpdate 129.6.15.28 同步时间

设置 root 密码

我通常用 ssh 登陆新的服务器,所以密码不知道,用命令 passwd root 就可以改了

设置 ssh 端口

nano /etc/ssh/sshd_config  
# Port 设置为任意值(只要不冲突)

service sshd restart  

设置 Nginx 源

step-0

系统的源更新不及时,建议用官方的。

nano /etc/apt/sources.list

添加两行

deb http://nginx.org/packages/mainline/debian/ jessie nginx
deb-src http://nginx.org/packages/mainline/debian/ jessie nginx
step-1

把 Nginx 的证书放到一个合适的地方,比如

cd /etc/apt
wget http://nginx.org/packages/keys/nginx_signing.key
apt-key add nginx_signing.key

DDos 防火墙

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

可以看到每个 ip 的连接数,几个十几个都是正常的,好几百上千肯定有问题

wget http://www.inetbase.com/scripts/ddos/install.sh  
chmod 0700 install.sh  
./install.sh
nano /usr/local/ddos/ddos.conf

可以修改设置

##### Paths of the script and other files
PROGDIR="/usr/local/ddos"  
PROG="/usr/local/ddos/ddos.sh"  
IGNORE_IP_LIST="/usr/local/ddos/ignore.ip.list"  //IP地址白名单  
CRON="/etc/cron.d/ddos.cron"    //定时执行程序  
APF="/etc/apf/apf"  
IPT="/sbin/iptables"

##### frequency in minutes for running the script
##### Caution: Every time this setting is changed, run the script with --cron
#####          option so that the new frequency takes effect
FREQ=1   //检查时间间隔,默认1分钟

##### How many connections define a bad IP? Indicate that below.
NO_OF_CONNECTIONS=150     //最大连接数,超过这个数IP就会被屏蔽,一般默认即可

##### APF_BAN=1 (Make sure your APF version is atleast 0.96)
##### APF_BAN=0 (Uses iptables for banning ips instead of APF)
APF_BAN=1        //使用APF还是iptables。推荐使用iptables,将APF_BAN的值改为0即可。

##### KILL=0 (Bad IPs are'nt banned, good for interactive execution of script)
##### KILL=1 (Recommended setting)
KILL=1   //是否屏蔽IP,默认即可

##### An email is sent to the following address when an IP is banned.
##### Blank would suppress sending of mails
EMAIL_TO="root"   //当IP被屏蔽时给指定邮箱发送邮件,推荐使用,换成自己的邮箱即可

##### Number of seconds the banned ip should remain in blacklist.
BAN_PERIOD=600    //禁用IP时间,默认600秒,可根据情况调整  

各种压缩命令

zip

压缩当前目录所有文件(不包括隐藏)
zip -r file.zip ./*

压缩当前目录所有文件(包括隐藏文件)
zip -r file.zip * .[^.]*

解压 zip 包
unzip file.zip

unzip -o -d file.zip /your/path  
-o 为不提示的情况下覆盖文件

tar 包

个人比较喜欢 tar 包

解压 tar.gz
tar -xzf file.tar.gz  

MariaDB 支持外网访问 & 用户相关 & 权限相关

给 pblnw 用户外网访问所有数据库的权限

nano /etc/mysql/my.cnf  
注释掉 bind-address  =127.0.0.1

grand all on  *.*  to pblnw@'%'  identifies  by 'yourPassword';

权限立刻生效
FLUSH PRIVILEGES;

导入 sql 数据
use xxx  
source /your/path/to.sql

分配权限
grant all on ks_in.* to ks_in@localhost IDENTIFIED by 'nqwe12345';

查看数据库时间
select now();  

top 命令的使用以及显示结果的介绍

Link

GNU nano 编辑器中文乱码

cat 命令显示中文是正常的,Mac Terminal 下 nano 不正常,VNC 下也不正常,说明不是 Mac Terminal 的编码问题。

nano /etc/default/locale

改成
LC_ALL="en_US.utf8"  
LANGUAGE=en_US  
LC_CTYPE=en_US.UTF-8  
LANG="en_US.UTF-8"  

就好了。

Linux 安装 Mysql-python mysql_config not found

apt-get install libmariadbclient-dev  

via pupboss.com