Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟。系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件时钟可以在BIOS中进行设置。当Linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作。
Linux中的所有命令(包括函数)都是采用的系统时钟设置。在Linux中,用于时钟查看和设置的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只用一个就行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系。
1、date
查看系统时间
# date
设置系统时间
# date --set "07/07/06 10:19" (月/日/年时:分:秒)
2、hwclock/clock
查看硬件时间
# hwclock --show
或者# clock --show
设置硬件时间
# hwclock --set --date="07/07/06 10:19" (月/日/年 时:分:秒)
或者# clock --set --date="07/07/06 10:19" (月/日/年 时:分:秒)
3、硬件时间和系统时间的同步
按照前面的说法,重新启动系统,硬件时间会读取系统时间,实现同步,但是在不重新启动的时候,需要用hwclock或clock命令实现同步。
硬件时钟与系统时钟同步:# hwclock --hctosys(hc代表硬件时间,sys代表系统时间)或者# clock --hctosys
系统时钟和硬件时钟同步:# hwclock --systohc或者# clock --systohc
实时显示日志文件 tail -f xxxx.log
安装rpm包
rpm -ivh xxxxx.rpm
解压tar.gz
tar -zxvf xxxxxx.tar.gz
查看分区状况 df -lh
加载ISO文件
mount -t iso9660 -o loop /*/XXXXX.iso /mnt/iso
看进程
ps -ef|grep mvap
分页显示结果 后面加 |less 或者 |more
寻找文件
find -maxdepth 1 -name "@*"
这个命令意思是,查找当前目录下以@开头的文件或者目录,搜索深度为一级也就是只在当前目录找,不进入子目录,如果你要从/目录开始找就:
find / -maxdepth 1 -name "@*"
如果想搜全盘,就把-maxdepth 1 去掉
Path环境变量备份
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
启用ssh协议的root账号登陆 | 修改/etc/ssh/sshd_config 将PermitRootLogin yes的注释去掉 安装完VP之后会在该文件末尾添加DenyGroups root,将这个去掉就能用root远端登陆VP了 |
重启ssh | /etc/init.d/sshd restart |
增加账户 | useradd <账户名> 添加一个已锁定的账户 passwd <账户名> 为账户解锁并设置密码 userdel -r <账户名> 删除一个账户 |
|
|
fprintd崩溃,是auth使用了fprintd(指纹识别设备)的问题.
用下面的命令确认了下authconfig的配置.
# grep -i fprintd /etc/sysconfig/authconfig
USEFPRINTD=yes
用下面的命令禁用fprintd
# authconfig --disablefingerprint --update
确认效果
# grep -i fprintd /etc/sysconfig/authconfig
USEFPRINTD=no
禁用XWindow
机器启动起来之后,用Ctrl+Alt+F1组合键进入真实终端,登陆之后,用vi编辑器打开"/etc/inittab",把id:5这句的5改成3,保存退出,重启就不会再启动XWindow了。
关闭linux的sendmail服务
运行 chkconfig --level 2345 sendmail off
linux中加载镜像
mount loop
查看linux网卡工作状态:
# ethtool ethX
修改linux网卡的工作模式:
ethtool –r ethX ## 重置ethX网口到自适应模式
ethtool –S ethX ## 查询ethX网口收发包统计
ethtool –s ethX [speed 10|100|1000] ## 设置网口速率10/100/1000M
[duplex half|full] ## 设置网口半/全双工
[autoneg on|off] ## 设置网口是否自协商
# ethtool -s eth0 duplex full autoneg off speed 100
linux网卡工作模式开机就是全双工的方法:
一:
在/etc/sysconfig/network-script/ifcfg-ethX加入下面这句:
ETHTOOL_OPTS="speed 100 duplex full autoneg off"
二:
将上面的命令写入到/etc/rc.local里面。
ethtool -s eth0 duplex full autoneg off speed 100
# Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet
DEVICE=eth0
BOOTPROTO=static
BROADCAST=10.9.8.255
HWADDR=1C:C1:DE:18:0A:E0
IPADDR=10.9.8.164
NETMASK=255.255.255.0
NETWORK=10.9.8.0
ONBOOT=yes
ETHTOOL_OPTS="speed 100 duplex full autoneg off"
查看rpm包已安装文件
rpm -ql vsftpd
查看linux服务进程
ps -ef |grep vsftp
服务器安装linux的raid驱动
一般我们在安装服务器过程中需要加载一些scsi卡或raid卡驱动,以便操作系统可以检测到硬盘。
常规的安装方式是要用到软驱,其实我们也是可以通过U盘来进行加载的。
装Linux控制器驱动往往都是*.dd或者*.img结尾的文件,我们都可以在linux下通过dd命令来写入到U盘中,比如驱动的名字为megaraid_sas.img
假设有一台Linux机器,先把文件拷贝到/tmp,U盘的设备名为sdb.
dd if=/tmp/megaraid_sas.img of=/dev/sdb
cat命令也可以实现dd的作用,注意这里是sdb而不是sdb1,是设备而不是分区,如果你把文件写入到sdb1,你可以尝试加载驱动会失败。
Linux可以写裸设备而windows不可以,也就是说如果U盘在windows下是未分区的(此时windows是无法写的)但是在linux下还是可以写的。
在 of=/dev/sdb 的时候是从U盘的最开始位置写的,结果把它模拟成了一个软盘,前446Bytes即“boot code”定义了它的类型。此时你把这个U盘拿到windows机器上,在磁盘管理里边可以看到1G的容量,但是右键属性发现容量为1.38,即成了一个软盘,也可以说是四不像,其实是欺骗了windows.
这个时候你可以把U盘格式化,然后把megaraid_sas.img在windows下用第三方工具解压后发送到U盘之后,安装系统过程中还是可以正常加载驱动的。
这是为什么呢?
因为我们在windows下对这时的U盘操作时,windows会先读取U盘的“boot code”,认为它是一个软盘,因为软盘是没有分区的概念即没有partition table,把其后边的空间格式化了,简单的说,再怎么样也不会把“boot code”给改了。
这时再拿到linux下,linux仍可以读出其中的数据,但在用 fdisk -l /dev/sdb 的时候会发现U盘的Partition table有问题,可以在用fdisk /dev/sdb 进入交互界面后用一个命令“w”重新改写,把U盘变成一个没有分区的U盘。
有很重要的一点补充,现在很多人再买到服务器之后要装linux系统,但是没有linux环境,无法按照上边的步骤来把驱动写到U盘上去,经测试发现可以用redhat的第一张盘来创造这样一个linux环境,假设现在要加载的驱动为LSI sas raid卡的驱动
步骤如下:
1、先在windows环境中把驱动拷贝到U盘上去,
2、用redhat的第一张盘引导,当出现提示你是否加载hard driver时,选择skip,这是OS没有检测到硬盘的提示,此时就可以skip,接着就要加载图形化界面了,这时候我们就可以按CTRL+ALT+F2切换到控制台了,
(有一点补充,硬盘的驱动是在出现图形化界面之前就已经加载了,对于这个问题我还请了前辈一瓶水,我们可以在出现控制台后切换到F3,F4就可以看到内核和安装的详细过程)
3、在内存中建两个目录mkdir /a /b
4、mount /dev/sda1 /a
5、cp /a/megaraid_sas-rhel40-all.img /b
6、umount /a
7、dd if=/b/megaraid_sas-rhel40-all.img of=/dev/sda
8、再次启动服务器,当出现boot之后输入linux dd,然后按照提示选择从/dev/sda中添加驱动,就会找到硬盘(如果出现多个sdx设备,可以按CTRL+ALT+F4来看到底你的U盘是哪个设备)
后话:
因为工作能接触到不同cpu的服务器,发现此种方法在AMD cpu的机器上无法实现,intel的机器没有问题,intel的cpu可以在找不到硬盘的情况下仍然可以加载图形界面,AMD的cpu如果找不到硬盘就不可以继续,而且即使用dd命令把驱动写到U盘上去,驱动还是不能正常的加载的,也就是说无法用U盘给AMD cpu的机器加载硬盘的驱动。
Linux在检测不同cpu时反馈的结果差别还是真的很大,不能说是redhat或者AMD的问题。