Results tagged “linux”

sudo apt-get 和dpkg命令大全

zz from 
http://mintelong.iteye.com/blog/480132
http://lnote.blogbus.com/logs/106238865.html
 

dpkg命令解析 

dpkg是Debian的中级软件包管理器,类似RPM. 
dpkg是Debian软件包管理系统的中流砥柱,负责安全卸载软件包,配置,以及维护已安装的软件包.也是Debian系统中众多软件包管理工具的后端.有关dpkg的更多介绍参阅:http://www.dpkg.org 
系统中所有packages的信息都在/var/lib/dpkg/目录下,其中子目录"/var/lib/dpkg/info"用于保存各个软件包的配置文件列表. 
.conffiles 记录了软件包的配置文件列表 
.list 保存软件包中的文件列表,用户可以从.list的信息中找到软件包中文件的具体安装位置. 
.md5sums 记录了软件包的md5信息,这个信息是用来进行包验证的. 
.prerm 脚本在Debian报解包之前运行,主要作用是停止作用于即将升级的软件包的服务,直到软件包安装或升级完成. 
.postinst脚本是完成Debian包解开之后的配置工作,通常用于执行所安装软件包相关命令和服务重新启动. 
/var/lib/dpkg/available文件的内容是软件包的描述信息,该软件包括当前系统所使用的Debian安装源中的所有软件包,其中包括当前系统中已安装的和未安装的软件包. 
dpkg 
查询以安装的信息 
查询当前系统所有已安装的deb包 
dpkg -l 命令用于查询当前系统所有以安装的deb包的信息.,通过less和grep可以执行更复杂的查询工作. 
例如查找跟vim有关的软件包,dpkg -l |grep -ivim 
(如发现iU 表示软件包未安装成功,ii表示安装成功) 
查看已安装软件包的详细情况 
dpkg -s 命令查看软件包的详细情况,包括版本,依赖之类的 
查询系统中所安装软件包所安装的文件 
dpkg -L 命令用于查询系统中所安装软件包的安装的文件安装到系统的位置和安装了那些. 
小提示: 如何可以看软件包装到哪个地方? 
用apt-get install * 
如何可以看软件包装到哪个地方? 
dpkg -L package-name|more 

查询系统中某个文件属于那个软件包 
dpkg -S 命令用于了解当前的软件属于那个软件包 
查询未安装的信息 
查询未安装软件包详细信息 
dpkg -I 命令用于查看未安装软件包的详细信息,以便了解该软件包是否需要安装. 
查询deb包文件中所包含的文件 
dpkg -c 显示未安装deb软件包所包含的文件列表,以及安装位置 
安装软件包 
安装deb软件包 
dpkg -i 手工安装deb包到系统中,不过有时会存在Dpends关系,建议使用apt-get 来安装. 
如果通过dpkg -i安装软件后由于Dpends关系没有安装成功,可通 过apt-get -f install解决 
解决dpkg -i 安装deb包出现Dpends问题 
Java代码  
apt-get -f install 解决Dpends问题.  

例如:dpkg -i lftp_3.1.3-1_i386.deb 
Selecting previously deselected package lftp. 
(Reading database ... 20654 files and directories currently installed.) 
unpacking lftp (from lftp_3.1.3-1_i386.deb)... 
dpkg:dependency problems prevent configuration of lftp: 
ftp depends on libexpat1 (<=1.95.8);however 
dpkg : error processing lftp (--install) 
dependency problems -leaving unconfigured 
Errors were encountered while processing: 
lftp 
//lftp软件包安装失败 
dpkg -l |grep lftp 
iU lftp 3.1.3-1 Sophisticated 
command-line FTP/HTTP client p 
//"dpkg -l" 查询信息表示lftp软件包未安装成功 
(iU表示未安装成功,ii表示安装成功) 
使用apt-get -f install解决 
卸载deb软件包 
卸载deb包 
dpkg -r用于卸载指定的软件包,该命令只卸载软件包安装到系统中的文件,而不去删除软件包的配置文件,因此不是完全意义上的卸载.但是软件包保存在系统中,可以提供给以后在安装软件包时使用. 
例如:dpkg -r prozilla 移除后再用dpkg -l |grep prozilla 查看 
会看到rc proc 1.3.6-3woody3 multi-thraded download accelerator 
表示软件包已经被卸载,但配置文件仍在"rc"带表配置文件仍在. 
卸载软件包并清除配置文件 
dpkg -P 用于卸载软件包同时也删除配置文件,dpkg -P 不能解决Dpends问题,建议卸载时使用apt-get操作 
重新配置软件包 
对于Debian系统中的众多软件包(尤其是系统和服务器软件包)来说,在第一次安装该软件包时候会显示对话框窗口,提示用户输入必要的配置信息.当用户需要再次对软件包配置的时候,可以使用dpkg-reconfigure来对指定的软件包进行配置. 
比如dpkg-reconfigure locales 
用于配置语言 
alien包转换工具 
如果我们有很喜欢的RPM包,而又没有deb版本 
怎么办~? 
可以同过alien来转换或者直接安装,这个小家伙可是个很方便的东西! 
基本命令如下: 
首先通过apt-get install alien来安装. 
然后alien -i name-of-the-pakage.rpm /*用来直接安装rpm包 
alien -d , --to-deb /*Make debian packages,This is the default 
例:alien -d package.rpm 
alien -r , --to-rpm /*Make rpm packages 
例:alien -r package.deb 
alien -p , --to-pkg /*Make Solaris pkg packages 
alien --to-slp /*Make slp packages 
alien -t , --to-tgz /*Make tgz packages 
alien -T 检测 
alien --patch=patch 设置patch 

Java代码  
sudo dpkg --configure -a  


一、APT的使用(Ubuntu Linux软件包管理工具一) 
apt-cache search # ------(package 搜索包) 
apt-cache show #------(package 获取包的相关信息,如说明、大小、版本等) 
sudo apt-get install # ------(package 安装包) 
sudo apt-get install # -----(package - - reinstall 重新安装包) 
sudo apt-get -f install # -----(强制安装?#"-f = --fix-missing"当是修复安 
装吧...) 
sudo apt-get remove #-----(package 删除包) 
sudo apt-get remove - - purge # ------(package 删除包,包括删除配置文件 
等) 
sudo apt-get autoremove --purge # ----(package 删除包及其依赖的软件包+配置文件等(只对6.10有效,强烈推荐)) 
sudo apt-get update #------更新源 
sudo apt-get upgrade #------更新已安装的包 
sudo apt-get dist-upgrade # ---------升级系统 
sudo apt-get dselect-upgrade #------使用 dselect 升级 
apt-cache depends #-------(package 了解使用依赖) 
apt-cache rdepends # ------(package 了解某个具体的依赖?#当是查看该包被哪些包依赖吧...) 
sudo apt-get build-dep # ------(package 安装相关的编译环境) 
apt-get source #------(package 下载该包的源代码) 
sudo apt-get clean && sudo apt-get autoclean # --------清理下载文件的存 
档 && 只清理过时的包 
sudo apt-get check #-------检查是否有损坏的依赖 
apt-get install 的用法 
apt-get install <package> 
下载 <package> 以及所有倚赖的包裹,同时进行包裹的安装或升级.如果某个包裹被设置了 hold (停止标志,就会被搁在一边(即不会被升级).更多 hold 细节请看下面. 
apt-get remove [--purge] <package> 
移除 <package> 以及任何倚赖这个包裹的其它包裹.--purge 指明这个包裹应该被完全清除 (purged) ,更多信息请看 dpkg -P . 
apt-get update 
升级来自 Debian 镜像的包裹列表,如果你想安装当天的任何软件,至少每天运行一次,而且每次修改了 
/etc/apt/sources.list 后,必须执行. 
apt-get upgrade [-u] 
升级所以已经安装的包裹为最新可用版本.不会安装新的或移除老的包裹.如果一个包改变了倚赖关系而需要安装一个新的包裹,那么它将不会被升级,而是标志为 hold .apt-get update 不会升级被标志为 hold 的包裹 (这个也就是 hold 的意思).请看下文如何手动设置包裹为 hold .我建议同时使用 '-u' 选项,因为这样你就能看到哪些包裹将会被升级. 
apt-get dist-upgrade [-u] 
和 apt-get upgrade 类似,除了 dist-upgrade 会安装和移除包裹来满足倚赖关系.因此具有一定的危险性. 
apt-cache search <pattern> 
搜索满足 <pattern> 的包裹和描述. 
apt-cache show <package> 
显示 <package> 的完整的描述. 
apt-cache showpkg <package> 
显示 <package> 许多细节,以及和其它包裹的关系. 
dselect, console-apt, aptitude, gnome-apt,是APT 的几个图形前端(其中一些在使用前得先安装).这里 dselect 无疑是最强大的,也是最古老,最难驾驭. 
------------------------------------- 
二、 DPKG的 用法(Ubuntu Linux软件包管理工具二) 
dpkg -i <package.deb> 
安装一个 Debian 包裹文件;如你手动下载的文件. 
dpkg -c <package.deb> 
列出 <package.deb> 的内容. 
dpkg -I <package.deb> 
从 <package.deb> 中提取包裹信息. 
dpkg -r <package> 
移除一个已安装的包裹. 
dpkg -P <package> 
完全清除一个已安装的包裹.和 remove 不同的是, remove 只是删掉数据和可执行 
文件, purge 另外还删除所有的配制文件. 
dpkg -L <package> 
列出 <package> 安装的所有文件清单.同时请看 dpkg -c 来检查一个 .deb 文件 
的内容. 
dpkg -s <package> 
显示已安装包裹的信息.同时请看 apt-cache 显示 Debian 存档中的包裹信息,以 
及 dpkg -I 来显示从一个 
.deb 文件中提取的包裹信息. 
dpkg-reconfigure <package> 
重新配制一个已经安装的包裹,如果它使用的是 debconf (debconf 为包裹安装提 
供了一个统一的配制界面).你能够重新配制 debconf 它本身,如你想改变它的前端 
或提问的优先权.例如,重新配制 debconf ,使用一个 dialog 前端,简单运行: 
dpkg-reconfigure --frontend=dialog debconf (如果你安装时选错了,这里可以 
改回来哟 
echo "<package> hold" | dpkg --set-selections 
设置 <package> 的状态为 hlod (命令行方式) 
dpkg --get-selections "<package>" 
取的 <package> 的当前状态 (命令行方式) 
支持通配符,如: 
Debian:~# dpkg --get-selections *wine* 
备注: 
-------------------------------------例如: 
大家现在用的都是 gaim-0.58 + QQ-plugin,为了防止 gaim 被升级,我们可以采用 
如下方法: 
方法一: 
Debian:~# echo "gaim hold" | dpkg --set-selections 
然后用下面命令检查一下: 
Debian:~# dpkg --get-selections "gaim" 
gaim hold 
现在的状态标志是 hold,就不能被升级了. 
如果想恢复怎么办呢? 
Debian:~# echo "gaim install" | dpkg --set-selections 
Debian:~# dpkg --get-selections "gaim" 
gaim install 
这时状态标志又被重置为 install,可以继续升级了. 
同志们会问,哪个这些状态标志都写在哪个文件中呢? 
在 /var/lib/dpkg/status 里,你也可以通过修改这个文件实现 hold. 
有时你会发现有的软件状态标志是 purge,不要奇怪. 
如:事先已经安装了 amsn, 然后把它卸了. 
apt-get remove --purge amsn 
那么状态标志就从 install 变成 purge. 
方法二: 
在/etc/apt 下手动建一个 preferences 文件 
内容: 
Package: gaim 
Pin: version 0.58* 
保存 
更详细内容请看: 
http://linuxsir.com/bbs/showthread....&threadid=22601 
dpkg -S <file> 
在包裹数据库中查找 <file>,并告诉你哪个包裹包含了这个文件.(注:查找的是事 
先已经安装的包裹) 
从源码建立deb packages 
apt-get source [-b] <package> 
下载一个源码的包并解开。 
你必须在你的/etc/apt/sources.list文件里写入一条 deb-src 的记录才能完成这 
项工作。 
如果你输入了一个-b参数,并且是以root的身份,deb包会被自动的创建。 
apt-get build-dep <package> 
自动下载并安装通过源码创建 <package> 时需要的包。 
只有apt 0.5以上版本才支持这个功能。 
现在woody和以上版本包含了这个功能。 
如果你使有一个旧版本的apt,查找依赖性最简单的方法是查看源码包中 
debian/control 这个文件, 
注意这个路径是相对的,是包内的路径。 
普通的用法,结合 apt-get source -b,例子 (as root): 
apt-get build-dep <package> 
apt-get source -b <package> 
会下载源码包,建立依赖性,然后尝试编译源码。 
dpkg-source -x <package.dsc> 
如果你手工下载了一个程序的源码包,其中包含了几个类 
似 .orig.tar.gz , .dsc , 
以及 .diff.gz 之类的文件, 
那么你就可以对 .dsc 文件使用这个命令来 unpack 源码包。 
dpkg-buildpackage 
从 Debian 源码树建立一个deb包。你必须在source tree的主目录才能生效。例 
如: 
dpkg-buildpackage -rfakeroot -uc -b 
这里 '-rfakeroot' 指定命令使用 fakeroot 程序来模仿 root 权限 (来实现所有 
者(ownership)目的), 
'-uc' 表示 "Don't cryptographically sign the changelog", '-b' 代表只建立 
二进制包. 
debuild 
一个快速打包脚本类似 dpkg-buildpackage ,能自动的识别是否使用 fakeroot, 
同时为你运行 lintian 和 gpg 
修正倚赖关系 
dpkg --configure --pending 
如果dpkg在apt-get install upgrade dist-uptradeing 的时候出错退出, 
尝试使用此命令来配置已经unpack的包。 
然后再用 apt-get install ,upgrade, or dist-upgrade -f , 
然后再用 apt-get install, upgrade, or dist-upgrade. 
可能会重复多次,这样通常可以解决大多数的依赖性问题。 
(同时,如果提示由于某种原因需要某个特定的包裹,你可以常识安装或卸载这个包) 
apt-get install -f 
apt-get upgrade -f 
apt-get dist-upgrade -f 
尝试修正上述过程中出现依赖性关系 
注意 apt-get install -f 不需要 <package> 作为参数。 
------------------------------------- 
用apt-cdrom -d /media/cdrom0 add 加载光驱, 
/dev/hdc /cdrom iso9660 user,noauto 0 0 
用编辑器修改一下存盘,重启,应该可以了。 
然后,apt-cdrom -d /cdrom add 
apt-get install (你要装的软件名:《例如gcc》) 
gcc相关的软件会自动装入。 
昨天,刚试过,很爽。 
注意:apt不会认你手动挂载的光驱,如果fstab中设置不对apt不会正常工作。 
用apt-cdrom -d /media/cdrom0 add 加载光驱, 
需要使用#mkdir /media/cdrom0 否则会错误提示说"无法读取文件系统挂载 
点/media/cdrom的状态 -stat(2 没有那个文件或目录)" 

--EOF--

Raspberry Pi 的环境梳理

1.tsinghua.edu.cn的apt package不完整(安装VIM失败),而且从速度来看,也没优势,用回了原来的库:

$ cat sources.list
deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi

2.系统中自带的VIM功能严重不足?从工作开发机拿来的配置基本没法用,所以重新更新安装了VIM
sudo apt-get install vim

3.下载上传不方便,安装了lrzsz
sudo apt-get install lrzsz

4.没有telnet开户端,测试网络端口不方便,需要安装:
sudo apt-get install telnet

5.安装go:
http://dave.cheney.net/2012/09/25/installing-go-on-the-raspberry-pi

Installing the prerequisites
Raspbian comes with almost all the tools you need to compile Go already installed, but to be sure you should install the following packages, described on the golang.org website.

% sudo apt-get install -y mercurial gcc libc6-dev
Cloning the source

% hg clone -u default https://code.google.com/p/go $HOME/go
warning: code.google.com certificate with fingerprint 9f:af:b9:ce:b5:10:97:c0:5d:16:90:11:63:78:fa:2f:37:f4:96:79 not verified (check hostfingerprints or web.cacerts config setting)
destination directory: go
requesting all changes
adding changesets
adding manifests
adding file changes
added 14430 changesets with 52478 changes to 7406 files (+5 heads)
updating to branch default
3520 files updated, 0 files merged, 0 files removed, 0 files unresolved

Building Go
% cd $HOME/go/src
% ./all.bash
If all goes well, after about 90 minutes you should see

ALL TESTS PASSED

---
Installed Go for linux/arm in /home/dfc/go
Installed commands in /home/dfc/go/bin
If there was an error relating to out of memory, or you couldn't configure an appropriate swap device, you can skip the test suite by executing

% cd $HOME/go
% ./make.bash
as an alternative to ./all.bash.

Adding the go command to your path
The go command should be added to your $PATH

% export PATH=$PATH:$HOME/go/bin
% go version
go version devel +cfbcf8176d26 Tue Sep 25 17:06:39 2012 +1000
Now, Go and make something awesome.


但直接更新出问题,该死的墙!需要走代理才行。
strace 进去发现网络死掉,接下载源代码,编译安装失败,看来必须翻了。

6.安装代理软件,最终我使用的是tsocks
sudo apt-get install tsocks
编辑/etc/tsosks.conf即可。
另外的privoxy安装了但没使用。

参考:
http://blog.creke.net/770.html
http://blog.ihipop.info/2011/01/1988.html
在终端下间接使用Socks5代理的几种方法(privoxy,tsocks,proxychains)

http://www.privoxy.org/
http://tsocks.sourceforge.net/faq.php

http://renyongjie668.blog.163.com/blog/static/16005312011824112410588/
http://www.51testing.com/?uid-225738-action-viewspace-itemid-246084

使用tsocks:
tsocks [application [applications arguments]]
tsocks [on|off]

举几个实例吧:
tsocks firefox  #之后再firefox上浏览网页就会默认使用tsocks配置的代理
tsocks git clone git://github.com/avikivity/kvm.git #使用proxy来git,这就是我用的原因

source tsocks on #设置当前shell的tsocks,该命令可能遇到一个小bug在下面有讲到
tsocks show    #查看当前Shell的tsocks设置,tsocks: This shell is socksified.
do_something   #这里就能默认使用tsocks的代理去do something了,前面已经设置了
source tsocks off #关闭当前shell的tsocks代理设置
tsocks show    #再次查看,tsocks: This shell is NOT socksified.
遇到的问题及解决方案:

13:01:17 libtsocks(2432): SOCKS server proxy-shz.intel.com (10.239.120.36) is not on a local subnet!
设置的代理没有与/etc/tsocks.conf文件中的local设置的网络在同一个子网中。
13:03:26 libtsocks(2451): The SOCKS server (proxy.ABCD.com) listed in the configuration file which needs to be used for this connection is invalid
配置文件的问题,我也忘了是啥时出现的错误了,但我碰到过的。
13:02:50 libtsocks(2441): Error 110 attempting to connect to SOCKS server (Connection timed out)
这个很明显了,就是你设置的proxy连接不上(可能是本来就连不上,或者没在同一个局域网内),请检查和确认配置。

ERROR: ld.so: object '/lib64/libtsocks.so' from LD_PRELOAD cannot be preloaded: ignored.
郁闷坏了,是因为有一次我在rhel5u5上安装了一个rhel6的tsock rpm包,解决办法是到http://pkgs.org/找到一个tsocks for rhel5的rpm包,安装即可。

[root@kvm-build ~]# source /usr/bin/tsocks on
basename: invalid option -- 'b'
Try `basename --help' for more information.
看到这样的错误,有可能是你的tsocks有点小bug,不过不影响使用的,接着你用tsocks show来看,一样可以看到提示说socks设置成功的,tsocks: This shell is socksified.

我的rhel5和rhel6中的tsocks都遇到这样的错误信息,你可以简单地修改一下/usr/bin/tsocks文件,将其中的basename的一行修改一下即可:

修改前:PRG="$(basename $0)"
修改为:PRG="$(basename -- $0)"

这是由于这个tsocks写后,coreutils工具做了些改动,其中basename工具需要用"--"来表示options的结束(为了保持新老版本的兼容)。这个问题在Bug-coreutils mailing list中讨论过了的,见:http://www.mail-archive.com/bug-coreutils@gnu.org/msg09912.html

替代工具机参考文档:
一个与tsocks有类似功能的工具: socat   (我暂时没怎么用)
见:http://freshmeat.net/projects/socat/
tsocks.conf配置文件:http://linux.die.net/man/5/tsocks.conf
tsocks的使用:http://www.21andy.com/blog/20100212/1678.html 
另外的人遇到的tsocks问题:http://notes.benv.junerules.com/socks-opera-and-brute-force/




--EOF--

PS1 ANSI 的重新梳理

之前已经发现有PS1的异常问题:http://www.guduo.net/2012/02/000392.html
PS1="\n\e[1;37m[\e[m\e[1;32m\u\e[m\e[1;33m@\e[m\e[1;35m\h\e[m \e[4m\`pwd\`\e[m\e[1;37m]\e[m\n\\$ "
参考:http://www.dbanotes.net/techmemo/unix_rm_-f.html 我有留言

这个PS1的设置在fastdomain的机器上允许没问题,但在当时的CentOS上实际是有异常的,今天在Raspberry Pi上也有光标的问题,重新修改了一下,目前正常了:
PS1="\n\[\e[1;37m\][\[\e[m\e[1;32m\]\u\[\e[m\e[1;33m\]@\[\e[m\e[1;35m\]\h\[\e[m \e[4m\]\`pwd\`\[\e[m\e[1;37m]\e[m\e[1;36m\]\n\[\e[m\]\\$ "
export PS1

参考信息:http://www.4ucode.com/Study/Topic/1611190
PS1="\u@\h:\w\$ " 
    但是这样设置之后显示的提示符是没有颜色的,如果希望加入颜色设置,可以这样:

PS1="\e[1;32m\u\e[m\e[1;33m@\e[m\e[1;35m\h\e[m:\w\$ " 
    此时,在终端中的显示应该是彩色的提示符了,其中的\e[1;xxm和\e[m就是改变终端字体颜色的部分,前者是修改颜色,后者是恢复到正常显示。但是 这时还会有问题,在提示符中输入第一行时,回车换行不正常,导致显示很混乱,因此,除了这个修改之外,还需要将全部非打印字符用专用的 bash 转义序列 "\[" 和 "\]" 括起来。这两个序列通知 bash,被括起来的字符不占用行上的任何空间 ,这样就使自动换行能够继续正常工作。最终版本如下(可解决带颜色提示符的不换行问题):

PS1="\[ \e[1;32m\] \u\[ \e[m\] \[ \e[1;33m\] @\[ \e[m\]\[ \e[1;35m\] \h\[ \e[m\] :\w\$ "



另外一些信息小结:
\e 和 \033类似
\e[m 和\e0m 类似


http://51nosql.com/?p=134
Linux终端输出颜色控制

文本终端的颜色可以使用"ANSI非常规字符序列"来生成:
cho -e "\033[背景;前景;光标mME \033[0m"
例:  echo -e "\033[44;37;5m ME \033[0m COOL"
上命令设置背景成为蓝色,前景白色,闪烁光标,输出字符"ME",然后重新设置屏幕到缺省设置,输出字符 "COOL"。"e"是命令 echo 的一个可选项,它用于激活特殊字符的解析器。"\033"引导非常规字符序列。"m"意味着设置属性然后结束非常规字符序列,这个例子里真正有效的字符是 "44;37;5" 和"0"。修改"44;37;5"可以生成不同颜色的组合,数值和编码的前后顺序没有关系。


可以选择的编码如下所示:
前景 背景 颜色
---------------------------------------
30 40 黑色
31 41 红色
32 42 绿色
33 43 黄色
34 44 蓝色
35 45 紫红色
36 46 青蓝色
37 47 白色

代码 意义
-------------------------
0 OFF
1 高亮显示
4 下划线
5 闪烁
7 反白显示
8 不可见

其他有趣的代码还有:
\033[2J  清除屏幕
\033[0q  关闭所有的键盘指示灯
\033[1q  设置"滚动锁定"指示灯 (Scroll Lock)
\033[2q  设置"数值锁定"指示灯 (Num Lock)
\033[3q  设置"大写锁定"指示灯 (Caps Lock)
\033[15:40H 把光标移动到第15行,40列
\007   发蜂鸣生beep

RedHat的字体和背景颜色的改变方法:
命令:
PS1="[\e[32;1m\u@\h \W]\\$"
export PS1="[\e[32;1m\u@\h \W]\\$" 两者的区别请查看环境变量的相关资料
解释:
\e[32;1m:这就是控制字体和背景颜色的转义字符,30~37是字体颜色、40~47是背景颜色
例子中的32;1m数字的位置是可以对调的如\e[1;32m,如果是在X环境下可以更换一下1的范围0~10,可能有的没用处:0或者不写(\e [0;32m或\e[;32m)显示浅颜色,1:显示高亮 4:加下划线.....如果改后的效果不好,但是又还原不了,那就不写m前面的数字,如\e[32;m,或者直接注销再登陆

\u \h \W:这是一些转义字符,下面详细解释:
\d :代表日期,格式为weekday month date,例如:"Mon Aug 1"
\H :完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux
\h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略
\t :显示时间为24小时格式,如:HH:MM:SS
\T :显示时间为12小时格式
\A :显示时间为24小时格式:HH:MM
\u :当前用户的账号名称
\v :BASH的版本信息
\w :完整的工作目录名称。家目录会以 ~代替
\W :利用basename取得工作目录名称,所以只会列出最后一个目录
\# :下达的第几个命令
\$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$
\n :新建一行
字体并不局限于一个颜色,可以有多个颜色:
PS1="[\e[32;1m\u@\e[35;1m\h \e[31;1m\W]\\$"
以上两个命令在注销后再登陆就失效了,用下面方法使其永久生效:
vi /etc/profile
在"export PATH ....."下面添加一行:export PS1="[\e[32;1m\u@\h \W]\\$"
注销再登陆,就成功了,如果没生效,使用source /etc/profile 命令试试,或者直接重启机器。

颜色代码:
字背景颜色范围: 40-49 字颜色: 30-39
40: 黑 30: 黑
41: 红 31: 红
42: 绿 32: 绿
43: 黄 33: 黄
44: 蓝 34: 蓝
45: 紫 35: 紫
46: 深绿 36: 深绿
47: 白色 37: 白色
ANSI控制码:
\033[0m 关闭所有属性
\033[1m 设置高亮度
\03[4m 下划线
\033[5m 闪烁
\033[7m 反显
\033[8m 消隐
\033[30m -- \033[37m 设置前景色
\033[40m -- \033[47m 设置背景色
\033[nA 光标上移n行
\03[nB 光标下移n行
\033[nC 光标右移n行
\033[nD 光标左移n行
\033[y;xH设置光标位置
\033[2J 清屏
\033[K 清除从光标到行尾的内容
\033[s 保存光标位置
\033[u 恢复光标位置
\033[?25l 隐藏光标
\33[?25h 显示光标



http://www.cnblogs.com/RigorosLee/archive/2011/03/23/1992263.html
第二个部分是:

\[\e[1;32m\]\u@\h:\[\e[0m\e[1;34m\]\W\[\e[1;34m\]\$ \[\e[0m\]
我们先来研究第二部份,这个部分看起来比较简短。其中我们可以看到一个 PS1 里面非常基本的结构:\u@\h:\W\$ ,这个结构在我的电脑里就显示为 upsuper@upsuper-laptop:~$ 大家大概可以猜到里面是什么意思了吧。

这个基本骨架理出来,剩下的是看过去最蛋疼的那堆莫名其妙的符号了~我们看到很多 \e[ 这样的东西,事实上这个叫做 ANSI 控制码,在 Linux 和 Windows 的命令行里面都是通用的,\e 是 Escape 键的键码,\e[ 是一切 ANSI 控制码的开头。首先来到 \e[1;32m 这个控制码,这表示设置这个符号之后的字符为亮绿色,而 \e[0m 则是清除所有格式,这样看有没有一点清晰了呢?更多用法可以参考维基百科条目ANSI escape code。

之后还有两个东西不清楚,就是 \[ 和 \],这两个并不是 ANSI 控制码,而是 Bash 提供的转义符。他们的解释说实话我没看太懂,不过我的理解大概就是,夹在 \[ 和 \] 之间的部分 Bash 假定他们的宽度为0,不正确地标注这两个符号会导致 Bash 的换行错误。总之在所有控制符两侧都加上这两个就对了~



文本终端的颜色可以使用"ANSI非常规字符序列"来生成:

echo -e "\033[背景;前景;光标mME \033[0m"

举例:  echo -e "\033[44;37;5m ME \033[0m COOL"

以上命令设置背景成为蓝色,前景白色,闪烁光标,输出字符"ME",然后重新设置屏幕到缺省设置,输出字符 "COOL"。"e"是命令 echo 的一个可选项,它用于激活特殊字符的解析器。"\033"引导非常规字符序列。"m"意味着设置属性然后结束非常规字符序列,这个例子里真正有效的字符是 "44;37;5" 和"0"。修改"44;37;5"可以生成不同颜色的组合,数值和编码的前后顺序没有关系。


变为:
PS1="\e[32;40m\w> "
到现在为止,提示行尽管已经很不错了,但仍不太完美。在 bash 显示出工作目录以后,我们需要使用 "\e[0m" 序列将颜色重新设置为正常值。
PS1="\e[32;40m\w> \e[0m"
这个定义将显示一个漂亮的绿色提示行,但仍需要做一些扫尾工作。有时我们不需要包括 "40" 这个背景颜色设置,因为它将背景设置为黑色,而黑色是默认颜色。此外,绿色还很暗;我们通过添加一个 "1" 颜色代码来修正这个问题,这将启用更亮的加粗文字。除了这个修改之外,还需要将全部非打印字符用专用的 bash 转义序列 "\[" 和 "\]" 括起来。这两个序列通知 bash,被括起来的字符不占用行上的任何空间,这样就使自动换行能够继续正常工作。没有这两个转义序列,尽管我们有了一个非常漂亮的提示行,但是如果键入的命令恰好到达终端的最右端,就会造成显示混乱。下面是最终的提示行:
PS1="\[\e[32;1m\]\w> \[\e[0m\]"
我们也不用担心在同一个提示行中使用几种颜色,就像下面这样(我的颜色配置):
PS1=\[\e[36;1m\]\u@suse:\[\e[32;1m\]\w\[\e[36;1m\]> \[\e[0m\]



但是,当我们把这个配置写入.bashrc文件后,会发现一个问题,那就是terminal的标题栏变成了一个永恒不变的"Termianl"了,这可能并不是我们希望的,默认的显示用户名、主机名和当前工作路径(我比较喜欢这个默认的哈),我们可能希望把他配回来。其实配置标题栏和上面说过的配置提示符内容差不多,只是要加上:
\e]2;...\a
中间省略号就可以加我们想让标题栏显示的内容了。
例如我们把 "\e]2;This is my terminal:>\a" 加进PS1变量中(当然也需要用"\["和"\]"转义序列括起来),标题栏中就会显示  This is my terminal:>


个提示行将全部信息显示在标题栏上,而不是显示在终端上,终端对一行可以显示多少字符有限制。顺便提一句,确保用 "\[" 和 "\]" 将您的标题栏序列括起来(因为就终端而言,这个序列是非打印序列)。将大量信息放在标题栏中的问题是,如果您使用非图形终端(如系统控制台),则看不到这些信息。为了解决这个问题,可以在您的 .bashrc 中添加以下几行:
if [ "$TERM" = "linux" ]
then
#we're on the system console or maybe telnetting in
export PS1="\[\e[32;1m\]\u@\H > \[\e[0m\]"
else
#we're not on the console, assume an xterm
export PS1="\[\e]2;\u@\H \w\a\e[32;1m\]>\[\e[0m\] "
fi
这个 bash 条件语句将根据当前的终端设置动态设置提示行。为了获得一致性,您一定希望配置您的 ~/.bash_profile,以便它在启动时搜索 (source) 您的 ~/.bashrc。确保您的 ~/.bash_profile 文件中有以下这样一行:
source ~/.bashrc
这样,无论您开启一个登录 shell 还是一个非登录 shell,都会获得同样的提示行。
好了,您已掌握了提示行魔术。现在尽情享受一下,制作一个漂亮的彩色提示行吧



http://www.tuicool.com/articles/qeENNz
http://blog.csdn.net/signjing/article/details/8205785
linux ansi控制码

简介
ANSI控制码用于在字符显示系统中控制光标移动和字符色彩等,常用于BBS系统中。

ANSI ESCAPE SEQUENCES又称为VT100系列控制码,国内译为ANSI控制码。顾名思义,需要VT100系列终端的支持,当然现在已经不在局限于VT100了,包括xterm,linux都能很好完成。

ANSI控制码开始的标志都为ESC[,ESC对应ASCII码表的033(八进制),linux命令echo用-e启用转义,\033来输入ESC,\033[31m即为ESC[31m。  

格式
echo:-e 用来开启echo中的转义,\e 或 \033 来输出Esc符号

格式: echo -e "\033[字背景颜色;字体颜色m字符串\033[0m"

注意m后面紧跟字符串。

例如:

echo -e "\033[41;36m something here \033[0m"

其中41的位置代表底色, 36的位置是代表字的颜色

那些ascii code 是对颜色调用的始末

 \033[ ; m ......\033[0m



http://blog.chinaunix.net/uid-14358420-id-3408534.html

这样解析下bash版本的字串 "\e[s\e[0;$((COLUMNS-27))H$(date)\e[u" 。
\e[s  :保存光标位置
\e[0;$((COLUMNS-27))H  在终端第一行的倒数27个字符的位置开始打印字符
$(date)  打印date命令的输出
[u 恢复光标位置


http://www.4ucode.com/Study/Topic/1611190
\d :代表日期,格式为weekday month date,例如:"Mon Aug 1"
\H :完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux
\h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略
\t :显示时间为24小时格式,如:HH:MM:SS
\T :显示时间为12小时格式
\A :显示时间为24小时格式:HH:MM
\u :当前用户的账号名称
\v :BASH的版本信息
\w :完整的工作目录名称。家目录会以 ~代替
\W :利用basename取得工作目录名称,所以只会列出最后一个目录
\# :下达的第几个命令
\$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$

    CentOS中关于这些:
\a     an ASCII bell character (07)
\d     the date in "Weekday Month Date" format (e.g., "Tue May
                     26")
\D{format} the format is passed to strftime(3) and the result is inserted into the prompt string; an empty format results in a locale-specific time representation. The braces are required
\e     an ASCII escape character (033)
\h     the hostname up to the first '.'
\H     the hostname
\j     the number of jobs currently managed by the shell
\l     the basename of the shell's terminal device name
\n     newline
\r     carriage return
\s     the name of the shell, the basename of $0 (the portion
                     following the final slash)
\t     the current time in 24-hour HH:MM:SS format
\T     the current time in 12-hour HH:MM:SS format
\@     the current time in 12-hour am/pm format
\A     the current time in 24-hour HH:MM format
\u     the username of the current user
\v     the version of bash (e.g., 2.00)
\V     the release of bash, version + patch level (e.g., 2.00.0)
\w     the current working directory, with $HOME abbreviated with a tilde
\W     the basename of the current working directory, with $HOME abbreviated with a tilde
\!     the history number of this command
\#     the command number of this command
\$     if the effective UID is 0, a #, otherwise a $
\nnn   the character corresponding to the octal number nnn
\\     a backslash
\[     begin a sequence of non-printing characters, which could be used to embed a terminal control sequence into the prompt
\]     end a sequence of non-printing characters


    于是可以根据这些指定自己喜欢的命令提示符格式:

PS1="\u@\h:\w\$ " 
    但是这样设置之后显示的提示符是没有颜色的,如果希望加入颜色设置,可以这样:

PS1="\e[1;32m\u\e[m\e[1;33m@\e[m\e[1;35m\h\e[m:\w\$ " 
    此时,在终端中的显示应该是彩色的提示符了,其中的\e[1;xxm和\e[m就是改变终端字体颜色的部分,前者是修改颜色,后者是恢复到正常显示。但是 这时还会有问题,在提示符中输入第一行时,回车换行不正常,导致显示很混乱,因此,除了这个修改之外,还需要将全部非打印字符用专用的 bash 转义序列 "\[" 和 "\]" 括起来。这两个序列通知 bash,被括起来的字符不占用行上的任何空间 ,这样就使自动换行能够继续正常工作。最终版本如下(可解决带颜色提示符的不换行问题):

PS1="\[ \e[1;32m\] \u\[ \e[m\] \[ \e[1;33m\] @\[ \e[m\]\[ \e[1;35m\] \h\[ \e[m\] :\w\$ "

--EOF--

新入树莓派 raspberry pi

B版,512M,Made In China,300RMB

恰好手头有之前入的16G东芝SD Class10黑卡,可惜读写速度和白卡差别太大,用在PI上不会觉得浪费。

300块的东西,玩玩不错了。到手后第一天在家里才发现居然没USB键盘,于是第二天带到公司才搞定系统,然后回家再远程管理。

远程图形操作管理,参考:http://www.douban.com/group/topic/31460736/

工具:putty 和 Xming 
功能:实现图形界面的远程访问 

前期准备:安装SSH server并启动。这个功能Raspbian系统自带,就不用说了。 

操作步骤: 
1. 下载并安装Xming, 地址http://sourceforge.net/projects/xming/ 
2. 下载并安装putty,地址http://www.putty.org/ 
3. 启动Xming,默认设置就可以,如果喜欢折腾自己看Manual 
4. 启动putty,并登陆Pi,很重要的一条:在Connection项里选择SSH -> X11,勾选Enable X11 forwarding. 
5. 在putty命令行下输入:startlxde,稍等就会出现R-pi的界面,好了,兴奋吧!!


视频播放,参考:http://www.leiphone.com/raspberry-pi-hands-on.html
视频播放
标准Raspbian版本中支持树莓派的GPU的播放器好像只有omxplayer,是个命令行程序,没有界面的,也不能拖动。它有很多参数,最常用的是-o,选项有local和hdmi,表示声音输出到audio out还是hdmi,omxplayer后面跟着要播放的文件名称,不支持wmv,不支持外置字幕。打开终端窗口,出现提示符后输入:

omxplayer -o hdmi 文件名

也可以先用cd命令,将当前路径改变到文件所在的目录,文件名就不需要绝对路径了。其实大家会觉得命令行输入非常麻烦,但只要用Tab键进行命令补齐,用ls列出当前目录的文件,再配合鼠标选择文字,然后按中键(就是按下滚轮)进行连动的复制粘贴,即使没有资源管理器也会发现目录操作可以很快速的。

由于一般媒体文件都是放置在外置的硬盘中,所以这时需要将硬盘接入到USB口上,系统默认会在/media目录下创建和硬盘卷标一样的目录,并将USB硬盘挂接上去,之后就可以访问了。

测试的结果大部分用X.264编码的1080p视频都可以正常流畅播放。唯一一部无法播放的是:[魔术师和兔子].Pixar.Short.Presto.1080p.BluRay.x264.mkv。

--EOF--

CentOS系统的一些设置

1.无线上网卡 BCM4306  Rev 3
信息参考:
http://wireless.kernel.org/en/users/Drivers/b43
http://en.gentoo-wiki.com/wiki/Broadcom_43xx
简单点说,就是新的内核已经支持,所以直接升级了内核,重新编译时对相关硬件进行了选择。
关注点:
#拷贝/boot/config-2.6.18-274.el5 为/usr/src/linux-2.6.33.20/.config
#cp /boot/config-2.6.18-274.el5 .config  

内核升级后,参考最上面的一些信息,重点摘要如下:
Install b43-fwcutter

Use version 015 of b43-fwcutter.
Download, extract the b43-fwcutter tarball and build it:

Toggle line numbers

   1 wget http://bu3sch.de/b43/fwcutter/b43-fwcutter-015.tar.bz2
   2 tar xjf b43-fwcutter-015.tar.bz2
   3 cd b43-fwcutter-015
   4 make
   5 sudo make install
   6 cd ..

If you are using the b43 driver from 3.2 kernel or newer:

After installing b43-fwcutter, download version 5.100.138 of Broadcom's proprietary driver and extract the firmware from it:

Toggle line numbers

   1 export FIRMWARE_INSTALL_DIR="/lib/firmware"
   2 wget http://www.lwfinger.com/b43-firmware/broadcom-wl-5.100.138.tar.bz2
   3 tar xjf broadcom-wl-5.100.138.tar.bz2
   4 sudo b43-fwcutter -w "$FIRMWARE_INSTALL_DIR" broadcom-wl-5.100.138/linux/wl_apsta.o

If you are using the b43 driver from older kernel:

After installing b43-fwcutter, download version 5.10.56.27.3 of Broadcom's proprietary driver and extract the firmware from it:

Toggle line numbers

   1 export FIRMWARE_INSTALL_DIR="/lib/firmware"
   2 wget http://mirror2.openwrt.org/sources/broadcom-wl-5.10.56.27.3_mipsel.tar.bz2
   3 tar xjf broadcom-wl-5.10.56.27.3_mipsel.tar.bz2
   4 sudo b43-fwcutter -w "$FIRMWARE_INSTALL_DIR" broadcom-wl-5.10.56.27.3/driver/wl_apsta/wl_prebuilt.o

按照情况,现在应该可以了吧?实际还是不行。接下来就要我们出手了:
说明:本文主要介绍centos 5.5之下的操作!
安装linux后,如果无线网卡上不了网,每次启动的时候,都提示:
"Error for wireless request "Set Mode" (8B06) :
SET failed on device wlan0 ; Invalid argument.
Error for wireless request "Set Encode" (8B2A) :
SET failed on device wlan0 ; Invalid argument. "
正在决定 wlan0 的 IP 信息... 
  
然后无法上网,我们该怎么办呢?可以用以下方法解决一下:
1.关闭SELinux
方法:系统---管理---安全级别和防火墙   打开有个SELinux的标签,进去禁用。其实这一步已经能上网了!
2.用NetworkManager管理网络。
方法:终端里输入system-config-services,出来一个窗口,第一个就是NetworkManager,勾上,开始之,保存一下 ,系统托盘处会出现了一个小电脑!像windows的网络连接一样!

现在为止,就可以用无线网卡上网了。

2.中文显示
fonts-chinese-3.02-12.el5.noarch.rpm 
fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm 
一个是中文字体,一个是字体显示包。 
中文输入法
#yum install scim 
#yum install scim-pinyin 

3.Chromium 的安装
Google的官方版本无法在CentOS5上使用,可以用这个:
http://www.linux-powered.com/~ryoji.kamei/ChromiumCentOS5.xhtml
参考:http://www.google.com/support/forum/p/Chrome/thread?tid=3589270c5896c968&hl=en

4.字体
文泉驿 http://wenq.org/
Fiexed和其他几个字体也不错,不过为了中文好看,就试试吧。

5.Xwindows的切换
xwindows下按Ctrl+Alt+F2进入了文本式一终端,怎么回到Xwindows呢

alt+F7
or
alt+方向键:会一个一个切换的

6.修改主机名
参考:http://blog.sina.com.cn/s/blog_566df8180100xkvd.html
一处是/etc/sysconfig/network,另一处是/etc/hosts

7.启动服务的调整
参考:http://www.cnblogs.com/gzrhappy/articles/2220868.html
chkconfig --level 12345 mysql off

8.jar命令
需要安装 java-1.6.0-openjdk-devel,不止是java-1.6.0-openjdk
参考:http://www.webhostingtalk.com/archive/index.php/t-1012608.html

9.flash player
参考:http://www.if-not-true-then-false.com/2010/install-adobe-flash-player-10-on-fedora-centos-red-hat-rhel/

10.PS1
PS1="\n\e[1;37m[\e[m\e[1;32m\u\e[m\e[1;33m@\e[m\e[1;35m\h\e[m \e[4m\`pwd\`\e[m\e[1;37m]\e[m\n\\$ "
参考:http://www.dbanotes.net/techmemo/unix_rm_-f.html 我有留言

http://wenku.baidu.com/view/463276fa0242a8956bece426.html
http://chakra-linux.org/wiki/index.php/Color_Bash_Prompt
https://wiki.archlinux.org/index.php/Color_Bash_Prompt
http://linux.cuit.edu.cn/?p=1090
http://www.4ucode.com/Study/Topic/1611190
http://venus585625.iteye.com/blog/1174567

11. .bash_profile在gnome没执行的情况
参考:http://www.newsmth.net/nForum/article/LinuxApp/510529
发信人: imbenben (爱慕本本), 信区: LinuxApp 
标  题: Re: 为什么~/.bash_profile没有自动执行? 
发信站: 水木社区 (Thu Aug 23 00:08:00 2007), 站内 
  
这么说吧,你在用gdm登录的时候就打开了一个login shell,运行了你的~/.bash_profile 
然后你在gnome下运行gnome-terminal,又打开了一个虚拟shell,继承了之前的环境变量 这个虚拟shell是否是login shell需要在gnome-terminal的选项中设置 
  
打开一个gnome-terminal在菜单中找找就找到了,我现在旁边没有gnome 

12.mysql的安装
注意修改自定义InnoDB目录的权限属主,使用service mysql start|stop来进行。
ps auxww 查看

13.远程桌面:rdesktop

小结:中文使用已经没有任何障碍,非常好。

--EOF--

x31安装CentOS系统

自从几年前买了这台二手X31后,上面的深度xp系统一直没有动过。直到去年国庆前借给一个亲戚用,他居然把硬盘格式化,装上了WIN7,我那会来的时候那个诧异阿。里面的所有东西没了不说,系统慢的要死,根本没法玩,所以元旦的时候花了一些时间重新装回了XP。
话说win7上装XP也没那么容易,因为没有光驱,只好选择了硬盘版GHOST,结果雨林木风的XP盘的一键没法在win7上使用,所以后来是单独找了另外一个一键OneKey,重做了系统,但这个使用上好像还是有一点点问题,最后把我的分区搞没了,后来又使用分区工具DiskGenius搞定(PartitionMagic也用了),Gparted也是一个非常好的工具。

上周末,闲来无聊,重新打起了X31的主意,先下载了最新的CentOS6.2的版本,可最后安装的时候居然CPU不支持PAE,只能重新下载CentOS5.7的版本。

这个版本的安装非常坑爹:只有8CD和DVD的版本,CD的163有镜像,下载很快,DVD的只有种子,下载很慢。我开始想快点下载,所以下载的是CD的版本,以为一张CD可以搞定,结果发现每次安装到最后就需要下一张CD,弄的我多下了5张CD,每次接近一个小时,等待的时间就是5个小时阿。
安装的过程也比较简单:使用U盘引导安装,可以参考这里,但没这么复杂,直接使用UltraISO将下载的CD1的镜像用HDD方式写入到U盘,上面就有isolinux等目录,关键是2个目录,其他都可以删除,也可以不管,反正不用,再将需要的ISO文件copy到U盘,就可以准备动手了。为了简单起见,所有的硬盘数据都抹掉吧。

安装的时候参考上面的信息注意选择:
1. HardDrive的安装方式
2. 分区的时候注意不要把U盘干掉了
3. Grub的配置信息注意要写到硬盘上而不是U盘上。


--EOF--

更换了T43的风扇的扇芯,声音小了不少,特别是XP下面效果非常好,但是OpenSUSE下面还有一些问题,找了一些软件看温度,控制风扇转速:

cpufreq-info:降频使用cpu

tpfan-admin/tpfand:控制风扇转速,但这个安装了我还没法使用,懒得配置了。

Computer Temperature:显示cpu温度的小东西。


--EOF--

恢复MBR和GRUB


今天成功的使用光盘引导,用SFDISK设置了活动分区到原来的XP系统盘,修复了一下MBR,就可以顺利启动到winxp了。
昨天用优盘做的系统MAXDOS中也有SFDISK,却始终没有成功,这个实际上不应该的,可能是MBR忘记修复或者安装了SFDISK自己的启动管理器?或者是这个版本的SFDISK本身有bug,导致活动分区设置好像无效?
总之,后续这里再出问题可以找个PE系统用MAXDOS系统之类的用SFDISK就可以轻松搞定了,关键点:设置活动分区,修复MBR。

上面修复MBR之后实际Suse系统还是无法正常进入的,于是在进入XP后重新安装了了OpenSUSE中的安装引导程序openSUSE11_3_LOCAL.exe,准备重新来一次安装或者更新过程。和安装一样进入新的安装流程后,开始选择了更新,过程很顺利,基本可以看到数据是没有问题的,就是说之前使用Gparted进行分区没有造成大的问题,只是影响了引导分区。更新完成后直接进入了系统,看到之前安装的软件都还在,感觉不错,迫不及待的直接reboot,很悲剧,提示无合适的引导系统。重新用光盘引导用SFDISK设置了活动分区到XP系统,再次进入安装流程,这次得还是来试试恢复GRUB的操作了。

参考了网上的一些资料,非常简单,只有几步:
1)进入rescue系统
2)运行grub
3)root (hd0,1)  --  输入1之前,可以按TAB会有相关提示
4)setup (hd0)
5)quit

一切搞定,重启后见到了久违的GRUB引导界面。

另外一个磁盘分区管理和修改的工具:SPFDISK,也可以看看。

参考资料:
http://www.chinaunix.net/jh/4/16148.html
http://www.svn8.com/linux/glpz/20090611/6384.html


--EOF--

悲剧的分区调整

昨天新安装的OpenSUSE因为分区之前做的不合理,使用Gparted进行分区调整,重启后悲剧了,引导分区被破坏,开机只出现GRUB字样就无法进入了。接下来就想如何修复引导分区,如何进DOS。

下载制作了接近10个优盘启动的系统和软件,最后终于做好一个winpe+DOS的,能进入纯DOS,却无法操作磁盘,心情甚差,下一步只能是找光盘来进行引导进去试试了,如果可以,不知道是否还能进入SUSE?


--EOF--

linux-kernel-headers的问题


Search results for linux-kernel-headers :
OpenSuSE ftp.opensuse.org/distribution/11.2/repo/oss/suse/noarch/linux-kernel-headers-2.6.31-3.4.noarch.rpm
OpenSuSE ftp.opensuse.org/distribution/11.1/repo/oss/suse/noarch/linux-kernel-headers-2.6.27-2.28.noarch.rpm
OpenSuSE ftp.opensuse.org/distribution/11.3/repo/oss/suse/noarch/linux-glibc-devel-2.6.32-3.3.noarch.rpm

特别注意最后一个包,名字是不一样的,但是这里的内容却是差不多的。


> rpm -qa | grep kernel
kernel-desktop-2.6.34-12.3.i586
kernel-devel-2.6.34-12.3.noarch
kernel-firmware-20100617-2.2.noarch
kernel-source-2.6.34-12.3.noarch
linux-kernel-headers-2.6.31-3.4.noarch

可以对查询结果比较一下:
rpm -qlp linux-glibc-devel-2.6.32-3.3.noarch.rpm 
rpm -ql linux-kernel-headers

另外一个值得一看的:

Irrelevant, linux-kernel-headers does _not_ contain the headers needed for compiling a kernel module, see "rpm -qi linux-kernel-headers".

You need "kernel-$flavor-devel" matching the flavor of your running kernel, "uname -r" will tell you. 


Problem solved  Thank you for the tip.
While trying to get the most recent version of the headers, I've added this repository:


This is why I was having a different kernel_default version. After disabled it and downgrade the kernel-default-devel, all went fine.

--EOF--

2  

Pages

March 2025

Sun Mon Tue Wed Thu Fri Sat
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31