Linux操作系统下动态库的生成及链接方法
Linux下动态库文件的扩展名为".so"(Shared Object)。按照约定,所有动态库文件名的形式是libname.so(可能在名字中加入版本号)。这样,线程函数库被称作libthread.so。静态库的文件名形式是libname.a。共享archive的文件名形式是libname.sa。共享archive只是一种过渡形式,帮助人们从静态库转变到动态库。 本文仅以简单的例子介绍动态库文件的生成和链接方法。 操作系统:Debian/GNU Linux 2.6.21-2-686; GCC版本:4.1...
Linux操作系统下如何查看网卡当前版本
在linux下网卡的驱动是以模块的形式添加上去的,因此可以直接用lsmod看到当前加载的模块,也就是可以看出网卡驱动又没有加载上,但是这里只能看到网卡模块名字,其他信息是没有的,比如当前网卡驱动的版本号。目前IBM服务器主要的网卡为intel和broadcom芯片的网卡 以broadcom为例 操作系统为redhat as 3 update 2 x205测试 通常,linux系统启动的时候当加载网卡的时候,会产生一条日志信息写道/var/log/messages 或者dmesg里面,这里面就有比较详细的...
Linux系统下如何挂载Windows分区和U盘
如机子同时装了Windows和Linux操作系统,通常情况下Linux对Windows的分区格式是不支持的。而我们个人用户用的最多的往往还是Windows系统,在学习中免不了要在两个系统之间交换文件。幸好Linux系统提供了mount命令可用于挂载Windows下的分区。为此我们可通过此命令来在Linux下挂载Windows的分区来实现两个系统之间的文件交换。(提示,目前的Linux的系统好像对NTFS分区格式的支持不是太好,所以最好用FAT32的分区格式。本例以FAT32格式为例) 1.以root用户...
实用技巧一则 Linux系统对文件进行加锁
当有多个工作线程要同时对一个文件进行写操作时,如果不对该文件进行加锁就可能会因误操作而引起一系列的问题。 解决这个问题有多种方法。我们这里考虑使用文件锁来对文件进行保护,因为这个方法简单易行。具体方法是使用Flock函数进行加锁: 使用LOCK_EX是对文件描述符fd进行加锁,如果成功,返回0,表示该文件还没有被加锁,可以对其进行写操作。如果失败返回-1,表示该文件已经被加锁,正在被使用,故要等到其解锁后才能使用。 LOCK_NB表示非阻塞。加锁后对该文件的具体写操作如下: 这是在文件处理完后,对文件进行...
疯狂DIY Ubuntu Linux系统是怎样练成的
二十一世纪到了,每个人都强调自己的个性,于是一种叫做DIY的东西悄然兴起。 操作系统作为全人类智慧的结晶,自然DIY起来难度极大,因而DIY出一个操作系统成就感绝对比买宜家的东西的成就感大。 为了不至于从头开始编写一个操作系统,我们当然把采用现成的操作系统作为一个底线。 当然,我们可以通过LFS让我们爽到底,但是,能够做到LFS的人可真的是凤毛麟角。而且更重要的是LFS简直在挑战我的忍耐程度。 我的这篇文章,教大家如何DIY一个自己的ubuntu发行版。在非常节省时间的情况下,达到耍酷的目的。 就好比L...
Linux操作系统开机自行启动项目详细解析
由于操作系统正在变得越来越复杂,所以开机引导和关机下电的过程也越来越智能化。从简单的DOS系统转移到 Windows NT系统,人们已经亲身感受到了这些变化——这已不仅仅是核心操作系统的启动引导和关闭了,还包括必须要同时启动或者关闭相当数量的服务项目。类似于 Windows NT,Linux系统启动过程需要打开的服务项目也是数量极大的。 这里,我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机...
Linux操作系统中的文件管理技巧
Linux为每个文件都分配了一个文件所有者,称为文件主,并赋予文件主惟一的注册名。对文件的控制取决于文件主或超级用户(root)。 文件或目录的创建者对所创建的文件或目录拥有特别使用权,文件的所有关系是可以改变的,您可以将文件或目录的所有权转让给其他用户,但只有文件主或root才有权改变文件的所有关系。 用户可以是用户名或用户ID。文件是以空格分开的要改变权限的文件列表,可以用通配符表示文件名。如果改变了文件或目录的所有权,原文件主将不再拥有该文件或目录的权限。系统管理员经常使用chown命令,在将文件...
Redhat Linux系统下关于磁盘配额的设置
Redhat下磁盘配额设置 配额可以使各个用户和组无法占用分区的全部空间。 可以通过限定inode数而配置配额,每个inode与特定文件相关联;也可以设置绝对极限(KB数)。 默认情况下,readhat会安装和激活quota rpm包。如果不能确定,可以运行命令:rpm -q quota。 配额通常在内核中激活。 要对特定的用户使用配额,需要六个步骤: 1.修改/etc/fstab,对所选文件系统激活配额选项; 2.重新装载文件系统,使改变生效; 3.在该文件系统开头建立aquota.user文件。 4...
Linux系统磁盘存储区管理原理技巧详解
原理篇 1. 交换空间是什么 Linux 中的 交换空间(Swap space) 在物理内存(RAM)被充满时被使用。如果系统需要更多的内存资源,而物理内存已经充满,内存中不活跃的页就会被移到交换空间去。 虽然交换空间可以为带有少量内存的机器提供帮助,但是这种方法不应该被当做是对内存的取代。交换空间位于硬盘驱动器上,它比进入物理内存要慢。 交换空间可以是一个专用的交换分区(推荐的方法),交换文件,或两者的组合。 交换空间的总大小应该相当于你的计算机内存的两倍和 32 MB这两个值中较大的一个,但是它不能...
Linux操作系统下VMware的端口映射
主机环境是UBUNTU 7.4 VMware Workstation 6.0.0 build-45731vmware使用NAT是通过vmnet8来是实现,找到这个文件打开/etc/vmware/vmnet8/nat/nat.conf # be up to 100% longer timeout = 60 [incomingtcp] # Use these with care - anyone can enter into your VM through these…… # FTP (both activ...
关于Linux静态库和动态库的分析
基本概念 库有动态与静态两种,动态通常用.so为后缀,静态用.a为后缀。 例如:libhello.so libhello.a 为了在同一系统中使用不同版本的库,可以在库文件名后加上版本号为后缀,例如: libhello.so.1.0,由于程序连接默认以.so为文件后缀名。所以为了使用这些库,通常使用建立符号连接的方式。 ln -s libhello.so.1.0 libhello.so.1 ln -s libhello.so.1 libhello.so 1、使用库 当要使用静态的程序库时,连接器会找出程...
修改VMware虚拟机网卡MAC地址的方法总结
修改MAC地址有两种方法: 一、修改vmx配置文件 修改vmx配置文件的两种方法 1.用文本工具(比如记事本或vi)打开vmx配置文件,然后修改一下几行: ethernet0.generatedAddress = "00:0c:29:1c:35:cc" uuid.bios = "56 4d e0 c4 a2 41 24 1b-5b 6e 4b a0 0b 1c:35:cc" 注释: 其中 00:0c:29: 不能够修改 1c:35:cc可以修改 2、一种是: 首先用文本工具(比如记事本或vi)打开vmx...