LinuxÄÚºËÉ豸ģÐÍ(4)
ÒëÕߣº¹ùÉÙ±¯
2009/12/02
ÔÎÄ£ºlinux/Documentation/driver-model/class.txt
É豸Àà
½éÉÜ
~~~~
Ò»¸öÉ豸ÀàÃèÊöÁËÒ»ÀàµÄÉ豸£¬ÀýÈçÓïÒôÉ豸»òÕßÍøÂçÉ豸¡£ÏÂÃæÊÇÒѶ¨ÒåµÄÉ豸Àà:
<Insert List of Device Classes Here>
ÿ¸öÉ豸ÀඨÒåÁËÒ»Ì×Óï·¨ºÍÉ豸×ñѵıà³Ì½Ó¿Ú¡£É豸Çý¶¯¾ÍÊÇÎªÌØ¶¨×ÜÏßÉϵÄ
ÌØ¶¨É豸¶øÍê³ÉµÄÕâÌ×±à³Ì½Ó¿ÚʵÏÖ¡£
¶ÔÓÚÒ»¸öÉ豸פ×ãÔÚÄĸö×ÜÏßÉÏ£¬É豸ÀàÊDz»¿ÉÖªµÄ¡£
±à³Ì½Ó¿Ú
~~~~~~~~
É豸ÀàµÄÊý¾Ý½á¹¹ÈçÏ£º
typedef int (*devclass_add)(struct device *);
typedef void (*devclass_remove)(struct device *);
struct device_class {
char * name;
rwlock_t lock;
u32 devnum;
struct list_head node;
struct list_head drivers;
struct list_head intf_list;
struct driver_dir_entry dir;
struct driver_dir_entry device_dir;
struct driver_dir_entry driver_dir;
devclass_add add_device;
devclass_remove remove_device;
};
Ò»¸öµäÐ͵ÄÉ豸ÀàÀàËÆÈç϶¨Ò壺
struct device_class input_devclass = {
.name = "input",
.add_device = input_add_device,
.remove_device = input_remove_device,
};
ÿ¸öÉ豸ÀàÊý¾Ý½á¹¹·ÅÔÚÒ»¸öÍ·ÎļþÀïµ¼³ö£¬Òò´ËËüÄܹ»±»Çý¶¯£¬À©Õ¹³ÌÐòºÍ½Ó¿Ú
ʹÓá£
ÄÚºËÀïÉ豸ÀàµÄ×¢²áºÍ×¢Ïúº¯Êý½Ó¿ÚÈçÏÂËùʾ£º
int devclass_register(struct device_class * cls);
void devclass_unregister(struct device_class * cls);
É豸
~~~~
µ±É豸°ó¶¨µ½Çý¶¯ÉÏ£¬Ëü¾Í»á±»Ìí¼Ó
Ïà¹ØÎĵµ£º
³£¼ûµÄÎÞÏß¼ÓÃÜ·½Ê½ÓÐwepºÍwpaÁ½´óÀà¡£
1.WEP¼ÓÃÜ·½Ê½
ÕâÖÖ·½Ê½¼ÓÃܵÄÎÞÏ߿ͻ§¶Ë¿ÉÖ±½ÓÓÃwireless-toolsÍê³ÉÎÞÏßÁ¬½ÓµÄ½¨Á¢¡£
ÈÝÒ×±»ºöÂÔµÄÒªµãÊÇÔÚÄÚºËÖÐÑ¡ÖÐieee80211_crypt_wepºÍieee80211_crypt£¬µ±È»»ù´¡µÄÎÞÏßÇý¶¯»¹ÊǵÃÔ¤ÏÈ×°ºÃ¡£
È»ºóÓÃ
iwconfig wlan0 essid "ÎÞÏßessid" channel <Ê ......
ά»¤LinuxµÄssh¹¤¾ßÔÚʹÓÃÖУ¬Ò»µ©Óöµ½ÍøÂçÖжϣ¬Ôòµ±Ç°µÄshell¾Í»á×Ô¶¯¹Ø±Õ
µ±Ç°µÄ¹¤×÷½ø¶È¾Í»á¶ªÊ§£¬Õâ¶ÔÓÚÔ¶³ÌÉý¼¶µÈ±È½ÏºÄ·Ñʱ¼äµÄ¹¤×÷ÊǷdz£²»ÀûµÄ
¶ÔÓÚÔ¶³Ìµ÷ÊÊ´úÂëÒ²ÊǺܲ»¿É¿¿²»°²È«µÄ
Ϊ´Ë£¬¿ÉÒÔʹÓÃscreenÕâ¸ö¹¤¾ßÀ´½â¾öÕâ¸öÎÊÌâ¡£
¶ÔÓÚ×îС»¯µÄlinux£¬Í¨³£screenÊDz»°üº¬ÔÚϵͳÄڵġ£
ÐèÒª²éÕÒ²Ù×÷ϵͳµÄ°² ......
ʹÓÃlinux¶¯Ì¬Á´½Ó¿â£º
ÔÚUnixÉÏ´æÔÚÁ½Öֿ⣺¶¯Ì¬¿â£¨.so£©ºÍ¾²Ì¬¿â£¨.a£©£¬²ÉÓö¯Ì¬¿â£¨¹²Ïí¶ÔÏ󣩼¼Êõ¿ÉÒÔ·½±ã³ÌÐò¼ä¹²Ïí£¬½ÚÊ¡³ÌÐòÕ¼Óпռ䣬Ôö¼Ó³ÌÐòµÄ¿ÉÀ©Õ¹ÐÔºÍÁé»îÐÔ¡£
²Ù×÷¶¯Ì¬¿âµÄº¯ÊýÔÚdlfcn.hÎļþÖж¨Ò壬ËùÒÔÒªÔÚʹÓö¯Ì¬¿âʱinclude <dlfcn.h>
&n ......
[root@apache02 home]# rpm -q -a|grep http
httpd-2.0.52-25.ent
httpd-manual-2.0.52-25.ent
system-config-httpd-1.3.1-1
httpd-devel-2.0.52-25.ent
httpd-suexec-2.0.52-25.ent
#rpm -e httpd-2.0.52-25.ent
error: Failed dependencies:
httpd-mmn = 20020903 is ......
Ò»Ö±ÔÚ¹Ø×¢´óÐÍÎļþ´æ´¢ÏµÍ³µÄ×îнü¿ö£¬½üÈÕÓÖµÃÖªÒ»¸öÖØ°õÏûÏ¢£ºLinux kernel ×Ô 2.6.28 ¿ªÊ¼Õýʽ֧³ÖеÄÎļþϵͳ Ext4¡£ÕæÊÇÆÚ´ýÒѾÃÁ˰¡~Ext4 ÊÇ Ext3 µÄ¸Ä½ø°æ£¬ÐÞ¸ÄÁË Ext3 Öв¿·ÖÖØÒªµÄÊý¾Ý½á¹¹£¬¶ø²»½ö½öÏñ Ext3 ¶Ô Ext2 ÄÇÑù£¬Ö»ÊÇÔö¼ÓÁËÒ»¸öÈÕÖ¾¹¦ÄܶøÒÑ¡£Ext4 ¿ÉÒÔÌṩ¸ü¼ÑµÄÐÔÄܺͿɿ¿ÐÔ£¬»¹ÓиüΪ·á¸»µÄ¹¦ÄÜ£ ......