如何让uboot启动时显示logo

如何让uboot启动时显示logo,第1张

让uboot启动时显示logo的方法

我用的u-boot是2009.08版的。想要修改开机logo为自定义的图片,而不是原来的denx.bmp。

方法其实很简单,只需替换u-boot的tools/logos目录中的denx.bmp,再重新编译(可能需要先执行make clean,再make,新的图片

才会起作用),图片大小不要起过你的屏的大小,色彩深度不能大于256色,即8位色深的图片。

不过,如果你不想替换denx.bmp,而要用自已的图片文件,比如,我用的是rat-linux.bmp文件,也可以。把你的文件拷贝

到/tools/logos目录中,再修改/tools目录下的makefile文件,找到以下代码段

ifeq ($(LOGO_BMP),)

LOGO_BMP= logos/denx.bmp

endif

ifeq ($(VENDOR),atmel)

LOGO_BMP= logos/atmel.bmp

endif

ifeq ($(VENDOR),ronetix)

LOGO_BMP= logos/ronetix.bmp

endif

将其中的LOGO_BMP= logos/denx.bmp改为 LOGO_BMP= logos/rat-linux.bmp即可。重新编译,你的图片就可以起作用了。

U-boot开机logo的制作方法

在有实现LCD显示和LCD命令行终端的U-boot中,在左上角都有显示一个logo,如果是atmel的芯片,就会有atmel的logo,三星的则是denx的logo。

有的网友发邮件说想改成自己公司的Logo,而且如果是自己玩的话,改成自己喜欢的logo也爽阿。所以今天我做好了实验,将简单的修改方法总结如下:

一、图片的放置路径

所有的开机logo都放在了 /tools/logos 之下,你只需要将你的班子作对应的logo替换就好了。

对于S3C2440,你只需要将denx.bmp替换成你想要的logo就好了。

对于ATMEL的芯片,据说会显示ATMEL的logo,所以替换那个logo即可。

但是你所替换的logo必须和原来的大小、格式一模一样,否则会出现u-boot使用过程中宕机重启的后果。

二、图片的大小标准

不同的logo对应不同的大小,这里S3C2440所对应的是160*96分辨率的BMP图片。

三、图片的转换脚本

在制作图片前,请您现确认您的Linux主机上安装了Netpbm 工具包。如果是ubuntu,你可以直接用新立得安装;如果是别的发行版,可以在 Netpbm主页 下载源代码编译。

将你想要的图片裁减成160*96的JPG图片,然后用以下的脚本处理一下就好了:

#!/bin/sh

#install Netpbm first

jpegtopnm $1 | ppmquant 31 | ppmtobmp -bpp 8 >$2

使用方法: (脚本名) ( 待处理的JPG图片名) (输出文件名)

2.6 的Kernel LOGO真容易改试着改了一下,似乎比2.4容易。2.6的logo数据在/drivers/video/logo里,ppm文件就是logo图像了。每 个ppm对应一个.c文件,内容大概就是图像尺寸、调色板、位图数据等信息。.c文件无需自己建立,在make的时候如果不存在某个ppm文件对应的.c 文件,就会自动从ppm生成一个,然后把它编译成.o文件。所以看看目录下哪些.ppm文件有同名的.o文件,就说明那个logo被编译进了 kernel。标准的224色logo是logo_linux_clut224.ppm,因此修改这个图片就可以实现修改logo了。

在 windows下,可以用PaintShopProX直接打开ppm进行编辑,编辑完毕后用decrease color depth命令降为224色,然后保存,把logo_linux_clut224.c删掉,重新make就可以了。这个是我昨晚随便改的logo :

在 深入一点点。很容易发现,对于一般的vga console,logo是由drivers/video/fbmem.c里的fb_show_logo()函数显示的,这个函数的调用者是 drivers/video/console/fbcon.c(跟2.4差不多,嗯)。这个函数做的事情不多,就是先把非8位色深的位图转换为8位色深, 然后用info->fbops->fb_imageblit(info,&image)把logo显示出来,有一个cpu时显示一个logo,有2个cpu时显示2个,以此类推。

略加修改,就可以实现将logo居中显示,并加入一个“重复显示右边界”,也就是把logo最右边4个点宽的区域作为背景填充到整个logo bar。diff如下:

--- /gs2e/source/linux26-2edev/drivers/video/fbmem.c2006-08-29 14:07:15.000000000 +0800

+++ ./fbmem.c2006-09-27 20:40:08.000000000 +0800

@@ -375,9 +375,9 @@

int fb_show_logo(struct fb_info *info)

{

u32 *palette = NULL, *saved_pseudo_palette = NULL

-unsigned char *logo_new = NULL

-struct fb_image image

-int x

+unsigned char *logo_new = NULL, *border = NULL

+struct fb_image image, imageborder

+int x, xoffset

/* Return if the frame buffer is not mapped or suspended */

if (fb_logo.logo == NULL || info->state != FBINFO_STATE_RUNNING)

@@ -421,12 +421,45 @@

image.height = fb_logo.logo->height

image.dy = 0

+#ifdef CONFIG_LOGO_REPEAT_RIGHT

+border = kmalloc(4 * fb_logo.logo->height, GFP_KERNEL)

+if (border != NULL){

+ for (x = 0x <fb_logo.logo->heightx++){ /* use x as y */

+*((u32 *)border + x) = /* will repeat 4 pixels of the right side*/

+*(u32 *)(image.data + (x+1)*fb_logo.logo->width - 4)

+ }

+ imageborder.depth = 8

+ imageborder.data = border

+ imageborder.width = 4

+ imageborder.height = image.height

+ imageborder.dy = 0

+ for (x = 0x <info->var.xresx+=4){

+imageborder.dx = x

+info->fbops->fb_imageblit(info, &imageborder)

+ }

+ kfree(border)

+}

+#endif

+#ifndef CONFIG_CENTER_LOGO

+xoffset = 0

for (x = 0x <num_online_cpus() * (fb_logo.logo->width + 8) &&

x <= info->var.xres-fb_logo.logo->widthx += (fb_logo.logo->width + 8)) {

image.dx = x

info->fbops->fb_imageblit(info, &image)

}

-

+#else

+xoffset = (info->var.xres - num_online_cpus() * (fb_logo.logo->width + 8))>>1

+if (xoffset<0)xoffset = 0

+ for (x = xoffsetx <num_online_cpus() * (fb_logo.logo->width + 8) + xoffset &&

+ x <= info->var.xres-fb_logo.logo->width+xoffsetx += (fb_logo.logo->width + 8)) {

+ image.dx = x

+ info->fbops->fb_imageblit(info, &image)

+}

+#endif

kfree(palette)

if (saved_pseudo_palette != NULL)

info->pseudo_palette = saved_pseudo_palette

我在这里定义了两个配置变量,CONFIG_LOGO_REPEAT_RIGHT和CONFIG_CENTER_LOGO,修改/drivers/video/logo/Kconfig,加上:

config CENTER_LOGO

bool "Center logo"

depends on LOGO

default n

config LOGO_REPEAT_RIGHT

bool "Repeat the right border (4 pixels)"

depends on LOGO

default n

这样就可以在make menuconfig之类的界面中设置是否开启这两项功能了。

PBM格式全名:portable bitmap,是一种图形格式。在PS6.0中就已经增加了对其的导入支持。也就是说,在其后的版本中把图片导入后,另存即可完成新格式的转换...

如果楼主的PS不能打开 那么试试用别的软件,比如用ACDSee转换成别的格式,再导入PS打开

需要软件如下:

apache: http://www.apache.org

mysql: http://www.mysql.com

php: http://www.php.net/downloads.php

gd: http://www.boutell.com/gd/#buildgd

ZendOptimizer http://www.zend.org/products/zend_optimizer

Gettext http://ftp.gnu.org/pub/gnu/gettext/

netpbm http://sourceforge.net/projects/netpbm/

所用的软件版本如下:

Redhat Enterprise As 4

(apache)httpd-2.0.50.tar.gz

mysql-standard-5.0.18-linux-i686.tar.gz

php-5.1.2.tar.gz

gd-2.0.33.tar.gz

ZendOptimizer-2.6.2-linux-glibc21-i386.tar.gz

Imap

Gettext

一.安装MYSQL mysql-standard-5.0.18-linux-i686.tar.gz

我把他全部下载到/usr/local/software目录下

进入安装包目录:cd /usr/local/software

1、[root@localhost software]# chmod 755 mysql-standard-5.0.18-linux-i686.tar.gz

2、[root@localhost software]# tar xfz mysql-standard-5.0.18-linux-i686.tar.gz

解压后生成mysql-standard-5.0.18-linux-i686目录,我们进入该目录:

3、[root@localhost software]# cd mysql-standard-5.0.18-linux-i686

进入后就开始配置mysql了,配置过程中我们要给mysql设置一个

安装目录,我们设置在 /usr/local/mysql 下,以为把文件放到一个地方比较容易管理,如果你还想获得更多的配置信息,使用 ./configure --help:

在这里我要特别强调在编译的时候要选择好MYSQL的默认编码,因为如果不选择按默认安装的时候在JSP中就不支持GBK编码了

所以我这样编译

访问mysql要一个专门的用户,而且必须给相应的访问权限,这里我们就设置root和mysql有权限访问.

7、我们先建立一个mysql和mysql用户来访问mysql:

[root@localhost mysql-standard-5.0.18-linux-i686]# groupadd mysql #建立mysql组

8、[root@localhost mysql-standard-5.0.18-linux-i686]# useradd mysql -g mysql #建立mysql用户并且加入到mysql组中

9、建立用户后我们就初始化表 (注意:必须先执行本步骤后才能进行以下步骤)

[root@localhost mysql-standard-5.0.18-linux-i686]# ./scripts/mysql_install_db --user=mysql

#初试化表并且规定用mysql用户来访问初始化表以后就开始给mysql和root用户设定访问权限,;

10、[root@localhost mysql-standard-5.0.18-linux-i686]# mv mysql-standard-5.0.18-linux-i686 /usr/local/mysql

然后设置权限

cd /usr/local/mysql

11、[root@localhost mysql]# chown -R root . #设定root能访问/usr/local/mysql

12、[root@localhost mysql]# chown -R mysql data #设定mysql用户能访问/usr/local/mysql/data ,里面存的是mysql的数据库文件

13、[root@localhost mysql]# chgrp -R mysql . #设定mysql组能够访问/usr/local/mysql

14、设置完成后,基本上就装好了,好了,我们运行一下我们的mysql:

[root@localhost mysql]# /usr/local/mysql/bin/mysqld_safe --user=mysql &

如果没有问题的话,应该会出现类似这样的提示:

[1] 42264

# Starting mysqld daemon with databases from /usr/local/mysql/var

这就证明你安装成功了

用如下命令修改root密码,默认安装密码为空,为了安全你必须马上修改

15、/usr/local/mysql/bin/mysqladmin -uroot password xksoft321

现在修改的密码为:xksoft321

16.设置开机自动启动

cp support-files/mysql.server /etc/init.d/

二、安装apache

进入安装包目录:cd /usr/local/software

1、# chmod 755 httpd-2.0.50.tar.gz

2、# tar xfz httpd-2.0.50.tar.gz

3、# cd httpd-2.0.50

开始配置APACHE

4、#./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite --enable-mods-shared=most

# ./configure --prefix=/usr/local/apache2 --enable-so --enable-module=most --enable-shared=max --enable-rewrite

# ./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite --enable-access

#./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=all –-enable-rewrite=shared

5、# make

6、# make install

7、察看编译进apache的模块:

# /usr/local/apache2/bin/httpd -l

compiled-in modules:

http_core.c

mod_so.c

看到以上的信息表明apache支持dso方式了。这样就可以用dso的方式把php和resin的模块加进来。

三、安装GD

进入安装包目录:cd /usr/local/software

1、tar -zxvf gd-2.0.33.tar.gz

2、cd gd-2.0.33

3、./configure --prefix=/usr/local/gd2

4、make

5、make install

Gettext

1 .tar xfz

2 cd

3 ./configure –with-prefix=/usr/local/gettext

4 make

5 make install

四、安装php

进入安装包目录:cd /usr/local/software

1、# tar xfz php-5.1.2.tar.gz

2、解压后进入目录:

# cd php-5.1.2

3、进行配置,这一步比较关键,一定要设置好,特别是要考虑到你要支持什么,比如GD库,xml,mysql等等,如果想知道详细的配置,执行 ./configure --help来获得:

# ./configure --enable-mbstring=LANG --with-mysql=/usr/local/mysql --with-gd=/usr/local/gd2 --with-apxs2=/usr/local/apache2/bin/apxs –with-gettext=/usr/local/gettext

――enable-mbstring=LANG(解决php extension:mbstring的问题)

如果上面的配置没有错误的话,那么应该最后会显示感谢使用PHP等字样,那么证明配置成功,如果上面的配置选项不支持的话,会提示错误.

比如你没有安装mysql,那么--with-mysql就无法使用,所以一定要注意对应选项系统是否能够支持,如果出现错误,那么就先安装对应的程序,或者去掉相关选项,配置之后就进行编译:

4、# make

编译成功后出现"Build complete."字样,那么就可以进行安装了:

5、# make install

6、安装完成后把php.ini-dist复制到/usr/local/lib/,并重命名为php.ini

# cp php.ini-dist /usr/local/lib/php.ini

基本到这里PHP就安装成功了,如果中间出现错误,除了在配置的时候没有选对选项之后一般都不出现错误.

7、为了让Apache能够直接解析php,我们还要进行一些配置.

# vi /usr/local/apache2/conf/httpd.conf

在httpd.conf文件中,添加(应该将以下两句添加在其他AddType之后)

AddType application/x-httpd-php .php .phtml

AddType application/x-httpd-php-source .phps

确保文件中有以下一句话,没有就自己添加在所有LoadModule之后:

LoadModule php5_module modules/libphp5.so

把index.php加入以下DirectoryIndex后面

DirectoryIndex index.php index.html index.html.var

好了,在vi中使用":wq"保存httpd.conf文件,退出vi。

8、启动apache server:

# /usr/local/apache2/bin/apachectl restart

现在apache就能够运行php了,写个文件测试一下,在/usr/local/apache2/htdocs目录下,新建一个phpinfo.php文件,

文件中只有一行代码:

<? phpinfo()?>

保存此文件, 在你的浏览器中输入http://localhost/phpinfo.php,你应该看到PHP的系统信息。

如果出现错误,比如提示你下载phpinfo.php,那么apache就是还无法解析php文件,那么请仔细检查以上的 *** 作是否正确.

五、ZendOptimizer

进入安装包目录:cd /usr/local/software

1、# tar xfz ZendOptimizer-2.6.2-linux-glibc21-i386.tar.gz

2、# cd ZendOptimizer-2.6.2-linux-glibc21-i386

3、# ./install.sh

4、问Confirm the location of your php.ini file的时候打入/usr/local/lib/

问Are you using Apache web server?的时候选YES

六、

1、./configure --prefix=/usr

2、make

3、make check

4、make install

随系统启动服务配置

如果要在计算机启动的时候就运行httpd服务,可以在/etc/rc.d/rc.local文件中加入这几行:

#start apache

/usr/local/apache2/bin/apachectl start

如果启动不了,请给相应的启动脚本可执行权限

比如apache启动不了 chmod a=x apachectl

为了以后 *** 作不要输入类似/usr/local/apache2/bin的路径,在/etc/profile文件中添加$PATH变量

把apache、tomcat和mysql的路径都加上

附:

一、建立resin和apache的虚拟主机

例如建立的是tes1.jsp.com test2.jsp.com 两个虚拟主机

vi /usr/java/httpd2/conf/httpd.conf

复制如下内容到httpd.conf里

NameVirtualHost 192.168.0.* 虚拟主机建立所在的IP

<VirtualHost 192.168.1.*>

DocumentRoot /home/jsp1/ 文件所在目录

ServerName tes1.jsp.com 访问的域名

</VirtualHost>

VirtualHost 192.168.1.*>

DocumentRoot /home/jsp2/

ServerName test2.jsp.com

</VirtualHost>

vi /usr/java/resin/conf/resin.conf

查找如下代码并修改:

<host id="" root-directory=".">

<!--

- configures an explicit root web-app matching the

- webapp's ROOT

-->

<web-app id='/' document-directory="/usr/java/httpd2/htdocs"/>

</host>

<host id='tes1.jsp.com'>

<web-app id='/' document-directory="/home/jsp1"/>

</host>

<host id='tes2.jsp.com'>

<web-app id='/' document-directory="/home/jsp2"/>

</host>

保存从启apache和resin

tes1.jsp.com 和tes2.jsp.com 虚拟主机可以运行了

可以做如下测试http://localhost/caucho-status/

可以看到测试面上有

Virtual Host: tes1.jsp.com:80

Virtual Host: tes2.jsp.com:80

证明JSP虚拟主机工作很正常

二、linux软件安装

从网站或者是光盘上找到的Linux软件包,常见的格式包括有rpm,deb,tar,gz,tgz,zip,bz2等等。我们平时用的最多的恐怕是rpm和tgz了,据统计,在网上最流行的版本应改是redhat和mandrake了,而这两个版本都是用rpm封装

的,tar是最通用的软件包格式,几乎每个linux软件都会提供tar的格式的软件包,因为这种格式的软件包任何版本的linux都支持,所以大家至少要了解tar和rpm的使用方法。至于deb可用alien工具转换成tgz或rpm方式。bz2可用bunzip2解包即可。

1、RPM文件的安装

RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux,mandrake及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。

RPM文件在Linux系统中的安装最为简便。以著名的图像处理软件XV为例:

在Terminal中,基本的安装指令如下:

rpm -i xv-3.10a-13.i386.rpm

如果你的连网速度足够快,也可以直接从网络上安装应用软件,只需要在软件的文件名前加上适当的URL路径:

rpm -i ftp://ftp.trilon.com/pub/xv/xv-3.10a-13.i386.rpm

作为一个软件包管理工具,RPM管理着系统已安装的所有RPM程序组件的资料。我们也可以使用RPM来卸载相关的应用程序。

rpm -e xv

RPM的常用参数还包括:

-vh:显示安装进度;

-U:升级软件包;

-qpl:列出RPM软件包内的文件信息;

-qpi:列出RPM软件包的描述信息;

-qf:查找指定文件属于哪个RPM软件包;

-Va:校验所有的RPM软件包,查找丢失的文件;

更为详尽的参数及其用法可以查看RPM的帮助文档。

在X-Window中,RPM文件的图形化安装及管理方式对用户来说,显得更为友好。在kde上先安装好kpackage后,安装rpm仅仅是按一下鼠标就可以了,比windows 98更方便。但是这必须先安装kde.

我还是介绍更常用的方法吧,仍以XV软件为例,在Linux的文件管理器中找到xv-3.10a-13.i386.rpm文件之后,用鼠标右击它,在d出菜单中就可以找到专为RPM软件包准备的三个指令:Show Info、Upgrade、Install。

选择“Show Info”之后,我们将可以看到如图所示的软件包信息窗口。窗口分为三个部分,顶端显示的是软件名、大小、创建及安装日期以及开发者网站等相关信息;在中间的方框内,是关于软件的概述;而下面显示的则是软件包内包含的所有文件及其路径信息,它会告诉你软件包内的各个文件将被安装到系统的哪些目录中,

留意这些信息的好处是,你可以很容易地找到启动程序的路径。

此时点击底部的“Install”或者“Upgrade”按钮之后,将开始进行软件的安装或者升级,此时还会d出一个提示安装进度的窗口。

RPM软件包较之于其他类型的软件包,有着许多优势,但是并不是说RPM软件的安装都是一帆风顺的。常见的错误包括***图安装一个已经安装好了的软件、所要安装的软件需要其他软件或者系统库文件的支持(此时应该先行安装这些相关软件或者系统库文件)等,情形都和Windows类似。

2、tar的安装

tar.gz、tar.Z、tgz、bz2等文件格式要先解压为tar后再用tar解包安装。解压缩及解包指令举例简述如下:

1.解xv.tar.gz:tar zxf xv.tar.gz

2.解xv.tar.Z:tar zxf xv.tar.Z

3.解xv.tgz:tar zxf xv.tgz

4.解xv.bz2:bunzip2 xv.bz2

5. 解xv.tar:tar xf xv.tar

解包后得到的一堆文件,通常都会存放在一个目录里面。视软件作者的不同,有些会是已经编译好的程序,更多的则是需要自己再行编译的源代码。进入相应目录后,使用“ls -F -color”指令,可执行程序将会以带“*”标记的亮绿色显示,对于已编译好的程序,直接键入带路径的指令行即可运行程序。

建议解压后先阅读说明文件,应该先用vi等文书编辑器阅读一下软件目录中的Readme、Install等重要的相关文档,在这里你会找到软件详尽的编译步骤及注意事项,可以了解安装有哪些需求,有必要时还需改动编译配置。

有些软件包的源代码在编译安装后可以用make install命令来进行卸载,如果不提供此功能,则软件的卸载必须手动删除。由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干净,那你应该在编译前进行配置,指定软件将要安装到目标路径:./configure --prefix=目录名,这样可以使用“rm -rf 软件目录名”命令来进行干净彻底的卸载。与其它安装方式相比,需要用户自己编译安装是最难的,它适合于使用Linux已有一定经验的人,一般不推荐初学者使用。

通常的编译步骤会是这样:

./configure

make

make install(需要取得root身份才能执行此指令)

卸载可用:make uninstall 或 手动删除

编译完成之后,在当前目录或者是名为src的子目录下,可以很容易地发现软件的可执行程序。至此,软件的安装便告一段落。

3、关于src源代码文件包

Linux软件的源代码src是指提供了该软件所有程序源代码的发布形式,需要用户自己编译成可执行的二进制代码bin并进行安装,其优点是配置灵活,可以随意去掉或保留某些功能/模块,适应多种硬件/ *** 作系统平台及编译环境,缺点是难度较大,一般不适合初学者使用。

怎么知道一个tar.gz/bz2包是二进制文件包呢还是源代码包?要分辨它到底是什么最好的办法就是查看包里的文件清单,使用命令tar ztvf *.tar.gz解压缩及解包后,进入新生成的目录下。

源代码包里的文件往往会含有种种源代码文件,头文件*.h、c代码源文件*.c、C++代码源文件*.cc/*.cpp等;而二进制包里的文件则会有可执行文件(与软件同名的往往是主执行文件),标志是其所在路径含有名为bin的目录(仅有少数例外)。

如果是src.tar可在解包后,在新生成的目录下编译,方法前面已介绍过了,现在讲一讲src.rpm的安装和协载:

安装:rpm -rebuild xv.src.rpm

cd /usr/src/redhat/RPMS/

rpm -ivh *.rpm

卸载:rpm -e xv

说明:rpm --rebuild *.src.rpm命令将源代码编译并/usr/src/redhat/RPMS下生成二进制的rpm包,然后再安装该二进制包即可。

三、文件权限更改

chmod ------入门的一些常识

http://www.chinaunix.net 作者:wangbin 发表于:2003-09-13 23:49:13

指令名称 : chmod

使用权限 : 所有使用者

使用方式 : chmod [-cfvR] [--help] [--version] mode file...

说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取。

把计 :

mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。

+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。

r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。

-c : 若该档案权限确实已经更改,才显示其更改动作

-f : 若该档案权限无法被更改也不要显示错误讯息

-v : 显示权限变更的详细资料

-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)

--help : 显示辅助说明

--version : 显示版本

范例 :将档案 file1.txt 设为所有人皆可读取 :

chmod ugo+r file1.txt

将档案 file1.txt 设为所有人皆可读取 :

chmod a+r file1.txt

将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :

chmod ug+w,o-w file1.txt file2.txt

将 ex1.py 设定为只有该档案拥有者可以执行 :

chmod u+x ex1.py

将目前目录下的所有档案与子目录皆设为任何人可读取 :

chmod -R a+r *

此外chmod也可以用数字来表示权限如 chmod 777 file

语法为:chmod abc file

其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。

r=4,w=2,x=1

若要rwx属性则4+2+1=7;

若要rw-属性则4+2=6;

若要r-x属性则4+1=7。

范例:

chmod a=rwx file

chmod 777 file

效果相同

chmod ug=rwx,o=x file

chmod 771 file

效果相同

若用chmod 4755 filename可使此程式具有root的权限

指令名称 : chown

使用权限 : root

使用方式 : chmod [-cfhvR] [--help] [--version] user[:group] file...

说明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。

把计 :

user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群体(group)-c : 若该档案拥有者确实已经更改,才显示其更改动作-f : 若该档案拥有者无法被更改也不要显示错误讯息-h : 只对于连结(link)进行变更,而非该 link 真正指向的档案-v : 显示拥有者变更的详细资料-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)--help : 显示辅助说明--version : 显示版本

范例 :

将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie :

chown jessie:users file1.txt

将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport :

chmod -R lamport:users *

-rw------- (600) -- 只有属主有读写权限。

-rw-r--r-- (644) -- 只有属主有读写权限;而属组用户和其他用户只有读权限。

-rwx------ (700) -- 只有属主有读、写、执行权限。

-rwxr-xr-x (755) -- 属主有读、写、执行权限;而属组用户和其他用户只有读、执行权限。

-rwx--x--x (711) -- 属主有读、写、执行权限;而属组用户和其他用户只有执行权限。

-rw-rw-rw- (666) -- 所有用户都有文件读、写权限。这种做法不可取。

-rwxrwxrwx (777) -- 所有用户都有读、写、执行权限。更不可取的做法。

以下是对目录的两个普通设定:

drwx------ (700) - 只有属主可在目录中读、写。

drwxr-xr-x (755) - 所有用户可读该目录,但只有属主才能改变目录中的内容。

四、常用linux命令

1、进入纯命令行

在终端输入

#/sbin/telinit 3

2、root密码丢失解决

GRUB:在引导装载程序菜单上,键入 [e] 来进入编辑模式。

你会面对一个引导项目列表。查找其中类似以下输出 的句行:

kernel /vmlinuz-2.4.18-0.4 ro root=/dev/hda2

按箭头键直到这一行被突出显示,然后按 [e]。

你现在可在文本结尾处空一格再添加 single 来告诉 GRUB 引导单用户 Linux 模式。按 [Enter] 键来使编辑结果生效。

你会被带会编辑模式屏幕,从这里,按 , GRUB 就会引导单用户 Linux 模式。 结束载入后,你会面对一个与以下相似的 shell 提示:

sh-2.05#

现在,你便可以改变根命令,键入:

bash# passwd root

你会被要求重新键入口令来校验。结束后, 口令就会被改变,你便可以在提示下键入 reboot 来重新引导;然后,象平常一样登录为根用户。

LILO:当系统启动到出现LILO引导画面时,对于图形引导方式按TAB键进入文本方式,然后在LILO处

输入linux single回车即可进入免密码的控制台,进入以后使用passwd命令修改root的密码

即可。

五、mysql数据库 *** 作

连接数据库服务器 ./mysql -h host_name -u user_name -p

* -h host_name(--host=host_name),连接的数据库主机名,如果在本地主机上则可省略。

*-u user_name(--user=user_name),数据库用户名,在unix系统上,如果系统的登录名与数据用户名一样,则可省略。在windows系统中,可通过设置环境变量USER来给出数据库用户名,如set USER=username。

* -p(--password),提供数据库用户密码,有该选项mysql就会提示你输入密码。输入的密码以星号显示,以确保安全。也可直接在-p后写上密码(-p和密码间不能有空格),但这不安全,不推荐。

连接成功后,mysql数据库服务器会显示一些欢迎信息。接着就可用mysql>use database_name命令打开指定的数据库。grant all on egroupware.* to root@localhost identified by 'oletolet'

服务器的启动和关闭

在Linux和windows平台下MySQL服务器的启动方式有很大不同,这里将分开介绍:

* Linux平台:Linux平台下,每一个进程都需由一个用户来运行,MySQL最好不要以root用户来运行。我们可创建一个mysql用户和mysql组,MySQL服务器程序目录和数据目录由这个用户和组所拥有,其它用户没有任何权限。以mysql用户来运行MySQL服务器。% mysqld --user=mysql

#即使以root用户执行该命令,MySQL数据库还是会与mysql用户ID关联。 为了使服务器在系统启动时自动以mysql用户运行,需配置my.cnf配置文件 ,把user=mysql包含在[mysqld]段中。

关闭服务器可用% mysql.server stop或% mysqladmin -u root -p shutdown

* windows平台:手动方式:直接运行c:\mysqld命令。

作为服务方式:运行c:\mysqld-nt --install命令,把mysqld-nt安装为windows的服务,此后,每当windows启动时,它就会自动运行。mysqld-nt是一个支持命名管道的MySQL服务器。

运行c:\mysqld-nt --remove可把服务删除。

手动启动关闭服务的方法是运行c:\net start mysql和c:\net stop mysql命令。

windows平台下:

用管理员帐号登录服务器,关闭MySQL数据库服务器。

使用--skip-grant-tables参数启动服务器:

c:\mysql\bin>mysqld-nt --skip-grant-tables

重新打开一个console窗口,用mysql命令登录服务器设置root的新密码:

c:\mysql\bin>mysql

mysql>use mysql

mysql>set password for 'root'@'localhost' = password('password')

卸载rpm

查看是否安装

rpm -qa | grep 包名

卸载 rpm –e 包名

加载光盘mount -t iso9660 /dev/hdc /mnt/cdrom


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7176122.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存