寻觅生命中的那一片浅草......

文章属于类别 Linux

rpm -V 结果说明

用rpm进行包管理的发行版中(redhat,suse等),可以利用rpm -V可以校验某个文件或者某个包,检验其状态和安装时的变化情况。检验项目共九项,结果以下面8个字母来表示:
S : 表示文件大小;
M : 表示权限;
5 : 表示MD5检查和;
D : 表示主从设备号;
L : 表示符号连接;
U : 表示属主;
G : 表示属组;
T : 表示最后修改时间根据文件类型的不同检验的项目也不同,如图
文件类型 大小 权限 MD5和 主设备号 从设备号 符号连接 属主 属组 最后修改时间
目录 – 校 – – – – 校 校 –
符号连接 – 校 – – – 校 校 校 –
FIFO – 校 – – – – 校 校 –
设备文件 – 校 – 校 校 – 校 校 –
普通文件 校 校 校 – – – 校 校 校

例如,查询bash包
# rpm -V bash
S.5….T /etc/bashrc
结果表达的意思是:
1.bash包里除/etc/bashrc之外其他文件都没有变化,因此没有列出来。
2./etc/bashrc文件的大小发生了变化 (S)
3./etc/bashrc文件的MD5校验和发生变化 (5)
4./etc/bashrc文件的最后修改时间发生变化 (T)

转载自:http://www.oolec.com/rpm-v-intro/

删除文本中的重复行(sort+uniq/awk/sed)

在进行文本处理的时候,我们经常遇到要删除重复行的情况。那怎么解决呢?
下面就是三种常见方法?
第一,用sort+uniq,注意,单纯uniq是不行的。
shell> sort file | uniq

这里我做了个简单的测试,当file中的重复行不再一起的时候,uniq将服务删除所有的重复行。经过排序后,所有相同的行都在相邻,因此unqi可以正常删除重复行。

第二,用sort+awk命令,注意,单纯awk同样不行,原因同上。
shell> sort file | awk ‘{if ($0!=line) print;line=$0}’

当然,自己把管道后面的代码重新设计一下,可能不需要sort命令先排序拉。

第三,用sort+sed命令,同样需要sort命令先排序。
shell> sort file | sed ‘$!N; /^\(.*\)\n\1$/!P; D’

最后附一个必须先用sort排序的文本的例子,当然,这个需要用sort排序的原因是很简单,就是后面算法设计的时候的“局部性”,相同的行可能分散出现在不同的区域,一旦有新的相同行出现,那么前面的已经出现的记录就被覆盖了,看了这个例子就好理解拉。
ffffffffffffffffff
ffffffffffffffffff
eeeeeeeeeeeeeeeeeeee
fffffffffffffffffff
eeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeee
gggggggggggggggggggg

其实,这是我随便打进去的几行字,没想到就是必须用sort的很好例子,大家可以自己试试看。

参考资料:

[1] SED单行脚本快速参考
http://linux.chinaitlab.com/administer/381792.html
[2] 如何删除重复的行(sed或awk)
http://www.linuxsir.org/bbs/showthread.php?t=132848

转载自:http://www.91linux.com/html/article/shell/20090205/15636.html

查看Linux网卡驱动版本

# ethtool -i eth0
driver: e1000e
version: 0.3.3.3-k6
firmware-version: 5.7-6
bus-info: 0000:0c:00.0

linux下挂载其他硬盘上lvm分区方法

在Fedora 10里试图挂载另外一块硬盘,其中的一个分区是LVM2格式的,不能直接mount,方法记录如下,以备不时之需。

1.首先使用vgscan 扫描 lvm 结果如下

[root@localhost ~]# vgscan
Reading all physical volumes. This may take a while…
WARNING: Duplicate VG name VolGroup00: Existing bgKw70-NEBI-QY6s-RvqU-3a59-N8E1-ruOWwh (created here) takes precedence over 1WnXRG-M0t1-z1A6-rppv-lltN-oDQB-IDonTM
WARNING: Duplicate VG name VolGroup00: Existing bgKw70-NEBI-QY6s-RvqU-3a59-N8E1-ruOWwh (created here) takes precedence over 1WnXRG-M0t1-z1A6-rppv-lltN-oDQB-IDonTM
WARNING: Duplicate VG name VolGroup00: Existing 1WnXRG-M0t1-z1A6-rppv-lltN-oDQB-IDonTM (created here) takes precedence over bgKw70-NEBI-QY6s-RvqU-3a59-N8E1-ruOWwh
Found volume group “VolGroup00″ using metadata type lvm2
WARNING: Duplicate VG name VolGroup00: Existing bgKw70-NEBI-QY6s-RvqU-3a59-N8E1-ruOWwh (created here) takes precedence over 1WnXRG-M0t1-z1A6-rppv-lltN-oDQB-IDonTM
Found volume group “VolGroup00″ using metadata type lvm2

2.通过 vgdisplay VolGroup00 查看 lvm 的 VG UUID

[root@localhost ~]# vgdisplay VolGroup00
WARNING: Duplicate VG name VolGroup00: Existing bgKw70-NEBI-QY6s-RvqU-3a59-N8E1-ruOWwh (created here) takes precedence over 1WnXRG-M0t1-z1A6-rppv-lltN-oDQB-IDonTM
— Volume group —
VG Name               VolGroup00
System ID
Format                lvm2
Metadata Areas        1
Metadata Sequence No 3
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                2
Open LV               2
Max PV                0
Cur PV                1
Act PV                1
VG Size               129.31 GB
PE Size               32.00 MB
Total PE              4138
Alloc PE / Size       4137 / 129.28 GB
Free PE / Size       1 / 32.00 MB
VG UUID               bgKw70-NEBI-QY6s-RvqU-3a59-N8E1-ruOWwh

可以看出当前操作系统使用的VolGroup00的 VG UUID 是 bgKw70-NEBI-QY6s-RvqU-3a59-N8E1-ruOWwh
说明 1WnXRG-M0t1-z1A6-rppv-lltN-oDQB-IDonTM 这个VG UUID 是要另一块硬盘的lvm 分区

3.将第二块硬盘的VG的名字重命名

[root@localhost ~]# vgrename 1WnXRG-M0t1-z1A6-rppv-lltN-oDQB-IDonTM /dev/vg01
WARNING: Duplicate VG name VolGroup00: Existing bgKw70-NEBI-QY6s-RvqU-3a59-N8E1-ruOWwh (created here) takes precedence over 1WnXRG-M0t1-z1A6-rppv-lltN-oDQB-IDonTM
WARNING: Duplicate VG name VolGroup00: Existing bgKw70-NEBI-QY6s-RvqU-3a59-N8E1-ruOWwh (created here) takes precedence over 1WnXRG-M0t1-z1A6-rppv-lltN-oDQB-IDonTM
WARNING: Duplicate VG name VolGroup00: Existing 1WnXRG-M0t1-z1A6-rppv-lltN-oDQB-IDonTM (created here) takes precedence over bgKw70-NEBI-QY6s-RvqU-3a59-N8E1-ruOWwh
Volume group “VolGroup00″ successfully renamed to “vg01″

这个时候通过 vgdisplay 就可以看到 VG的信息了

[root@localhost ~]# vgdisplay
— Volume group —
VG Name               vg01
System ID
Format                lvm2
Metadata Areas        1
Metadata Sequence No 4
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                2
Open LV               0
Max PV                0
Cur PV                1
Act PV                1
VG Size               34.50 GB
PE Size               32.00 MB
Total PE              1104
Alloc PE / Size       1103 / 34.47 GB
Free PE / Size       1 / 32.00 MB
VG UUID               1WnXRG-M0t1-z1A6-rppv-lltN-oDQB-IDonTM

— Volume group —
VG Name               VolGroup00
System ID
Format                lvm2
Metadata Areas        1
Metadata Sequence No 3
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                2
Open LV               2
Max PV                0
Cur PV                1
Act PV                1
VG Size               129.31 GB
PE Size               32.00 MB
Total PE              4138
Alloc PE / Size       4137 / 129.28 GB
Free PE / Size       1 / 32.00 MB
VG UUID               bgKw70-NEBI-QY6s-RvqU-3a59-N8E1-ruOWwh

4.激活VG

VG重命名后,默认是非ACTIVE状态,我们要通过以下方式激活VG

[root@localhost ~]# lvscan
inactive          ‘/dev/vg01/LogVol00′ [31.50 GB] inherit
inactive          ‘/dev/vg01/LogVol01′ [2.97 GB] inherit
ACTIVE            ‘/dev/VolGroup00/LogVol00′ [125.41 GB] inherit
ACTIVE            ‘/dev/VolGroup00/LogVol01′ [3.88 GB] inherit

激活 VG
[root@localhost ~]# vgchange -ay /dev/vg01
2 logical volume(s) in volume group “vg01″ now active

查看状态
[root@localhost ~]# lvscan
ACTIVE            ‘/dev/vg01/LogVol00′ [31.50 GB] inherit
ACTIVE            ‘/dev/vg01/LogVol01′ [2.97 GB] inherit
ACTIVE            ‘/dev/VolGroup00/LogVol00′ [125.41 GB] inherit
ACTIVE            ‘/dev/VolGroup00/LogVol01′ [3.88 GB] inherit
[root@localhost ~]# vgscan
Reading all physical volumes. This may take a while…
Found volume group “vg01″ using metadata type lvm2
Found volume group “VolGroup00″ using metadata type lvm2

到此为止,可以挂载系统了!

5.挂载lvm文件系统

[root@localhost mnt]# mount /dev/vg01 /mnt/sdb3

就可以访问了

源 : http://www.opensolution.org.cn/archives/431.html

Got error 28 from storage engine 解决方法

今天碰到数据库出错

Got error 28 from storage engine

查了一下,数据库文件所在的盘应该没事,应该是数据库用的临时目录空间不够

引用
磁盘临时空间不够导致。
解决办法:
清空/tmp目录,或者修改my.cnf中的tmpdir参数,指向具有足够空间目录

上面的说法应该比较清楚,还有一个类似的:

引用
mysql报以下错的解决方法

ERROR 1030 (HY000): Got error 28 from storage engine

出现此问题的原因:临时空间不够,无法执行此SQL语句

解决方法:将tmpdir指向一个硬盘空间很大的目录即可

原创内容如转载请注明:来自 阿权的书房
本帖地址:http://www.aslibra.com/blog/read.php/794.htm

2025年十一月
« 5月    
 12
3456789
10111213141516
17181920212223
24252627282930