??xml version="1.0" encoding="utf-8" standalone="yes"?>久久婷婷人人澡人人爽人人爱,国产欧美一区二区久久,亚洲中文字幕无码久久2020http://www.shnenglu.com/flylonglong/zh-cnWed, 07 May 2025 18:22:57 GMTWed, 07 May 2025 18:22:57 GMT60一个困C(jin)一天的问题(l于解决?http://www.shnenglu.com/flylonglong/archive/2007/10/17/34487.html谢龙?/dc:creator>谢龙?/author>Wed, 17 Oct 2007 13:06:00 GMThttp://www.shnenglu.com/flylonglong/archive/2007/10/17/34487.htmlhttp://www.shnenglu.com/flylonglong/comments/34487.htmlhttp://www.shnenglu.com/flylonglong/archive/2007/10/17/34487.html#Feedback0http://www.shnenglu.com/flylonglong/comments/commentRss/34487.htmlhttp://www.shnenglu.com/flylonglong/services/trackbacks/34487.html阅读全文

]]>
“实际用户ID”、“有效用户ID”和“保存的讄用户ID”三个术语的区别http://www.shnenglu.com/flylonglong/archive/2007/10/15/34300.html谢龙?/dc:creator>谢龙?/author>Mon, 15 Oct 2007 15:05:00 GMThttp://www.shnenglu.com/flylonglong/archive/2007/10/15/34300.htmlhttp://www.shnenglu.com/flylonglong/comments/34300.htmlhttp://www.shnenglu.com/flylonglong/archive/2007/10/15/34300.html#Feedback0http://www.shnenglu.com/flylonglong/comments/commentRss/34300.htmlhttp://www.shnenglu.com/flylonglong/services/trackbacks/34300.html一个进E的 effective user ID 是指此进E目前实际有效的用户 IDQ也是权限的大)(j)Qeffective user ID 主要用来校验权限时用,比如打开文g、创建文件、修Ҏ(gu)件、kill 别的q程Q等{?
如果一个进E是?nbsp;root w䆾来运行的Q那么上面这两个 ID 可以?nbsp;setuid/seteuid 随便修改Q想怎么改就怎么改,Ҏ(gu)改去都可以?
但是如果一个进E是以普通用戯n份来q行的,那么上面q两?nbsp;ID 一般来说是相同的,q且也不能随便修攏V只有一U情况例外:(x)此进E的可执行文件的权限标记中,讄?#8220;讄用户 ID”位!
在命令行中,讄一个可执行文g?#8220;讄用户 ID”位的最单的Ҏ(gu)Q就是用
chmod +s /path/to/file

q个命o(h)?
一旦用?jin)这个命令之后,再执行这个文Ӟ?
那么生成的进E的 effective user ID 变成了(jin)q个可执行文件的 owner user IDQ属ȝ?nbsp;IDQ,
?nbsp;real user ID 仍然是启动这个程序时所用的用户?nbsp;ID?
打个比方来说Q如果有q样的一个文Ӟ(x)
引用Q?em>-rw[color=red]s[/color]r-[color=red]s[/color]r-x 1 susesuse susesuse 7902 2006-08-31 13:22 tuid

注意q个文g已经?nbsp;chmod +s 命o(h)讄q?#8220;讄用户 ID”位了(jin)?
然后我用 flw q个用户来执行它Q那么生成的q程它的 real user ID 是 flwQ因为我是用 flw q行的)(j)Q但?nbsp;effective user ID 变成了(jin) susesuseQ因个可执行文g被设|了(jin)“讄用户 ID”位,q且它的 owner user ID ?nbsp;susesuseQ?
q时Q这个进E实际上有两个用户权限?jin)。只不过目前生效的是 susesuseQ因此它目前能够且只能够操作 susesuse 用户的文Ӟ如果现在我又惌操作 flw 用户的文件怎么办?
很简单,只需?nbsp;seteuid( getuid() ) 可以了(jin)。执行完q句之后Qeffective user ID 变成和 real user ID 一样了(jin)Q都变成 flw ?jin)?

可是如果q了(jin)一?x)儿我又惌变回来怎么办?因ؓ(f) effective user ID ?nbsp;real user ID 此时都变成了(jin) flw ?jin),所以操作系l必d有一个地方保存(sh)原来?#8220;讄用户 ID”Q也是可执行文件的 owner user IDQ,不然{你再想?nbsp;seteuid 的时候,操作pȝ׃知道你有没有那个权利?jin)。(M能再去访问一ơ文件系l吧Q那样也太没有效率了(jin)Q?

操作pȝZ(jin)能够在设|了(jin) seteuid 之后Q再ơ设|回来,所以特地将原来?#8220;讄用户 ID”保存?sh)来了(jin),q个保存?sh)来的设|用?nbsp;ID 自然叫?#8220;保存的设|用?nbsp;ID”?

下面看一D写的例子程序:(x)
flw@Sleeper:~$ whoami

flw
flw@Sleeper:~$ cat tuid.c
# include <stdio.h>
# include <sys/types.h>
# include <pwd.h>

int main( void )
{
    struct passwd *pwd;

    pwd = getpwuid( geteuid() );
    printf( "effective UID: [%s]\n", pwd->pw_name );

    system( "touch /tmp/foo.txt; ls -l /tmp/foo.txt; rm -rf /tmp/foo.txt" );

    printf( "\nset EUID to `flw'..\n" );
    pwd = getpwnam( "flw" );
    seteuid(pwd->pw_uid);

    pwd = getpwuid( geteuid() );
    printf( "effective UID: [%s]\n", pwd->pw_name );

    system( "touch /tmp/foo.txt; ls -l /tmp/foo.txt; rm -rf /tmp/foo.txt" );

    printf( "\nset EUID to `root'..\n" );
    seteuid(0);

    pwd = getpwuid( geteuid() );
    printf( "effective UID: [%s]\n", pwd->pw_name );

    system( "touch /tmp/foo.txt; ls -l /tmp/foo.txt; rm -rf /tmp/foo.txt" );

    return 0;
}
flw@Sleeper:~$ su root -c "cc -o tuid tuid.c; chmod +s tuid; ls -al tuid"
Password:
-rwsr-sr-x 1 root root 7902 2006-08-31 13:55 tuid
flw@Sleeper:~$ ./tuid
effective UID: [root]
-rw-r--r-- 1 root root 0 2006-08-31 13:55 /tmp/foo.txt

set EUID to `flw'..
effective UID: [flw]
-rw-r--r-- 1 flw root 0 2006-08-31 13:55 /tmp/foo.txt

set EUID to `root'..
effective UID: [root]
-rw-r--r-- 1 root root 0 2006-08-31 13:55 /tmp/foo.txt
flw@Sleeper:~$


]]>
新的征?!!!http://www.shnenglu.com/flylonglong/archive/2007/10/13/34142.html谢龙?/dc:creator>谢龙?/author>Sat, 13 Oct 2007 12:18:00 GMThttp://www.shnenglu.com/flylonglong/archive/2007/10/13/34142.htmlhttp://www.shnenglu.com/flylonglong/comments/34142.htmlhttp://www.shnenglu.com/flylonglong/archive/2007/10/13/34142.html#Feedback0http://www.shnenglu.com/flylonglong/comments/commentRss/34142.htmlhttp://www.shnenglu.com/flylonglong/services/trackbacks/34142.html阅读全文

]]>
调试020时候的一个问?/title><link>http://www.shnenglu.com/flylonglong/archive/2007/10/08/33769.html</link><dc:creator>谢龙?/dc:creator><author>谢龙?/author><pubDate>Mon, 08 Oct 2007 08:46:00 GMT</pubDate><guid>http://www.shnenglu.com/flylonglong/archive/2007/10/08/33769.html</guid><wfw:comment>http://www.shnenglu.com/flylonglong/comments/33769.html</wfw:comment><comments>http://www.shnenglu.com/flylonglong/archive/2007/10/08/33769.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/flylonglong/comments/commentRss/33769.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/flylonglong/services/trackbacks/33769.html</trackback:ping><description><![CDATA[<p>今天 调试一?20的数据处理程序碰C(jin)一个问?虽然已经解决,但是q是有点不明?先记录在q里,以后有空的时候再好好 l细地想一?br>我的原代码如?<br>#include <C8051f020.h></p> <p>#define SYS_CLK 22118400</p> <p>typedef struct                      //存储l构?br>{<br>  unsigned char AD[93];                //2543的AD数据<br>  unsigned char shi;               //gprs的数?br>  unsigned char fen;<br>  unsigned char miao;<br>  unsigned long jingdu_zheng;<br>  unsigned long jingdu_xiao;<br>  unsigned long weidu_zheng;<br>  unsigned long weidu_xiao;<br>  unsigned char sudu_zheng;<br>  unsigned char sudu_xiao;<br>}ram;</p> <p>typedef struct                        //定义一个存储地址l构?br>{<br>  unsigned char  adr_suocun;          //锁存?位地址<br>  unsigned char  dptr_gao;        //dptr<br>  unsigned char  dptr_di;<br>  <br>}ADR_struct;  </p> <p>void sysclk_Init(void);<br>void dog_Init(void);<br>void port_Init(void);<br>void cunchu_Init(void);<br>void cunchu_Init1(void);<br>void ram_init(unsigned char ADR);<br>void save_struct(ram a);<br>ram read_struct(void);</p> <p>sbit AHH  = P1^0;         //用通用I/O来控制访问地址<br>sbit LB   = P1^1;<br>sbit UB   = P1^2;  <br>sbit ALE  = P0^5; </p> <p>ADR_struct  dui_shou;     //存储队首地址<br>ADR_struct  dui_wei;      //存储队尾地址<br>     </p> <p>void main()<br>{<br>  unsigned char i;<br>  ram a;<br>  sysclk_Init(); <br>  dog_Init();<br>  cunchu_Init();<br>  port_Init();<br>  UB   = 1;<br>  LB   = 0;<br>  dui_wei.adr_suocun=0;          //锁存?位地址<br>  dui_wei.dptr_gao=0x08;        //dptr<br>  dui_wei.dptr_di=0;</p> <p> <br>  for(i=0;i<93;i++)<br>   a.AD[i]=i;<br>  a.shi = 2;<br>  a.fen = 2;<br>  a.miao= 2;<br>  a.jingdu_zheng= 2;<br>  a.jingdu_xiao=2;<br>  a.weidu_zheng=2;<br>  a.weidu_xiao=2;<br>  a.sudu_zheng=2;<br>  a.sudu_xiao=2;</p> <p>  for(i=0;i<17;i++)<br>    save_struct(a);<br>   <br>  <br>}</p> <p>void ram_init(unsigned char ADR)   //ADR锁存的A8-A15 LU_B?字节高(sh)选择位ؓ(f)0 输出抵字节位 ?输出高字节位 <br>{<br>  unsigned char i;<br>  AHH = 1;<br>  for(i=0;i<50;i++);     //{待E_<br>  P3   = ADR;             //ADR为全局变量 选择存储?br>  for(i=0;i<50;i++);     //{待E_<br>  AHH  = 0;                   //注意 每一个LU_B ADRl合 对应4K的地址I间 每次?#8220;?#8221;的时候均需先调用此函数</p> <p>}</p> <p> </p> <p> </p> <p>void save_struct(ram a)         //a存储到FIFO 队尾<br>{<br>  <br>  ram xdata *p;<br>  unsigned int i;<br>  cunchu_Init();<br>  ram_init(dui_wei.adr_suocun); //按队֜址l构体中的suocun初始化sram<br>  dui_wei.dptr_gao<<=8;<br>  p  = dui_wei.dptr_gao+dui_wei.dptr_di;<br>  *p = a;                       //存储a到队?br>  <br>                                <br>//以下代码为队֜址变换<br>  if((dui_wei.dptr_di==0x91)&&(dui_wei.dptr_gao==0x17)&&(dui_wei.adr_suocun==0xff)&&(UB ==0))     <br>//存储I间已经用完 地址循环x(chng)低地址<br>  {                                                                             //此时最后一块内?刚好存储1937个字?nbsp;                      <br>    dui_wei.dptr_gao = 0x08;                                                    //dptr_di==1001 0001 dptr_gao==&&000 10 111<br>    dui_wei.dptr_di = 0x00;                                                     //suocun已经满ff UB为有?br> dui_wei.adr_suocun = 0;<br> UB = !UB;<br> LB = !LB;<br>  }<br>  else<br>  { <br>    if((dui_wei.dptr_gao<<8)+dui_wei.dptr_di<=(1937-114))                      //2kI间最多只能存?7帧即Q?937个字?br>    {  <br>   p=(dui_wei.dptr_gao<<8)+dui_wei.dptr_di+114;                      //每数据?14个字?dptr值加?14;<br>      dui_wei.dptr_di  = (unsigned char)p;<br>      i = p;<br>   dui_wei.dptr_gao =i>>8;</p> <p>    }<br>    else                                           //2kI间已经用完dptr=1937=0000111 10010001?UdC一?k?切换 <br>    {<br>   if(dui_wei.dptr_gao==0x0f)                   //高八位?00 01 111 切换?000 10 000 低八位全清零<br>   {<br>     dui_wei.dptr_di=0;<br>        dui_wei.dptr_gao ^=0x1f;<br>   } <br>   else if(dui_wei.dptr_gao==0x17)              //高八位?00 10 111 切换?000 01 000 低八位全清零<br>   {                                            //q触发adr_suocun + 1<br>     dui_wei.dptr_di=0;<br>  dui_wei.dptr_gao ^=0x1f;<br>  <br>//以下为adr_suocun + 1处理代码                                                                    <br>     if(dui_wei.adr_suocun==0xff)                 //adr_suocun + 1q程?要判断是否需要切换高?sh)字?用完低字节后 再用高字?br>     {<br>       LB = !LB;<br>       UB = !UB;<br>    dui_wei.dptr_di  = 0;<br>    dui_wei.dptr_gao = 0x08;                  //高八位切换?00 01 000 低八位清?br>    dui_wei.adr_suocun=0;<br>        }<br>     else                                         //未用?不切?br>     {  <br>          dui_wei.dptr_di = 0;                     //高八位切换?00 01 000 低八位清?br>    dui_wei.dptr_gao = 0x08;                    <br>          dui_wei.adr_suocun++;<br>       }<br>      }<br> /*     if(dui_wei==dui_shou)                           //如果存储速度大于d速度 则覆盖最旧的数据<br>      {                                               //使得队首 向后Ud一??从而丢弃最旧的数据?br>        adr_add_change;<br>      }*/<br>    }<br>  }<br>    <br>}<br>  </p> <p>void sysclk_Init(void)   //pȝ旉初始?br>{<br>  int i;<br>  OSCXCN = 0x67;                    //启动外部11.0592MHz震荡?br>  for(i = 0;i<255;i++);            //{待外部晶体h <br>  while((OSCXCN & 0x80)==0x00);  //查询标志?以判断外部时钟是否稳?br>  OSCICN = 0x88;                 //使用外部震荡器做pȝ旉q能时钟丢失检?nbsp;          <br>  CKCON = 0x10;       //初始化T1旉为系l时?br>}</p> <p>void dog_Init(void)      //看门狗设|ؓ(f)Q关?br>{<br>  EA    =  0;<br>  WDTCN =  0xde;<br>  WDTCN =  0xad;<br>  EA    =  1; <br>}<br>void port_Init(void)     //端口分配与输入输出方?br>{<br>  XBR2      =  0x44;        //使能交叉开兛_全局׃?配置UART1引脚,外部存储器接口配|到低端?br>  XBR0      =  0x04;       //配置UARTO引脚<br>  XBR1      =  0x00;         <br>  P0MDOUT   =  0xf5;        //UART的RX引脚总被配置成开漏输?TX引脚为推拉输?RD WR ALE 2543EOC均ؓ(f)推拉输出<br>  P3MDOUT    =  0xff;       //DT0-DT7<br> <br>}</p> <p><br>void cunchu_Init(void)<br>{<br>  EMI0CF = 0x0c;          //配置外部存储器ؓ(f)复用方式 只用片外XRAM ALE脉宽Z个系l时钟周?br>  EMI0TC = 0x6d;          //配置外部存储器的接口时序<br>  <br>}                         </p> <p>void cunchu_Init1(void)<br>{<br>  EMI0CF = 0x10;<br>  EMI0TC = 0x6d;<br>} </p> 在build的时候老出现如下错?<br><br>segment does not fit<br><br>刚开始知道是内部ram限?br><br>但是?<span style="COLOR: #ff0000">ram a</span> Ҏ(gu) <span style="COLOR: #ff0000">xdata ram a<br></span>q是有问?br><br>直到再将 全局变量<br>ADR_struct  dui_shou;     //存储队首地址<br>ADR_struct  dui_wei;      //存储队尾地址<br><br>Ҏ(gu)<br>ADR_struct  <span style="COLOR: #ff0000">idata </span>dui_shou;     //存储队首地址<br>ADR_struct <span style="COLOR: #ff0000"> idata</span> dui_wei;      //存储队尾地址<br><br>才解决错?br><br>有时间好好考虑?感觉 <span style="COLOR: #ff0000">全局变量</span> <span style="COLOR: #000000">是个关键<br></span> <img src ="http://www.shnenglu.com/flylonglong/aggbug/33769.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/flylonglong/" target="_blank">谢龙?/a> 2007-10-08 16:46 <a href="http://www.shnenglu.com/flylonglong/archive/2007/10/08/33769.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开学以来的学习(fn)情况 ȝhttp://www.shnenglu.com/flylonglong/archive/2007/10/06/33655.html谢龙?/dc:creator>谢龙?/author>Sat, 06 Oct 2007 14:06:00 GMThttp://www.shnenglu.com/flylonglong/archive/2007/10/06/33655.htmlhttp://www.shnenglu.com/flylonglong/comments/33655.htmlhttp://www.shnenglu.com/flylonglong/archive/2007/10/06/33655.html#Feedback0http://www.shnenglu.com/flylonglong/comments/commentRss/33655.htmlhttp://www.shnenglu.com/flylonglong/services/trackbacks/33655.html阅读全文

]]>
几种Bootloader?/title><link>http://www.shnenglu.com/flylonglong/archive/2007/10/06/33641.html</link><dc:creator>谢龙?/dc:creator><author>谢龙?/author><pubDate>Sat, 06 Oct 2007 11:24:00 GMT</pubDate><guid>http://www.shnenglu.com/flylonglong/archive/2007/10/06/33641.html</guid><wfw:comment>http://www.shnenglu.com/flylonglong/comments/33641.html</wfw:comment><comments>http://www.shnenglu.com/flylonglong/archive/2007/10/06/33641.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.shnenglu.com/flylonglong/comments/commentRss/33641.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/flylonglong/services/trackbacks/33641.html</trackback:ping><description><![CDATA[     摘要:   <a href='http://www.shnenglu.com/flylonglong/archive/2007/10/06/33641.html'>阅读全文</a><img src ="http://www.shnenglu.com/flylonglong/aggbug/33641.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/flylonglong/" target="_blank">谢龙?/a> 2007-10-06 19:24 <a href="http://www.shnenglu.com/flylonglong/archive/2007/10/06/33641.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>几种Bootloader?/title><link>http://www.shnenglu.com/flylonglong/archive/2007/10/06/33639.html</link><dc:creator>谢龙?/dc:creator><author>谢龙?/author><pubDate>Sat, 06 Oct 2007 11:23:00 GMT</pubDate><guid>http://www.shnenglu.com/flylonglong/archive/2007/10/06/33639.html</guid><wfw:comment>http://www.shnenglu.com/flylonglong/comments/33639.html</wfw:comment><comments>http://www.shnenglu.com/flylonglong/archive/2007/10/06/33639.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/flylonglong/comments/commentRss/33639.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/flylonglong/services/trackbacks/33639.html</trackback:ping><description><![CDATA[     摘要:   <a href='http://www.shnenglu.com/flylonglong/archive/2007/10/06/33639.html'>阅读全文</a><img src ="http://www.shnenglu.com/flylonglong/aggbug/33639.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/flylonglong/" target="_blank">谢龙?/a> 2007-10-06 19:23 <a href="http://www.shnenglu.com/flylonglong/archive/2007/10/06/33639.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>。。。。。。。。。?/title><link>http://www.shnenglu.com/flylonglong/archive/2007/10/02/33336.html</link><dc:creator>谢龙?/dc:creator><author>谢龙?/author><pubDate>Tue, 02 Oct 2007 12:22:00 GMT</pubDate><guid>http://www.shnenglu.com/flylonglong/archive/2007/10/02/33336.html</guid><wfw:comment>http://www.shnenglu.com/flylonglong/comments/33336.html</wfw:comment><comments>http://www.shnenglu.com/flylonglong/archive/2007/10/02/33336.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/flylonglong/comments/commentRss/33336.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/flylonglong/services/trackbacks/33336.html</trackback:ping><description><![CDATA[<font id="zoom" class="f14"><font color="#cccccc"> <p>t<span style="color: red;">ar -I或者bunzip2命o(h)都可以解?bz2文g </span><br style="color: red;"><br style="color: red;"><span style="color: red;">tar xvfj example.tar.bz2 </span><br style="color: red;"><br style="color: red;"><span style="color: red;">tar xvfz example.tar.gz </span><br style="color: red;"><br style="color: red;"><span style="color: red;">tar xvfz example.tgz </span><br style="color: red;"><br style="color: red;"><span style="color: red;">tar xvf example.tar </span><br style="color: red;"><br style="color: red;"><span style="color: red;">unzip example.zip </span><br style="color: red;"><br style="color: red;"><span style="color: red;">tar -jvxf some.bzQ就是把tar的zvxf Ҏ(gu)jvxf </span><br style="color: red;"><br style="color: red;"><span style="color: red;">zip/tar rh8下有一个图形界面的软gfile-roller可以做这件事。另外可以用unzip *.zip解开zip文gQunrar *.rar解开rar文gQ不qunrar一般系l不自带Q要到网上下载?</span><br style="color: red;"><br style="color: red;"><span style="color: red;"># rpm2cpio example.rpm ?cpio -div </span><br style="color: red;"><br style="color: red;"><span style="color: red;"># ar p example.deb data.tar.gz | tar zxf - </span><br style="color: red;"><br style="color: red;"><span style="color: red;">Alien 提供?tgz, .rpm, .slp?deb{压~格式之间的怺转换Q?sourceforge.net/projects/alien sEx提供?jin)几乎所有可见的压羃格式的解压接口:(x)sourceforge.net/projects/sex 0058 在多U目录中查找某个文g的方?青v? </span><br style="color: red;"><br style="color: red;"><span style="color: red;">find /dir -name filename.ext </span><br style="color: red;"><br style="color: red;"><span style="color: red;">du -a | grep filename.ext </span><br style="color: red;"><br style="color: red;"><span style="color: red;">locate filename.ext</span></p> <!-- 正文end --> </font></font><img src ="http://www.shnenglu.com/flylonglong/aggbug/33336.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/flylonglong/" target="_blank">谢龙?/a> 2007-10-02 20:22 <a href="http://www.shnenglu.com/flylonglong/archive/2007/10/02/33336.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux下Y件安装方法ȝhttp://www.shnenglu.com/flylonglong/archive/2007/09/30/33268.html谢龙?/dc:creator>谢龙?/author>Sun, 30 Sep 2007 13:50:00 GMThttp://www.shnenglu.com/flylonglong/archive/2007/09/30/33268.htmlhttp://www.shnenglu.com/flylonglong/comments/33268.htmlhttp://www.shnenglu.com/flylonglong/archive/2007/09/30/33268.html#Feedback0http://www.shnenglu.com/flylonglong/comments/commentRss/33268.htmlhttp://www.shnenglu.com/flylonglong/services/trackbacks/33268.htmlLinux下Y件安装方法ȝ 关键?/strong>Q? Linux    tar    安装软g    rpm    apt                                          

Linux下Y件安装方法ȝQ?br>

一、rpm包安装方式步骤:(x)
1、找到相应的软g包,比如soft.version.rpmQ下载到本机某个目录Q?br>2、打开一个终端,su -成root用户Q?br>3、cd soft.version.rpm所在的目录Q?br>4、输入rpm -ivh soft.version.rpm

二、deb包安装方式步骤:(x)
1、找到相应的软g包,比如soft.version.debQ下载到本机某个目录Q?br>2、打开一个终端,su -成root用户Q?br>3、cd soft.version.deb所在的目录Q?br>4、输入dpkg -i soft.version.deb

三、tar.gz源代码包安装方式Q?br>1、找到相应的软g包,比如soft.tar.gzQ下载到本机某个目录Q?br>2、打开一个终端,su -成root用户Q?br>3、cd soft.tar.gz所在的目录Q?br>4、tar -xzvf soft.tar.gz //一般会(x)生成一个soft目录
5、cd soft
6?/configure
7、make
8、make install

四、tar.bz2源代码包安装方式Q?br>1、找到相应的软g包,比如soft.tar.bz2Q下载到本机某个目录Q?br>2、打开一个终端,su -成root用户Q?br>3、cd soft.tar.bz2所在的目录Q?br>4、tar -xjvf soft.tar.bz2 //一般会(x)生成一个soft目录
5、cd soft
6?/configure
7、make
8、make install

五、apt方式安装Q?br>1、打开一个终端,su -成root用户Q?br>2、apt-cache search soft 注:(x)soft是你要找的Y件的名称或相关信?br>3、如?中找C(jin)软gsoft.versionQ则用apt-get install soft.version命o(h)安装软g 注:(x)只要你可以上|,只需要用apt-cache search查找软gQ用apt-get install软g

六、bin文g安装Q?br>如果你下载到的Y件名是soft.binQ一般情况下是个可执行文Ӟ安装Ҏ(gu)如下Q?br>1、打开一个终端,su -成root用户Q?br>2、chmod +x soft.bin
3?/soft.bin //q行q个命o(h)可以安装Y件了(jin)

/************关于本文?*******************************************
*filename:Linux下Y件安装方法ȝ
*purpose:ȝ?jin)Linux下各UY件安装方?br>*wrote by: zhoulifa(zhoulifa@163.com) 周立?http://zhoulifa.bokee.com)
Linux爱好?Linux知识传播?SOHO?开发?最擅长C语言~程
*date time:2006-07-26 18:10:00
*Note: M人可以Q意复制代码ƈq用q些文档Q当然包括你的商业用?br>* 但请遵@GPL?br>*Hope:希望来多的h贡献自己的力量,为科学技术发展出?br>*********************************************************************/

七、不需要安装的软gQ?br>有了(jin)些YӞ比如lumaqqQ是不需要安装的Q自带jre解压~后可直接运行。假设下载的是lumaqq.tar.gzQ用方法如下:(x)
1、打开一个终端,su -成root用户Q?br>2、tar -xzvf lumaqq.tar.gz //q一步会(x)生成一个叫LumaQQ的目?br>3、cd LumaQQ
4、chmod +x lumaqq //讄lumaqqq个E序文g为可q行
5、此时就可以q行lumaqq?jin),用命?/lumaqq卛_Q但每次q行要输入全路径或切换到刚才生成的LumaQQ目录?br>6、ؓ(f)?jin)保证不讄路径可以用Q你可以?bin目录下徏立一个lumaqq的链接,用命令ln -s lumaqq /bin/ 卛_Q以后Q何时候打开一个终端输入lumaqq可以启动QQ聊天软g?br>7? 如果你要想lumaqq有个菜单,使用菜单~辑工具Q比如Alacarte Menu EditorQ找C面生成的LumaQQ目录里的lumaqq讄一个菜单项可以了(jin)Q当然你也可以直接到 /usr/share/applications目录Q按照里面其?.desktop文g的格式生成一个自qdesktop文g卛_?/p>

开发者们不要用red hat/red flag/suse{第一代Linux操作pȝQ用q些除了(jin)方便Q也是说比较傻瓜型Q、界面豪华点外没什么好。用debian/ubuntu{第二代 吧,apt命o(h)安装软g是最单的。apt命o(h)?x)自动解册Y件安装过E中的依赖问题,?x)把没有的包安装上,会(x)把版本低的包自动升U,当然Q都是要l你认 一ơ的?br> 如果你用Red Hat{第1代LinuxpȝQ安装Y件是比较ȝ(ch)的事Qrpm -ivh softA.rpm是用来安装softA软g的,但通常情况下可能遇到的问题是提C需要安装softB1, softB2, softB3{一堆YӞ然后你安装softB1软g包时Q可能又?x)提CZ说需要安装softC1, softC2, softC3, softC4{一堆Y?#8230;…q样一来你只够时间到处去找这些Y件包?jin)。光盘(sh)没有得ȝ上下载,|上q得搜烦(ch)半天Q时间都花在搜烦(ch)软g包了(jin)。而且q 扑ֈq些软g包,q可能会(x)遇到的问题是QsoftC2软g包必dsoftC1软g包之前安装才可以Q顺序错?jin)也安装不成功。但q谁知道呢?隑֕。所以, 你没有时间来安装体验软g的功能了(jin)Q更别说开发Y件了(jin)?br> 你安装第2代Linux操作pȝQ典型的是Debian Linux和Ubuntu LinuxQ我之前在文?#8220;如何在安装了(jin)Windows操作pȝ的电(sh)脑上安装Linux操作pȝ”里提C个简明安装手册,你下载来照着操作可以安装Ubuntu?jin)?br> W?代操作系l在安装软g斚w相当单:(x)W一步,搜烦(ch)你要的YӞ比如你要找一个游戏YӞ它的名称叫mywardQ这个游戏Y件的说明是:(x)my own war game。搜索这个Y件包只需要输入命令apt-cache search mywardQ或者输入Y件名U的一部分apt-cache search warQ或者你不知道Y件名Uͼ输入软g说明里的一部分文字apt-cache search gameQ都可以扑ֈq个软gQ找到后q行W二步,只需要输入apt-get install mywardQ即后面跟上软g名称可以安装了(jin)?br>



]]>
dd命o(h)详解 http://www.shnenglu.com/flylonglong/archive/2007/09/26/32955.html谢龙?/dc:creator>谢龙?/author>Wed, 26 Sep 2007 14:12:00 GMThttp://www.shnenglu.com/flylonglong/archive/2007/09/26/32955.htmlhttp://www.shnenglu.com/flylonglong/comments/32955.htmlhttp://www.shnenglu.com/flylonglong/archive/2007/09/26/32955.html#Feedback0http://www.shnenglu.com/flylonglong/comments/commentRss/32955.htmlhttp://www.shnenglu.com/flylonglong/services/trackbacks/32955.html阅读全文

]]>
ۺɫ77777þ| &#228;v뾫Ʒþþ | þˬˬƬAV | ƷɫۺϾþ| ھƷþþþþþþõӰ| þۺϾþۺϾɫ| ޾ƷþþþĻ69| Ʒþˬ| һAëƬѹۿþþƷ| Ʒþþþù| 鶹wwwþ| 91þþƷ˾þ| þֻоƷҳ| Ʒvaþþþþþ| þþܳ| þҹҹݺ2022| ۺɫ77777þ| þþþƷsmվ| Ʒ9999þþþ| þ×Ʒþþþþ| þ99Ʒ99þ| Ʒþþþþ| þ߳ˮ| 99þþƷ| þݺҹҹ| þþžžþƷֱ| ձɫۺϾþӰԺ| Ʒ99þþþþլ | ͵͵þþþվ| 99ŷƷþþѿ| þ㽶һëƬ| þþƷһAV| 91þùƵ| þŷƷ| þ㽶߿ۿè?v| þ99ڹ| þþƷĻ23ҳ| 91鶹Ʒ91þþ| ھƷþþþþþþõӰ | ھƷžžþþþƷ| ˾þ777777|