Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1345661
  • 博文数量: 206
  • 博客积分: 10571
  • 博客等级: 上将
  • 技术积分: 2610
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-30 11:50
文章分类
文章存档

2014年(1)

2013年(4)

2012年(18)

2010年(14)

2009年(31)

2008年(3)

2007年(135)

分类: LINUX

2007-04-30 21:51:29

Debian 小贴士(进行中

Debian 小贴士

是我在论坛里摘录整理下来的:)真的是好东西!


1.网络配置

HTML 代码:

/etc/network/interfaces中设置网卡接口 ,不管是静态IP还是DHCP, 需重起网络设置方可生效

#/etc/init.d/networking restart


相关文件还有/etc/hosts,

/etc/resolv.conf (修改后立即生效)

2.服务加载

HTML 代码:

根据自己的习惯选用下列工具之一:


*rcconf

有时可能需要执行update-rcconf-guide以更新所能管理的服务脚本


*sysv-rc-conf


*sysvconfig


临时启动或停止系统服务:

#/etc/init.d/*servicescript* {start|stop|restart}

好,跟帖,不灌纯净水
还有,非要是Debian的么?跟个bash操作的先。

.bashrc里面添加如下三行(如果是新装的系统,去掉.bashrc的最后三行的注释就成)

代码:

if [ -f /etc/bash_completion ]; then

. /etc/bash_completion

fi

立刻让你的TAB键自动完成功能强大非凡,不过也会有小小的副作用 :-)

在你的.inputrc文件里面加上如下两行

代码:

"\e[A": history-search-backward

"\e[B": history-search-forward

能够让你在命令行输入字符之后,就可以用方向键UpDown来搜索以该串字符开头的历史命令(偷自CarlosBlog,想了解更多信息,请man readline)

.bashrc中加入如下两行:

代码:

HISTCONTROL=ignoredups

HISTIGNORE='ls:pwd:cd:clear:vim:fg:bg:jobs:top'

你的命令行历史记录里面就不会有HISTIGNORE中列出的那些无聊命令(可以自行添加)

alias
命令可以为一些常用的比较长的命令输入用较短的名字,像如果在.bashrc 里面加入:
alias ls='ls --color'
这样在输入ls时就可以有彩色的显示了,不过除非你是有意的,别名尽量避免系统中本来存在的命令哦。

很好的帖子。我跟
如果通过路由上网,需要添加DNS
/etc/resolv.conf (
修改后立即生效)
例如:
nameserver 60.*.*.*
nameserver 60.*.*.*

3. 清除系统中的孤儿包

HTML 代码:


$deborphan --guess-all|tr ["\n"] [" "]|sudo xargs apt-get remove --purge - -y

4.清除系统中仅仅remove的软件包

HTML 代码:

$dpkg -l |grep ^rc|awk '{print $2}' |tr ["\n"] [" "]|sudo xargs dpkg -P -

4.是谁动了我的资源(查看进程调用)

HTML 代码:


lsof -p

5. 开机自动打开 数字键盘

HTML 代码:


打开 /etc/console-tools/config, 文件尾部找到:


# Turn on numlock by default

LEDS=+num <== 取消此行的注释

6. 查找问题所在
当程序出现问题, 但没有给出足够的错误提示时, 可以用下面的命令跟踪:

HTML 代码:


$strace -f -F -o outfile

优化您的安装源:

HTML 代码:

#apt-get install apt-spy

#mv sources.list sources.list.bak //backup

#man apt-spy //获取详细的使用方法

#apt-spy update //更新您的镜像列表文件 /var/lib/apt-spy/mirrors.txt

# apt-spy -d testing -a Asia

//在亚洲区寻找速度最快的testing版镜像,并生成 sources.list文件,也可使用 -o 参数指定写入文件

引用:

ADSL 使用 pppoe /etc/network/interfaces无关


错误的。



引用:

作者: troll

错误的。


那么正确的表达应该是?

代码:

pppoeconf (1.3) unstable; urgency=medium


* transition to the new ppp-on-boot method, adding a profile to the

interfaces file (closes: #298223)

查看软件包的内容:
已安装包

HTML 代码:

dpkg -L packagename


未安装包

HTML 代码:

dpkg-deb -c /path/to/debfile

改时间

代码:

root@0[wide288]# date

1113 16:57:34 CST 2005

root@0[wide288]# date 11131646

1113 16:46:00 CST 2005

root@0[wide288]# date

1113 16:46:04 CST 2005

设置日期

HTML 代码:

#date -s 11/13/05 // mm/dd/yy



设置时间

HTML 代码:

#date -s 20:02



写入CMOS

HTML 代码:

hwclock --systohc


读取CMOS时间

HTML 代码:

hwclock --hctosys



deborphan | xargs apt-get -y remove --purge
清除孤儿软件包

不同控制台间切换

HTML 代码:

ALT+ ←


HTML 代码:

ALT+ →


指定控制台切换

HTML 代码:

ALT+Fnn:1~7



控制台下滚屏

HTML 代码:

SHIFT + pageUp/pageDown

给定关键字, 查找相关命令

HTML 代码:

apropos keyword

HTML 代码:

man -k keyword

查找文件,我喜欢这样

HTML 代码:

#updatedb

$locate filename

有时候updatedb时时间特别长,就是因为搜索的目录过多,你可以设置/etc/updatedb.conf里的以下字段,以让updatedb忽略一些目录,节省时间

代码:

PRUNEPATHS="/tmp /usr/tmp /var/tmp /afs /amd /alex /var/spool /sfs /media /mnt"

我就设置忽略了/mnt目录

apt-cache

HTML 代码:

apt-cache

说明: APT软件包处理工具 - 缓存处理器


apt-cache 只能完成对APT软件包缓存的各种操作, 不能处理系统状态, 只是为系统操作提供有用的关联信息.


在命令行给出 -h --help 选项, 以获取帮助


showpkg

列出软件包的相关信息, 以及详细的依赖情况, 包括依赖与被依赖.


show

列出软件包的完整信息描述.


search

搜索满足描述的软件包,


search --names-only

只匹配软件名


status

列出当前系统缓存状态, 包括软件包数量, 以及相互依赖情况, 等等


depends

列出软件包的依赖列表, 以及可能的解决方案

系统服务
1.
编写启动脚本, 并将其置于 /etc/init.d/目录下

2.
付予 可执行权限

3.
设定为启动服务

#/usr/sbin/update-rc.d defaults

4.
将其删除

#/usr/sbin/update-rc.d -f remove

5.
根据运行级别设定,例如

#/usr/sbin/update-rc.d start 20 1 2 3 . stop 20 4 5 .

lftp显示服务器提示信息

lftp
缺省不会显示 ftp 服务器的欢迎信息和错误信息,可以在 ~/.lftprc 里写入一行

HTML 代码:

debug 3

保持软件包的一个版本

HTML 代码:

#aptitude hold package_name


解除

HTML 代码:

#aptitude unhold package_name



引用:

作者: eTony

lftp显示服务器提示信息

lftp
缺省不会显示 ftp 服务器的欢迎信息和错误信息,可以在 ~/.lftprc 里写入一行

HTML 代码:

debug 3



国内的很多站点都是GBK的代码,而现在系统默认的编码是utf8的,所以,最好再加上

set ftp:charset gbk
set file:charset utf8

需要漂亮的 ASCII 艺术字吗?
试试 FIGlet
详细使用说明:

HTML 代码:

man figlet

HTML 代码:

_ _ _ _ _ _

| (_) | _____ | |_| |__ (_)___

| | | |/ / _ \ | __| '_ \| / __|

| | | < __/ | |_| | | | \__ \

|_|_|_|\_\___| \__|_| |_|_|___/


如何启动进入文本模式

HTML 代码:

# update-rc.d -f ?dm remove //?=k,g,x

查找哪个文件在哪个包里,不管有没有安装

代码:

wajig whichpkg libgtk-1.2



重新启动gdm

代码:

wajig restart gdm


apt-get.org 上搜索包,列出其源

代码:

wajig findpkg emelfm2


更多内容请安装wajig

控制台快照
可以用setterm程序来获得控制台下的屏幕截图。命令格式为:

HTML 代码:

setterm -dump 1

上面命令中,1指第一个虚拟控制台,如要获得第二个虚拟控制台的内容,应改为2,依此类推。

使用 gdm 实现自动登录

/etc/gdm/gdm.conf

HTML 代码:


[daemon]

AutomaticLoginEnable=true

AutomaticLogin=tony

禁用ipv6

/etc/modprobe.d/aliases

HTML 代码:

#alias net-pf-10 ipv6

alias net-pf-10 off

modconf 移除 ipv6模块

调查看硬件信息

HTML 代码:

apt-get install lshw && lshw

没用装zhcon(装好基本系统后)看中文

jfbterm -q -c other,GB2312,iconv,UTF-8

由于需要fb支持
所以在/boot/grub/menu.lst
加入 vga=788(或其它)

useradd adduser

引用:

useradd应该是源于unix的命令,passwd包提供.
使用时需要明确指定参数,不会自动创建家目录和对应组,
仅仅操作/etc/passwd/etc/shadow
对应 userdel


引用:

adduser是一个交互shell脚本,发行版相关.同名包提供.
自动创建创建家目录和对应组, 引用/etc/skel/配置.
在命令执行过程中会调用 useradd.
对应deluser

修改用户资料

chfn userid

解决 apt-get 更新的 W: There are no public key available for the following key IDs: 010908312D230C5F 警告

HTML 代码:


$ wget

$ sudo apt-key add ziyi_key_2006.asc

解决wu-ftp连接过慢的方法:

进入/etc/xinetd.d/wu-ftp,将

  log_on_success += DURATION USERID
  log_on_failure += USERID

两行删掉,然后重起xinetd,好了,问题解决!

将网卡标识与mac绑定

HTML 代码:


auto lo eth0 eth1


iface lo inet loopback


mapping eth0 eth1

map 00:37:E9:17:64:AF netA

map 00:21:E9:17:64:B5 netB


iface netA inet static

address etc...


iface netB inet static

address etc...

修改系统登录信息:

引用:

/etc/motd


其实是/var/run/motd

引用:

$ ls /etc/motd -l
lrwxrwxrwx 1 root root 13 2006-02-23 03:56 /etc/motd -> /var/run/motd

下载网站文档:

引用:

wget -r -p -np -k



引用:

· -r:在本机建立服务器端目录结构;
· -p:
下载显示HTML文件的所有图片;
· -np
:只下载目标站点指定目录及其子目录的内容;
· -k:
转换非相对链接为相对链接。

查看软件依赖关系

引用:

apt-cache depends packagename


引用:

apt-cache showsrc packagename|grep Build-Depends

移除无用的locale files文件

引用:

localepurge

apt-get update 抛出错误:

HTML 代码:

Dynamic MMap ran out of room

原因:是aptcache 太小了

解决:在/etc/apt/apt.conf中加入:

HTML 代码:

APT::Cache-Limit "10000000";

其中 10000000=10M

错误:

HTML 代码:

/var/cache/apt/archives/partial is missing

原因:partial 文件被误删
解决:重建即可

HTML 代码:

#mkdir -p /var/cache/apt/archives/partial

下载一个 deb
1

引用:

apt-get install -d packagename
aptitude install -d packagename

如果管理系统数据库中的对应版本不低于源上的版本将不会下载
下载到 //var/cache/apt/archives/ 目录

2.

引用:

aptitude download packagename

直接执行下载操作
下载到当前目录

系统更新

HTML 代码:


apt-get update

apt-get upgrade/dist-upgrade


aptitude update

aptitude upgrade/dist-upgrade

我的ABCD 在哪里?

HTML 代码:


#df

#mount

# cat /proc/partitions

...

调整分辨率和刷新率

#aptitude install xdebconfigurator

#xdebconfigurator
获取硬件信息

根据所得信息调整/etc/X11/xorg.conf中的参数

自建debian
假定匿名ftp服务器的跟目录是/home/ftp
(1)
建立pool目录
$ cd /home/ftp
$ mkdir debian
$ cd debian
$ mkdir pool
(2)
复制debian
$ cd pool
$ cp /var/cache/apt/archives .
(3)
建立目录结构
$ cd ..
$ install -d dists/testing/main/binary-i386
(4)
生成包信息
$ ls -l pool | sed 's/_.*$/ priority section/' | uniq >override
$ dpkg-scanpackages pool override | gzip > dists/testing/main/binary-i386/Packages.gz
(5)
建立发行文件
$ cat > dists/testing/main/binary-i386/Release << EOF
Archive: testing
Component: main
origin: Debian
Label: Debian
Architecture: i386
EOF
(6)
客户端sources.list设置
deb ftp://
服务器地址>/debian testing main

说明:添加新包时,只需要将新的deb包复制到pool目录,重新进行第(4)步即可。
缺点:未建立包认证信息,安装时会提示认证错误,不过可以使用。
那位大虾如果知道怎么解决这个问题,请帮忙贴出来。

有个地方错了,纠正一下

设定fsckmount的次数:
colinux:~# tune2fs -l /dev/cobd0|grep -i "mount count"
Mount count: 20
Maximum mount count: 38

colinux:~# tune2fs -c 10 /dev/cobd
tune2fs 1.39 (29-May-2006)
Setting maximal mount count to 10

colinux:~# tune2fs -l /dev/cobd0|grep -i "mount count"
Mount count: 20
Maximum mount count: 10

永远不自检:
colinux:~# tune2fs -c -1 /dev/cobd0

调整分¨率和刷°

#aptitude install xdebconfigurator

#xdebconfigurator
·Ö
öá

根据所—á息调整/etc/X11/xorg.conf中的Â
#dexconf

设置xwindow下鼠标速度

使用xset m n命令,下面是速度列表:
"Very Fast" xset m 7 10 &
"Normal(Fast)" xset m 3 10 &
"System Default" xset m default &
"Glacial" xset m 0 10 &

设置bash提示符颜色,示例是绿色:
PS1="\[\033[0;32m\]\u@\h \w \$ \[\033[0m\]"

可以用下面程序选择字节喜欢的颜色:
for(i = 0; i < 70; i++){
for(j = 0; j < 70; j++){
printf("\33[%d;%d;1m you favourite color?\33[0m value: %d, %d\n",
i, j, i, j);
}
}



控制键盘指示灯的命令:
setleds +num|-num
setleds +caps|-caps
setleds +scroll|-scroll
注意:上述命令只能在Shell下执行,不能在X下执行。


弹出光驱:eject
收回光驱:eject -t

引用:

作者: eTony

解决 apt-get 更新的 W: There are no public key available for the following key IDs: 010908312D230C5F 警告

HTML 代码:


$ wget

$ sudo apt-key add ziyi_key_2006.asc

也可以這樣做:
gpg --keyserver subkeys.pgp.net --recv 010908312D230C5F
pgp --export --armor 010908312D230C5F | sudo apt-key add -

debian tips



debian tips

by etony C.F.AN
mail:

转载请注明源自:

1.
获取帮助
man






2.
加载介质
查看介质位置
$ cat /proc/partations
加载磁盘分区
# mount -tauto -o iocharset=utf8 /dev/sdaX /mnt
加载ISO文件
# mount -tiso9660 -o loop /path/of/isofile/ /mnt

3.
升级资源列表
# apt-get update

4.
查看软件包信息
$ apt-cache show packagename

5.
检查软件包安装策略
# apt-cache policy packename

6.
安装软件
#apt-get install packagename
#dpkg -i /path/of/packagefilename.deb

7.
查找软件
$apt-cache search keywords

8.
查找文件所属包
#apt-get install apt-file
#apt-file update
$apt-file search filename
$dpkg -S filename

9.
删除软件包
apt-get remove[--purge] packagename
dpkg -r/P packagename

10.
升级内核
安装内核
apt-get install linux-images-XXXXX
更新grub列表
update-grub

11.
升级系统
apt-get upgrade

升级系统并解决依赖问题
apt-get dist-upgrade

12.
清理系统
apt-get clean
apt-get autoclean

GUI
包管理工具
Synaptic
Adept

13.
编译安装软件包
apt-get install build-dep
apt-get build-dep packagename
apt-get source packagename
debuild -us -uc -b

14.
编译源代码安装
# apt-get install fakeroot debhelper build-essential lintian dh-make devscripts

$ tar zxf program
$ dh_make -e
-f tzfile

$ dpkg-buildpackage -b -uc -rfakeroot

$ lintian myprogram_1.0.1_i386.changes

#dpkg-buildpackage -b -uc -rfakeroot

15.
使用 rpm

alien

16. /etc/sudoers
格式
用户 host=(su用户) 命令表
%
用户 表示组

17.
防火墙定制
# apt-get install fwbuilder rcs fwbuilder-doc

$ fwbuilder

18.
编译内核
make menuconfig
依赖于libncurses5-dev
make-kpkg kernel-image

19.
制作iso文件
# dd if=/dev/cdrom of=/root/rh1.iso
# cat /dev/cdrom >;/root/1.iso
# cp -r /home/user name.iso
# mkisofs -l -J -L -r -o filename.iso /directory

-l
允许长(31)文件名
-J
使用Joliet格式
-L
允许以.开头的文件名
-r
为了与 UNIX/Linux 兼容而使用 Rock Ridge 命名约定,它使所有文件都公共可读
-o
指定输出文件名


阅读(2446) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~