文件和目录的权限被更改之后可以通过备份目录进行恢复。在Debian下,先安装acl工具。
apt-get install acl
然后使用getfacl命令,从备份目录获取权限列表
getfacl -R /backup/dir/ > dir.facl
再回到想要修改的目录下,通过权限列表恢复
cd /target/dir setfacl --restore=/backup/dir/dir.facl
大功告成~
文件和目录的权限被更改之后可以通过备份目录进行恢复。在Debian下,先安装acl工具。
apt-get install acl
然后使用getfacl命令,从备份目录获取权限列表
getfacl -R /backup/dir/ > dir.facl
再回到想要修改的目录下,通过权限列表恢复
cd /target/dir setfacl --restore=/backup/dir/dir.facl
大功告成~
在Debian 8 Jessie安装MySQL Server 5.7,其实不只是Debian 8 Jessie,支持的版本还有6和7。安装过程如下
安装APT配置工具,MySQL官方提供
wget http://dev.mysql.com/get/mysql-apt-config_0.7.3-1_all.deb
最新的版本可以从这里获取:https://dev.mysql.com/downloads/repo/apt/
安装配置包,可以选择MySQL的版本5.6 OR 5.7,及是否安装工具包
dpkg -i mysql-apt-config_0.7.3-1_all.deb
更新APT源
apt-get update
安装
apt-get install mysql-community-server
UPDATE
阿里云提供可安装的OS实在是太有限了,而且更新也非常慢,像Debian 8是15年发布的,到今天已过去了一年,还没有提供安装,很多国外的VPS连Ubuntu 16都已提供尝鲜,更别说Debian 8了。不过,也没关系,我们可以自己手动升级,仅需简单几步:
1、替换 apt 源配置,将“wheezy”替换为“jessie”
sed -i 's/wheezy/jessie/' /etc/apt/sources.list
2、升级 apt list 索引
apt-get update
3、升级软件包
apt-get upgrade
4、升级系统
apt-get dist-upgrade
5、升级完成!重启后,验证结果:
cat /etc/issue
显示
Debian GNU/Linux 8
再看看uname
uname -a
显示
Linux Machine-id 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2 (2016-04-08) x86_64 GNU/Linux
1、清理缓存
apt-get clean
2、清理无用文件
apt-get autoremove
3、老的内核也不需要了,删除
查询已安装的内核
dpkg --list|grep linux-image
删除老的
apt-get remove linux-image-3.2.0-4-amd64
显示
Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: linux-image-3.2.0-4-amd64 0 upgraded, 0 newly installed, 1 to remove and 1 not upgraded. After this operation, 106 MB disk space will be freed.
哈哈,可以节省106MB
在安装Debian 7的时候,阿里云对系统配置作了一些优化,可以继续使用,在 /etc/sysctl.conf 最后加入
vm.swappiness = 0 net.ipv4.neigh.default.gc_stale_time=120 net.ipv4.conf.all.rp_filter=0 net.ipv4.conf.default.rp_filter=0 net.ipv4.conf.default.arp_announce = 2 net.ipv4.conf.all.arp_announce=2 net.ipv4.tcp_max_tw_buckets = 5000 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_max_syn_backlog = 1024 net.ipv4.tcp_synack_retries = 2 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1 net.ipv4.conf.lo.arp_announce=2
原理还是通过S.M.A.R.T.来读取硬盘参数,装个名为“hddtemp”的工具就很容易看到。
Debian和Ubuntu下用apt安装即可
sudo apt-get install hddtemp
通过一个简单的命令
hddtemp /dev/sda
就会显示结果
/dev/sda: TOSHIBA DT01ABA300V: 41°C
不支持SMART的硬盘,或者使用USB连接的硬盘盒会显示错误:
/dev/sdb: Hitachi HTS545032B9A302: S.M.A.R.T. not available
一台自用的服务器,开放SSH服务,看日志发现总会有人扫弱口令,为了安全干脆关闭密码登陆,只允许密钥登陆。但是这台服务器上还有其他账号,必须使用口令验证。查阅了SSHD的手册,发现这也不难,配置文件支持对特定用户进行特殊配置:只要使用“match”关键字进行配置。
对于root用户关闭密码验证登陆,可以在配置文件/etc/ssh/sshd_config的最后加入:
Match User root PasswordAuthentication no
重启sshd服务器:
service sshd restart
这样,其他用户可以继续使用密码登陆,root用户就不可以了。
几处值得注意的地方:
更多配置参看sshd的手册:http://linux.die.net/man/5/sshd_config
debian squeeze默认安装的时候,没有装mail工具包,是无法发送邮件的。但是邮件通知又是我们经常使用的一个功能,比如一些cron运行的结果及用户注册通知等等。这次直接使用exim作为mail client用于发送邮件服务,这比装sendmail配置起来容易一些,也节省服务器资源。安装及配置步骤记录如下:
1、apt安装exim
apt-get install exim4-daemon-light
2、配置exim
dpkg-reconfigure exim4-config
进入交互界面后,按照自己的需求进行配置就可以了,注意下面的选择要选第一个“internetsite”:
在输入IP的时候,可以输入127.0.0.1
3、然后测试一下:
echo "Its a test." | mail -s Testing name@example.com
首先需要安装hfsprogs,我用的是debian直接
apt-get install hfsprogs
然后直接mount就可以了:
root@bananapi ~ # mount -t hfsplus -o force,rw /dev/sdb /mnt/backup320g mount: warning: /mnt/backup320g seems to be mounted read-only.
怎么还是read-only…看一下dmsg:
root@bananapi ~ # dmesg|tail [ 4842.317034] hfs: Filesystem was not cleanly unmounted, running fsck.hfsplus is recommended. mounting read-only.
哦,原来硬盘有点儿问题,需要check一下,好吧:
root@bananapi ~ # fsck.hfsplus -f /dev/sdb ** /dev/sdb root@bananapi ~ # fsck.hfsplus -f /dev/sdb1 ** /dev/sdb1 root@bananapi ~ # fsck.hfsplus -f /dev/sdb2 ** /dev/sdb2 ** Checking HFS Plus volume. ** Checking Extents Overflow file. ** Checking Catalog file.
终于check完了,一共花了⋯⋯半天儿⋯⋯我们再remount一下吧~ 已经没问题了
遇到一件怪异的事情:在一台新的Debian 6服务器中,Apache被默认安装,并且开机自动运行。因要用nginx作默认的Web Server,Apache就比较碍事儿了,想把它卸载,或者不要启动运行。用apt来删除吧,通过
apt-get remove apache2
却命令提示“Package apache2 is not installed”。失败了,试试这个
apt-get purge apache2
还是不行。难道是当初安装的时候,不是用的apt?算了,不管了,现在让它不自动运行也可。
Debian把计算机的启动和关闭划分为7个阶段,标志位为0~6。其中0,1,6是关闭,2,3,4,5是启动,同时对应到/etc/rc*.d/下的脚本,所以apache的自动启动脚本也很有可能是在这里。如果不需要启动,直接删除
update-rc.d apache2 remove
恢复也可以通过update-rc.d脚本
update-rc.d apache2 start 2 3 4 5
今天发现原来用于备份数据库并邮寄到信箱的脚本不能用了,调试了一下得到mutt发送email失败的提示。
root@n3yang:~# mutt -a n3yang-backup-20120425.sql.gz -s 'backup' backup@gmail.com backup@gmail.com: unable to attach file.
这个脚本一直运行的很好,mutt也命令用过很多次,不应该有什么问题才对⋯⋯正当百思不得骑姐的时候,随手打了一下–help看看了帮助,发现比以前看多了一行提示:
-- treat remaining arguments as addr even if starting with a dash when using -a with multiple filenames using -- is mandatory
恍然大悟,原来这个版本的mutt支持了多附件,在使用-a参数之后的需要使用 “–” 明确指出邮件地址:
root@n3yang:~# mutt -a n3yang-backup-20120425.sql.gz -s 'backup' -- backup@gmail.com
或者把邮件地址放到最前面,这样写:
root@n3yang:~# mutt backup@gmail.com -a n3yang-backup-20120425.sql.gz -s 'backup'
问题解决了,再找一台CentOS 5.5看看上面mutt的版本,和我这台debian果然不一样。在CentOS 5.5上的版本是
Mutt 1.4.2.2i (2006-07-14)
debian 6上的是
Mutt 1.5.20 (2009-06-14)
验证了之前版本不一样的推断。