Linux history的详解

经常使用linux内置的history命令查看历史,在当前用户下面有个.bash_history文件用于保存历史命令,另外$HISTSIZE环境变量是保存最大条数。在当前shell环境中,命令放在内存中,退出时将最近$HISTSIZE条命令保存在.bash_history上,也可以使用history -a(从登录起到现在的命令)手工保存,另外history -w将当前命令保存下来。如果想命令立刻保存下来,可以在.bashrc中设置环境变量export PROMPT_COMMAND=’history -a’

tmp目录下隐藏文件

环境: CentOS 6.2

由于/tmp目录下只有一个g的容量,但发现有600M的空间被占用。在tmp目录下du -sm却只有不到10M的文件。最后发现是运行的应用程序写日志文件被删除了,

通过命令查看  lsof /tmp | grep deleted

解决方法,关闭相应的应用程序并记住不要轻易删除tmp目录下的文件。

librados: client.admin initialization error (2) No such file or directory

环境: Ubuntu 14.04, Ceph 0.80.10

在使用ceph或rados命令时(如:rados -p .rgw ls)发生只能加sudo才可以使用,不然就出现报错:

monclient(hunting): ERROR: missing keyring, cannot use cephx for authentication

librados: client.admin initialization error (2) No such file or directory

 

ls /etc/ceph/ceph.client.admin.keyring -l
-rw——- 1 root root 63 Jan 18 18:45 /etc/ceph/ceph.client.admin.keyring

查看文件的属性才发现只有root用户才可以读取文件ceph.client.admin.keyring。因而修改其权限以便其它用户也可以访问

sudo chmod o+r /etc/ceph/ceph.client.admin.keyring

apt-get update 问题

环境:Ubuntu 14.04

使用apt-get update出现如下问题:

Fetched 11.8 MB in 26s (448 kB/s)
W: GPG error: http://security.debian.org wheezy/updates InRelease: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 9D6D8F6BC857C906 NO_PUBKEY 8B48AD6246925553
W: GPG error: http://http.debian.net wheezy-updates Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 8B48AD6246925553 NO_PUBKEY 7638D0442B90D010
W: Failed to fetch http://packages.couchbase.com/ubuntu/dists/trusty/InRelease Unable to find expected entry ‘precise/main/binary-amd64/Packages’ in Release file (Wrong sources.list entry or malformed file)

W: Failed to fetch http://http.debian.net/debian/dists/wheezy/Release.gpg Connection failed

 

解决方法,增加公共的key:
sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys 9D6D8F6BC857C906 8B48AD6246925553 7638D0442B90D010 6FB2A1C265FFB764

 

 

Postfix无法使用同一域名的邮件名来发送

环境:CentOS6.4, Postfix

最近搭建一个邮件服务器用于其它服务来访问,但使用过程中发现无法使用同一域名的邮件名来发送(例如user1@360.cn无法发送给user2@360.cn的邮件帐户),查看邮件日志并无报错记录:

sudo tail -n 100 /var/log/maillog

一直无解,只好换另一个域名的邮件帐号来发送(例user1@126.cn)

Linux安装postfix邮件服务器

环境:CentOS 6.4,  Postfix

由于需要借助邮件服务器来发送报表和出错信息,因而搭建一台邮件服务器成为必然。

步骤如下:

1.安装软件包
yum install postfix system-switch-mail

2.更改默认MTA为Postfix
/usr/sbin/alternatives –set mta /usr/sbin/sendmail.postfix

3.检查下是否将MTA改为Postfix了:
alternatives –display mta

4.配置Postfix主配置文件/etc/postfix/main.cf
指定postfix监听的网络端口为所有
inet_interfaces = all
指定运行postfix服务的邮件主机名称(FQDN名,通过hostname -f查到)
myhostname = quickstart.cloudera
指定运行Postfix服务的邮件主机的域名(无域名请注释)
#mydomain = xxx.xxx
指定由本台邮件主机寄出的每封邮件的邮件头中mail from的地址
myorigin = $mydomain
指定可接收邮件的主机名或域名,只有当发来的邮件的收件人地址与该参数值相匹配时,Postfix才会将该邮件接收下来。
mydestination = $myhostname, localhost.$mydomain, localhost, mail.$mydomain, $mydomain
设置可转发(Relay)哪些IP网段的邮件
mynetworks = 127.0.0.0/8, 192.168.10.0/24
设置可转发(Relay)哪些网域的邮件
relay_domains = $mydestination

5.重启Postfix服务
service postfix restart

6.测试邮件服务
telnet localhost 25

 

修改postfix的端口

修改 /etc/postfix/master.cf
注释掉这行
smtp inet n – n – – smtpd

然后加上中一样 2500 表示端口号
2500 inet n – n – – smtpd