站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
Debian/Debian进阶
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
{{Debian top}} ==文件信息== 在已安装的软件包中许找特定文件所属的[[软件]]包: $ dpkg {-S|--search} pattern 或者搜索 Debian archive: $ wget http://ftp.us.debian.org/debian/dists/sarge/Contents-i386.gz $ zgrep -e pattern Contents-i386.gz 或是用专门的软件包命令: <pre> # aptitude install dlocate $ dlocate filename # dpkg -L 和 dpkg -S 的高效代替品 ... # aptitude install auto-apt # 请求式软件包安装工具 # auto-apt update # 为 auto-apt 建立 db 文件 $ auto-apt search pattern # 在所有软件包中搜索 pattern,不论安装与否 </pre> ==软件包信息== 搜索并显示包文件的信息。编辑 /etc/apt/sources.list,让 [[APT]] 指向正确的包文件。如果想了解 testing/unstable 中的相应软件包与当前系统安装的软件包有何差别,使用 apt-cache policy — 更好。 <pre> # apt-get check # 更新缓冲区并检查损坏的软件包 $ apt-cache search pattern # 按文本描述搜索软件包 $ apt-cache policy package # 软件包的 priority/dists 信息 $ apt-cache show -a package # 显示所有 dists 中软件包描述信息 $ apt-cache showsrc package # 显示相应源码包的信息 $ apt-cache showpkg package # 软件包调试信息 # dpkg --audit|-C # 搜索未完成安装的软件包 $ dpkg {-s|--status} package ... # 已安装软件包描述 $ dpkg -l package ... # 已安装软件包的状态(每个占一行) $ dpkg -L package ... # 列出软件包安装的文件的名称 </pre> Woody 发布版没有为 apt-cache showsrc 建档,但该命令可用 你也这可这样查看软件包信息: /var/lib/apt/lists/* /var/lib/dpkg/available 比较下面的文件可以确切了解最近的安装过程对系统造成了那些改变。 /var/lib/dpkg/status /var/backups/dpkg.status* ==使用 APT 无人值守安装== 使用 APT 无人执守安装,要在 /etc/apt/apt.conf 中加上一行: /etc/apt/apt.conf: Dpkg::Options {"--force-confold";} 另一种等价的方法是运行 apt-get -q -y packagename。这种方法可能产生严重的负作用,所以使用起来要小心。 安装完毕以后,可以用重新配置已安装的软件包 ==重新配置已安装的软件包== 使用下列方法重新配置已安装的软件包。 <pre> # dpkg-reconfigure --priority=medium package [...] # dpkg-reconfigure --all # 重新配置所有的软件包 # dpkg-reconfigure locales # 生成额外的 locales # dpkg-reconfigure --p=low xserver-xfree86 # 重新配置 X 服务器 </pre> 如果你想永久改变 debconf 对话框模式,可这么做。 某些程序用于生成特殊的配置[[脚本]]。 *apt-setup - 创建 /etc/apt/sources.list *install-mbr - 安装主引导(Master Boot Record)管理器 *tzconfig - 设定本地时间 *gpmconfig - 设置 gpm [[鼠标]] daemon *eximconfig - 配置 Exim (MTA) *texconfig - 配置 teTeX *apacheconfig - 配置 [[Apache]] (httpd) *cvsconfig - 配置 [[CVS]] *sndconfig - 配置声音系统 *update-alternatives - 设定默认启动命令,例如设定 [[vi]] 启动 [[vim]] *update-rc.d - System-V init 脚本管理工具 *update-menus - Debian 菜单系统 ==删除和清除软件包== 删除软件包但保留其配置文件: # aptitude remove package ... # dpkg --remove package ... 删除软件包并清除配置文件: # aptitude purge package ... # dpkg --purge package ... ==阻止旧软件包升级== 举个例子,要阻止 libc6 和 libc6-dev 通过 dselect 或使用 aptitude install package 命令升级,可执行: # echo -e "libc6 hold\nlibc6-dev hold" | dpkg --set-selections 这种方法不影响 aptitude install package 命令操作。要阻止 aptitude upgrade package 或 aptitude dist-upgrade 命令对软件包执行的强制自动降级行为,可在 /etc/apt/preferences 中加上: Package: libc6 Pin: release a=stable Pin-Priority: 2000 这里“Package:”后不能使用通配符如“libc6*”,如果要保持所有与 glibc 源码包相关的二进制包的版本同步,可以明确的列出它们。 该命令可以显示处于“阻止”状态的软件包: dpkg --get-selections "*"|grep -e "hold$" ==stable/testing/unstable 混合系统== apt-show-versions 可以列出发行版中可用软件包的版本。 <pre> $ apt-show-versions | fgrep /testing | wc ... 你有多少 testing 软件包 $ apt-show-versions -u ... 列出可升级的软件包 $ aptitude install `apt-show-versions -u -b | fgrep /unstable` ... 将所有 unstable 软件包升级到最新版本 </pre> ==删除缓存包文件== 使用 APT 安装软件包会在 /var/cache/apt/archives 目录留下缓存文件,要清除这些文件可使用: # aptitude autoclean # 仅删除无用的包 # aptitude clean # 删除所有的包 ==记录/拷贝系统配置== 对软件包选择情况进行本地备份: <pre> # debconf-get-selections > debconfsel.txt # dpkg --get-selections "*" >myselections # 或使用 \* # debconf-get-selections > debconfsel.txt </pre> "*" 使 myselections 包含那些被指定“完全删除(purge)”的文件。 你可将这个文件发送到另一台电脑并在那儿按文件中的选择进行软件包安装。 <pre> # dselect update # debconf-set-selections < debconfsel.txt # dpkg --set-selections <myselections # apt-get -u dselect-upgrade # 或者 dselect install </pre> ==向stable系统引入软件包== 对 stable 系统进行部分升级,在软件运行环境中重新[[编译]][[源码]]的确是个诱人的想法,这样可以避免由于关联关系不得不对大量软件包升级。首先,将下列镜像源加入 /etc/apt/sources.list: *deb-src http://http.us.debian.org/debian testing \main contrib non-free *deb-src http://http.us.debian.org/debian unstable \main contrib non-free 然后下载源码并在本地生成软件包: <pre> $ apt-get update # 更新软件包搜索列表 $ apt-get source package $ dpkg-source -x package.dsc $ cd package-version ... 查找需要的软件包(编译所需的关联包列在.dsc文件中)并安装它们, 你还需要“fakerroot”软件包。 $ dpkg-buildpackage -rfakeroot ……或者(没有签名) $ dpkg-buildpackage -rfakeroot -us -uc # 如果需要,再使用“debsign” ……然后安装 $ su -c "dpkg -i packagefile.deb" </pre> 通常,需要安装一些带 “-dev” 后缀的软件包以满足关联关系。debsign 在 devscripts 软件包中。auto-apt 可以轻松解决这些关联问题。请使用 fakeroot,如是没有必要,就别使用 root 帐号。 在 Woody 中,这些关联问题已被简化。例如,编译 pine 源码包: # apt-get build-dep pine # apt-get source -b pine ==本地软件包文件== 为了创建与 APT 和 dselect 系统兼容的本地软件包文件,需要创建 Packages,包中文件要放在特定的目录树中。 Debian 官方包文件喜欢存放于本地 deb 仓库,下面就来创建仓库: <pre> # aptitude install dpkg-dev # cd /usr/local # install -d pool # 软件包存放的物理地址 # install -d dists/unstable/main/binary-i386 # ls -1 pool | sed 's/_.*$/ priority section/' | uniq > override # 编辑 override # 调整 priority and section # dpkg-scanpackages pool override /usr/local/ \ > dists/unstable/main/binary-i386/Packages # cat > dists/unstable/main/Release << EOF Archive: unstable Version: 3.0 Component: main Origin: Local Label: Local Architecture: i386 EOF # echo "deb file:/usr/local unstable main" \ >> /etc/apt/sources.list </pre> 还有一种快速但随意的方法来创建本地 deb 仓库: <pre> # aptitude install dpkg-dev # mkdir /usr/local/debian # mv /some/where/package.deb /usr/local/debian # dpkg-scanpackages /usr/local/debian /dev/null | \ gzip - > /usr/local/debian/Packages.gz # echo "deb file:/usr/local/debian ./" >> /etc/apt/sources.list </pre> 在 /etc/apt/sources.list 中设置相应镜像源入口地址,就可以通过 [[HTTP]] 或 [[FTP]] 方式远程访问存放在其中的包文件了。 ==转换或安装外来的二进制软件包== alien 可将其它格式的[[二进制]]软件包如 Redhat 的 rpm、Stampede 的 slp 、Slackware 的 tgz 和 Solaris 的 pkg 等转化成 Debian 的 deb 格式软件包,如果你想在自己的系统上使用别的 [[Linux]] 发行版中的软件包,可使用 alien 将它转化成系统首选的软件包格式后安装。alien 还支持 LSB 的软件包。 ==自动安装命令== auto-apt 是一种按需安装的软件包安装工具。 <pre> $ sudo auto-apt update ... 升级数据库 $ auto-apt -x -y run 进入 auto-apt 模式:/bin/bash 退出这个命令继而退出 auto-apt 模式。 $ less /usr/share/doc/med-bio/copyright # 访问不存在的文件 ... 安装提供了这个文件的软件包。 ... 同样安装依赖的包 </pre> ==校验已安装的软件包== debsums 可以校验已安装软件包的 MD5 编码,对某些软件包没有可用的 MD5 编码,系统管理员可使用一个临时的解决办法: <pre> # cat >>/etc/apt/apt.conf.d/90debsums DPkg::Post-Install-Pkgs {"xargs /usr/bin/debsums -sg";}; ^D </pre> ==优化 sources.list== apt-spy 会根据站点回应时间和[[带宽]]自动创建 sources.list。netselect-apt 会创建一个更完整的 sources.list 文件,但它使用更落后的方法来选择镜像站点(比较 ping 时间)。 <pre> # aptitude install apt-spy # cd /etc/apt ; mv sources.list sources.list.org # apt-spy -d testing -l sources.apt </pre> {{Debian}} ==参考来源== http://www.debian.org/doc/FAQ/ch-getting.zh-cn.html [[category:Debian|D]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:Debian
(
编辑
)
模板:Debian top
(
编辑
)