当前位置:  建站>运营/SEO
本页文章导读:
    ▪内核编译及模块相关命令使用              本文讲解了怎样进行内核编译及模块相关命令的使用方法。 一 Linux内核相关信息 #查看Linux系统 [root@serv01 ~]# uname Linux #查看所有信息 [root@serv01 ~]# uname -a .........
    ▪XDoclet的使用攻略              XDoclet是一个通用的代码生成实用程序,是一个扩展的Javadoc Doclet引擎。它允许您 使用像JavaDoc标记之类的东西来向诸如类、方法和字段之类的语言特征添加元数据。随后,.........
    ▪tar.xz解压方法,格式介绍      ###########从cu论坛中复制的####################http://bbs.chinaunix.net/thread-3610738-1-1.html 现在很多找到的软件都是tar.xz的格式的,xz 是一个使用 LZMA压缩算法的无损数据压缩文件格式。 和gzip与bzi.........

[1]内核编译及模块相关命令使用
    来源: 互联网  发布时间: 2013-11-01

        本文讲解了怎样进行内核编译及模块相关命令的使用方法。


一 Linux内核相关信息

#查看Linux系统
[root@serv01 ~]# uname
Linux
#查看所有信息
[root@serv01 ~]# uname -a
Linux serv01.host.com2.6.32-131.0.15.el6.x86_64 #1 SMP Tue May 10 15:42:40
EDT 2011 x86_64 x86_64 x86_64 GNU/Linux
#内核信息
[root@serv01 ~]# uname -r
2.6.32-131.0.15.el6.x86_64
 
 
#/boot目录下
/boot
#驱动
initrd-2.6.32-131.0.15.el6.x86_64kdump.img
#内核
vmlinuz-2.6.32-131.0.15.el6.x86_64
 
#桌面版的内核存放位置
[root@larrywen boot]# cd/usr/src/kernels/2.6.32-131.0.15.el6.x86_64/
[root@larrywen 2.6.32-131.0.15.el6.x86_64]#ls
arch  crypto   firmware  include ipc     lib       Makefile.common  Module.symvers  samples security  System.map  usr
block drivers  fs        init    kernel  Makefile  mm               net             scripts  sound    tools       virt
 
#解压内核到/usr/src下
[root@serv01 ~]# tar -xvf linux-2.6.38.tar.gz-C /usr/src/
[root@serv01 ~]# cd /usr/src/linux-2.6.38/
[root@serv01 linux-2.6.38]# pwd
/usr/src/linux-2.6.38
 
#已经安装好的版本有配置文件
[root@larrywen ule-sa2]# cd/usr/src/kernels/2.6.32-131.0.15.el6.x86_64/
[root@larrywen 2.6.32-131.0.15.el6.x86_64]#ls .config
.config
 
#查看配置文件
[root@serv01 linux-2.6.38]# vim/boot/config-2.6.32-131.0.15.el6.x86_64
 
#源码不区分32位和64位
 
#查看make帮助
#需要在linux-2.6.38目录下
[root@serv01 linux-2.6.38]# make help
clean 清除,保留配置文件
mrproper 清除,不保留配置文件,更彻底
 
make menuconfig:图形界面
make xconfig:图形界面,需要安装QT
#<*>:制作成内核
#<M>:制作成模块

二 编译配置

[root@serv01 linux-2.6.38]# make menuconfig
 HOSTCC  scripts/basic/fixdep
 HOSTCC  scripts/basic/docproc
 HOSTCC  scripts/kconfig/conf.o
 HOSTCC scripts/kconfig/kxgettext.o
 ***Unable to find the ncurses libraries or the
 ***required header files.
 ***'make menuconfig' requires the ncurses libraries.
 ***
 ***Install ncurses (ncurses-devel) and try again.
 ***
make[1]: ***[scripts/kconfig/dochecklxdialog] Error 1
make: *** [menuconfig] Error 2
[root@serv01 linux-2.6.38]# yum install"ncurses-devel" -y
 
#OCFS:Oracle Class FileSystem
 
 
#配置后生成.config文件
[root@serv01 linux-2.6.38]# ls .config
[root@serv01 linux-2.6.38]# vim Makefile
 
[root@serv01 linux-2.6.38]# lsarch/x86/boot/ -d
arch/x86/boot/

三 编译

[root@serv01 linux-2.6.38]# make bzImage
Root device is (8, 2)
Setup is 14908 bytes (padded to 15360bytes).
System is 3704 kB
CRC 7521c374
Kernel: arch/x86/boot/bzImage is ready  (#1)

 

四 编译模块

[root@serv01 linux-2.6.38]# make modules

五 安装模块

[root@serv01 linux-2.6.38]# makemoudule_install
#make moudule_install拷贝到该目录
[root@serv01 linux-2.6.38]# ls/lib/modules/2.6.32-131.0.15.el6.x86_64/kernel/
 
[root@serv01 linux-2.6.38]# ls/lib/modules/2.6.38/kernel
#出现这个错误是因为交换分区过小
 
/bin/sh: line 1: 10010 Killed                  /sbin/depmod -ae -F System.map2.6.38
make: *** [_modinst_post] Error 137

六 安装

[root@serv01 linux-2.6.38]# make install
#可以比较下已有版本和编译的版本的不同,(编译版本:没选防火墙)
[root@serv01 linux-2.6.38]# ls/lib/modules/2.6.38/kernel/net/
802   9p   bluetooth  can  dccp          ieee802154  ipv6 llc       phonet  rfkill sctp    wimax     xfrm
8021q atm  bridge     core dns_resolver  ipv4        key  mac80211  rds     sched  sunrpc  wireless
[root@serv01 linux-2.6.38]# ls/lib/modules/2.6.32-131.0.15.el6.x86_64/kernel/net/
802   9p   bluetooth  can  dccp        ipv4  key mac80211   phonet  rfkill sctp    wimax     xfrm
8021q atm  bridge     core ieee802154  ipv6  llc netfilter  rds     sched  sunrpc  wireless
 
[root@serv01 linux-2.6.38]# ls /lib/modules/2.6.38/kernel/fs/ntfs/ntfs.ko
 
[root@serv01 linux-2.6.38]# ls/boot/grub/grub.conf
/boot/grub/grub.conf
[root@serv01 linux-2.6.38]# cat/boot/grub/grub.conf
# grub.conf generated by anaconda
# #
# # Note that you do not have to rerun grubafter making changes to this file
# # NOTICE: You have a /boot partition.  Thismeans that
# #         all kernel and initrd paths are relative to /boot/, eg.
# #         root (hd0,0)
# #         kernel /vmlinuz-version ro root=/dev/sda2
# #         initrd /initrd-[generic-]version.img
# #boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux(2.6.32-131.0.15.el6.x86_64)
       root(hd0,0)
             kernel/vmlinuz-2.6.32-131.0.15.el6.x86_64 ro
             root=UUID=110fab7c-85c4-4bae-9114-98bc2ada24d8rd_NO_LUKS
             rd_NO_LVM rd_NO_MD rd_NO_DMLANG=en_US.UTF-8
             SYSFONT=latarcyrheb-sun16KEYBOARDTYPE=pc KEYTABLE=us
             crashkernel=auto rhgb quiet
                    initrd/initramfs-2.6.32-131.0.15.el6.x86_64.img
 
[root@serv01 linux-2.6.38]# cat/boot/grub/grub.conf
#/boot目录下新生成的文件
 
initramfs-2.6.38.img
vmlinuz-2.6.38
 
#会在这个文件中新加一个内核信息
[root@serv01 linux-2.6.38]# cat/boot/grub/grub.conf
 
#出现错误一般是交换分区过小,我们可以增加交换分区。如何增加交换分区,请参考此文:系统运维技巧(三)——利用dd命令增加交换分区

七 模块相关命令使用

#查看当前系统加载的模块
[root@serv01 linux-2.6.38]# lsmod
#手工加载模块
[root@serv01 linux-2.6.38]# cd/lib/modules/2.6.38
[root@serv01 linux-2.6.38]# cd kernel/ns
[root@serv01 linux-2.6.38]# insmod/lib/modules/2.6.38/kernel/fs/fat/fat.ko
[root@serv01 linux-2.6.38]# lsmod |grep fat
[root@serv01 linux-2.6.38]# insmod/lib/modules/2.6.38/kernel/fs/fat/vfat.ko
[root@serv01 linux-2.6.38]# lsmod |grep fat
#卸载模块,可以跟模块名,也可以跟全路径
[root@serv01 linux-2.6.38]# rmmod fat
ERROR:Module fat is in use by vfat
[root@serv01 linux-2.6.38]# rmmod vfat
[root@serv01 linux-2.6.38]# lsmod |grep fat
#模块之间有依赖,先加这个不能加上
[root@serv01 linux-2.6.38]# insmod/lib/modules/2.6.38/kernel/fs/fat/vfat.ko
 
#自动处理依赖关系,不需要加全路径
[root@serv01 linux-2.6.38]# modprobe vfat
[root@serv01 linux-2.6.38]# lsmod |grep fat
 
#-r参数,表示remove
[root@serv01 linux-2.6.38]# modprobe -r fat
[root@serv01 linux-2.6.38]# modprobe -rvfat
 
#记录模块依赖
[root@serv01 linux-2.6.38]# vim/lib/modules/2.6.32-131.0.15.el6.x86_64/modules.dep
 
[root@larrywen pdf]# pwd
/opt/soft/ule-sa2/pdf
[root@larrywen pdf]# ls ule-kerenl.pdf
ule-kerenl.pdf
[root@larrywen pdf]# ls ule-module.pdf
ule-module.pdf
 
#查看模块信息
[root@serv01 linux-2.6.38]# modinfo vfat
filename:      /lib/modules/2.6.32-131.0.15.el6.x86_64/kernel/fs/fat/vfat.ko
author:         Gordon Chaffee
description:    VFAT filesystem support
license:        GPL
srcversion:     ACCC2F7E9526F402F526976
depends:        fat
vermagic:       2.6.32-131.0.15.el6.x86_64 SMPmod_unload modversions



  我的邮箱:wgbno27@163.com
  新浪微博:@Wentasy27         
  微信公众平台:JustOracle(微信号:justoracle)
  数据库技术交流群:336882565(加群时验证 From CSDN XXX)
  Oracle交流讨论组:https://groups.google.com/d/forum/justoracle
  By Larry Wen



    
[2]XDoclet的使用攻略
    来源: 互联网  发布时间: 2013-11-01

        XDoclet是一个通用的代码生成实用程序,是一个扩展的Javadoc Doclet引擎。它允许您 使用像JavaDoc标记之类的东西来向诸如类、方法和字段之类的语言特征添加元数据。随后,它利用这些额外的元数据来生成诸如部署描述符和源代码之类的相关文件。

        XDoclet继承了JavaDoc引擎的思想,允许根据定制JavaDoc标记生成代码和其它文件。当然,XDoclet也可以访问整个解析树,这样,它就可以访问类、类的包结构和类的方法。开放源代码的XDoclet代码生成引擎,是许多先进的Java框架不可缺少的组成部分,常常被用作面向属性编程和持续集成的引擎。XDoclet能够很容易成为您的Java编程工具箱中的一个更加通用的跨技术代码生成工具。

        上面提到了面向属性编程(Attribute-Oriented Programming),之前还提到了面向切面的编程(Aspect-Oriented Programming),二者的缩写都是AOP。但二者是不相等的。关于面向属性编程,不论你找度娘还是谷哥,几乎找不到中文资料,就是Attribute-Oriented Programming!=Aspect-Oriented Programming也是搜到了一个英文的资料才知道的。

        而全英文的一本书讲解Attribute-Oriented Programming我搜到了一本书,是2010年的,可见我们所了解到的知识是多么的落后,在此,也呼吁大家好好学习英语,英语太重要了!!!

        关于XDoclet的学习,我只是通过使用XDoclet生成Hibernate映射和配置文件找了一下规律。

        XDoclet使用起来其实不难,我通过下面例子来大概总结一下:

<?xml version="1.0" encoding="GBK"?>
<project name="OA系统构建脚本" default="生成Hibernate配置文件" basedir=".">
	
<!-- 定义一些变量来保存路径路径 -->
   	<property name="src.dir" value="${basedir}/src"/>
   	<property name="build.dir" value="${basedir}/bin"/>
	<property name="webapp.dir" value="${basedir}/src/webapp"/>
	<property name="xdoclet.home" value="D:/xdoclet-plugins-1.0.3"/>

   	<!-- 引用xdoclet的包 -->
   	<path id="xdoclet.task.classpath">
      	<fileset dir="${xdoclet.home}/lib">
         	<include name="**/*.jar"/>
      	</fileset>
      	<fileset dir="${xdoclet.home}/plugins">
         	<include name="**/*.jar"/>
      	</fileset>
   	</path>
	<taskdef name="xdoclet" classname="org.xdoclet.ant.XDocletTask" classpathref=/blog_article/"xdoclet.task.classpath"/>/index.html
	
	<target name="生成Hibernate配置文件">
		<xdoclet>
			<!-- 指定路径 -->
			<fileset dir="${src.dir}/com/jianxin/oa/model">
				<include name="**/*.java"/>
			</fileset>
			<!-- 指定工具类,并配置配置文件都要生成什么 -->			
			<component
				classname="org.xdoclet.plugin.hibernate.HibernateConfigPlugin"
				destdir="${src.dir}"
				version="3.0"
				hbm2ddlauto="update"
				jdbcurl="jdbc:mysql://localhost:3306/oa"
				jdbcdriver="com.mysql.jdbc.Driver"
				jdbcusername="root"
				jdbcpassword="admin"
				dialect="org.hibernate.dialect.MySQLDialect"
				showsql="true"
			/>
		</xdoclet>
	</target>
	<target name="生成hibernate映射文件">
		<xdoclet>
			<!-- 指定路径 -->
			<fileset dir="${src.dir}/com/jianxin/oa/model">
				<include name="**/*.java"/>
			</fileset>
			<!-- 指定工具类 -->
			<component 
				classname="org.xdoclet.plugin.hibernate.HibernateMappingPlugin"
				version="3.0"
				destdir="${src.dir}"
			/>
		</xdoclet>
	</target>
</project>

        在配置的过程中,可以看下官网给的文档,对component中都需要配置什么都进行了说明。那么现在就来看一下实体类要怎么样编写,才能够通过XDoclet生成配置文件。

        要想生成Hibernate的映射文件,那么映射文件中应该有的东西,在写JavaDoc的时候,是都需要写进去的,而且很相似。

        通过一个简单的例子来看吧:

实体类文件:

/**
 * 公文
 * @hibernate.class table="t_document"
 *
 */
public class Document {	
	/**
	 * @hibernate.id generator-class="native"
	 */
	private int id;
	/**
	 * 标题
	 * @hibernate.property
	 */
	private String title;	
	/**
	 * 创建者
	 * @hibernate.many-to-one column="userId"
	 */
	private User creator;	
}

生成的映射文件:

<hibernate-mapping>
  <class table="t_document" name="com.jianxin.oa.model.Document">
    <id name="id">
      <generator class="native"/>
    </id>
    <property name="title"/>    
    <many-to-one column="userId" name="creator"/>    
  </class>
</hibernate-mapping>

        通过对比编写的类和生成的配置文件,不难发现:

        1、name不指定,就是使用的变量名

        2、@hibernate.标签 属性=“值”,生成的配置文件是<标签  属性=“值”>

        3、当有多个属性时,只需要用空格分开即可

        这样,就不用再多学习一个东西了,我们如果熟悉了hibernate的映射文件的编写,那么你在知道了这个规律后,轻轻松松的就可以熟悉XDoclet的JavaDoc的编写。

        现在再来看使用XDoclet的好处,它减少了我们的工作量了么?

        我觉得没有,有些人甚至还会说它在某方面还增加了我们的工作量,因为在有些地方,它和hibernate中的对应还是有不一致的地方,我们不得不用时间去查。

        但是它的出现,使得你不需要再在类和配置文件之间切换,只需要通过类的编写,然后就可以写成类和配置文件的一致性。

        对于XDoclet的使用,应该就像使用资源管理器创建表和使用脚本创建表的区别是一样一样的:

        不论使用哪种方式,表名、列名、类型这些都需要写,但使用脚本时,不需要一起移动鼠标、不需要找东西,因为成竹在胸,所以会提高效率。如果你不会使用脚本,那么资源管理器是你的好选择。

        而手动写映射文件和使用XDoclet不也是这样么?

        标签、

    
[3]tar.xz解压方法,格式介绍
    来源: 互联网  发布时间: 2013-11-01

###########从cu论坛中复制的####################http://bbs.chinaunix.net/thread-3610738-1-1.html

现在很多找到的软件都是tar.xz的格式的,xz 是一个使用 LZMA压缩算法的无损数据压缩文件格式。 和gzip与bzip2一样,同样支持多文件压缩,但是约定不能将多于一个的目标文件压缩进同一个档案文件。 相反,xz通常作为一种归档文件自身的压缩格式,例如使用tar或cpioUnix程序创建的归档。 xz 在GNU coreutils(版本 7.1 或更新) 中被使用。 xz 作为压缩软件包被收录在 Fedora (自Fedora 12起) , Arch Linux , FreeBSD、 Slackware Linux、CRUX 和 Funtoo中。



xz utils 是 lzma utils 的下一代lzma utils 改名 xz utils。
压缩时 xz utils 耗时比 bzip2 长一倍,
压缩时 xz utils 耗时是 lzma utils 一半,
压缩时 xz utils 生成文件体积是 bzip2 的一半,
压缩时 xz utils 生成文件体积比 lzma utils 略大,
解压时 xz utils 耗时是 bzip2 的三分之一,
解压时 xz utils 速度比 lzma utils 略快,
解压时 xz utils 耗时仅比 gzip 多一倍。
压缩时 xz utils 使用 *.xz 格式 生成文件 比 *.lzma 格式 略大,
测试样本较小,多次测试结果有出入,无法判断 xz utils 使用 *.xz 与 *.lzma 格式 压缩与解压时间 谁占优势。


到目前为止,lzma utils 的压缩率仍是最大的,xz utils 解压时间占优势。
一个 xz 文件格式的实现XZ 实用程序已可在网上自由获得。GNU tar自版本1.22起使用这一软件透明支持xz文件格式(就如同其处理gzip格式或者bzip2格式一样)。  随着大量软件进入了公有领域(例如 liblzma等) 程序的4.999.9beta版本实现在GNU LGPL 和 GNU GPL条款下发布。


7-Zip在9.04 beta版支持了xz文件格式。 


首先到[url]http://download.chinaunix.net/download/0014000/13078.shtml[/url]


页面下载xz-5.0.3.tar.bz2解压工具,然后编译安装
tar -xf xz-5.0.3.tar
cd xz-5.0.3
./configure
make
make install

#######################复制结束##################################
解压方法一: 这样就可以用xz命令来解压tar.xz格式文件,
xz -d linux-3.1-rc4.tar.xz    #会生成tar文件
tar -xf linux-3.1-rc4.tar    #解压tar文件

这里是下载了linux的内核源码,可以明显的看到tar.xz只有几十M大小,而解压后是几百兆的,这个确实压缩比率很高的。

解压方法二:

tar -xvJf *.tar.xz

看博客:http://blog.csdn.net/jk110333/article/details/7545523

作者:jk110333 发表于2013-8-6 10:05:23 原文链接
阅读:52 评论:0 查看评论

    
最新技术文章:
▪SQVI和SAP查询QUERY的区别和使用注意事项    ▪彻底理解Cisco/Linux/Windows的IP路由    ▪Exchange 2010 处于禁止发送用户自动收到来自IT...
▪MB_CHANGE_DOCUMENT使用方法    ▪ALV的html表头    ▪【译】如何精确判断最终用户响应时间过长的...
▪apache2.4.4启用deflate压缩    ▪使用vmware 配置centos 6.0+ 网络出现的各种问题...    ▪十句话教你学会Linux数据流重定向
▪centos6.x已经安装的系统添加图形界面    ▪Linux查看CPU和内存使用情况    ▪win7问题解决,凭据管理器和无法访问,不允...
▪Dynamics CRM 2013 初体验(4):不再被支持的功...    ▪win7下制作ubuntu系统安装启动盘和U盘安装ubuntu...    ▪Linux cp -a用法
▪Windows Server时间服务器配置方法    ▪Tomcat+memcached实现Session共享    ▪Linux修改系统环境变量PATH路径的方法
▪Citrix 服务器虚拟化之二十七 XenApp6.5发布服务...    ▪搭建本地Ubuntu 镜像服务器    ▪Create local metadata resource of yum
▪tsm ANS0326E问题处理    ▪Windows SVN变化邮件通知(Python2.7实现)    ▪linux下的内核测试工具——perf使用简介
▪web集群时session同步的几种方法(统计)    ▪inux常用命令大全    ▪BAT 批处理实现循环备份N天文件夹 iis7站长之家
▪Manually start and stop Oracle XE in Ubuntu    ▪Disable autostart of Oracle-xe in Ubuntu    ▪tar命令-linux
▪xtrabackup-2.1.2-611安装    ▪无废话ubuntu 13.4文件共享配置    ▪Unix文本处理工具之sed
▪hpux 操作系统 磁带备份与恢复    ▪HP DL360 G7通过iLO部署系统    ▪Redhat 6.0中VNC Server的配置方法
▪hpux 操作系统磁带备份与恢复    ▪用C++编程调用libvirt的API来创建KVM虚拟机    ▪hpux- hp小型机日常硬件故障处理case(一)
▪web集群时session同步的几种方法(统计)    ▪inux常用命令大全    ▪BAT 批处理实现循环备份N天文件夹
▪BIND9私有DNS服务器小环境搭建实验    ▪Exchange2013增量备份    ▪OSSEC Monitor your App log file
▪《深入理解Nginx》阅读与实践(三):使用upstre...    ▪如何给Fedora 15创建磁盘分区    ▪Packet Sniffer Code in C using sockets
▪Error, some other host already uses address    ▪修改uCOS_II以实现“优先级+时间片”联合调度    ▪weblogic开发模式与生产模式介绍
▪Wireshark 高级特性    ▪ubuntu13.04版本下安装RabbitVCS,类似windows的Tortoi...    ▪Apache 一台主机绑定多个域名及虚拟主机
▪linux安全设置    ▪RHEL双网卡绑定    ▪Linux shell if参数
▪Windows配置路由时可以指定源地址啦    ▪centos安装vim7.4    ▪S3C2410 实验三——块拷贝、字拷贝(寄存器的...
▪系统运维——日志处理    ▪ip_conntrack缓存neighbour    ▪关键在封装并发出了帧-IP冲突也无所谓
▪weblogic11g 安装——linux 无图形界面    ▪《数据通信与网络》笔记--SCTP    ▪《数据通信与网络》笔记--TCP中的拥塞控制
▪weblogic11g 安装集群 —— win2003 系统、单台主...    ▪weblogic11g 节点管理器 nodemanager    ▪Citrix 服务器虚拟化之二十六 应用程序虚拟化...
▪如何将windows下的文件夹挂载到linux虚拟机下    ▪在64位AIX6.1下安装SAP JCo    ▪Outlook启动时提示“找不到文件Outlook.pst文件”...
▪weblogic8.1 登陆5 ip 限制    ▪weblogic 内存 及 内存溢出    ▪手把手教你在Windows端搭建Redmine项目管理软件
▪启动及重新启动nginx,重启nginx后丢失nginx.pid问...    ▪Win7实现快速启动栏并实现靠左边的终极操作...    ▪《深入理解Nginx》阅读与实践(二):配置项...
▪显示grub引导菜单    ▪nagios监控主机    ▪linux各种数据流重定向
▪centOS安装chrome浏览器    ▪Slackware 14 安装完全指南    ▪SharePoint 2013的100个新功能之内容管理(三)
▪Citrix 服务器虚拟化之二十一 桌面虚拟化之部...    ▪[问,ask]ubuntu13.04安装vncserver后只显示桌面,不显...    ▪Win7中IIS出现“HTTP 错误 404.17 - Not Found 请求的...
▪CentOS快速安装最新版本的SaltStack    ▪CentOS 6.4 快速安装Nginx笔记    ▪磁盘管理——RAID 0
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3