apt get怎么安装关apt-get

dxwangtcg 的BLOG
用户名:dxwangtcg
文章数:367
评论数:188
访问量:1084226
注册日期:
阅读量:5863
阅读量:12276
阅读量:363035
阅读量:1058552
51CTO推荐博文
常用的APT命令参数:   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 package - - purge 删除包,包括删除配置文件等   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 清理无用的包 网管bitscn_com    sudo apt-get check 检查是否有损坏的依赖出自Ubuntu中文
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
下载 以及所有倚赖的包裹,同时进行包裹的***或升级。如果某个包裹被设置了 hold (停止标志,就会被搁在一边(即不会被升级)。更多 hold 细节请看下面。
apt-get remove [--purge]
移除 以及任何倚赖这个包裹的其它包裹。
--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
搜索满足 的包裹和描述。
apt-cache show
显示 的完整的描述。
apt-cache showpkg
显示 许多细节,以及和其它包裹的关系。
console-apt
APT 的几个图形前端(其中一些在使用前得先***)。这里 dselect 无疑是最强大的,也是最古老,最难驾驭。
普通 Dpkg 用法
***一个 Debian 包裹文件,如你手动下载的文件。
列出 的内容。
从 中提取包裹信息。
移除一个已***的包裹。
完全清除一个已***的包裹。和 remove 不同的是,remove 只是删掉数据和可执行文件,purge 另外还删除所有的配制文件。
列出 ***的所有文件清单。同时请看 dpkg -c 来检查一个 .deb 文件的内容。
显示已***包裹的信息。同时请看 apt-cache 显示 Debian 存档中的包裹信息,以及 dpkg -I 来显示从一个 .deb 文件中提取的包裹信息。
dpkg-reconfigure
重新配制一个已经***的包裹,如果它使用的是 debconf (debconf 为包裹***提供了一个统一的配制界面)。你能够重新配制
debconf 它本身,如你想改变它的前端或提问的优先权。例如,重新配制 debconf,使用一个 dialog 前端,简单运行:
dpkg-reconfigure --frontend=dialog debconf (如果你***时选错了,这里可以改回来哟:)
echo " hold" | dpkg --set-selections
设置 的状态为 hlod (命令行方式)
dpkg --get-selections ""
取的 的当前状态 (命令行方式)
支持通配符,如:
Debian:~# dpkg --get-selections *wine*
libwine&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
libwine-alsa&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
libwine-arts&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
libwine-dev&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
libwine-nas&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
libwine-print&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
libwine-twain&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
wine&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
wine+&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
wine-doc&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
wine-utils&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
大家现在用的都是 gaim-0.58 + QQ-plugin,为了防止 gaim 被升级,我们可以采用如下方法:
Debian:~# echo "gaim hold" | dpkg --set-selections
然後用下面命令检查一下:
Debian:~# dpkg --get-selections "gaim"
gaim&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
现在的状态标志是 hold,就不能被升级了。
如果想恢复怎么办呢?
Debian:~# echo "gaim install" | dpkg --set-selections
Debian:~# dpkg --get-selections "gaim"
gaim&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
这时状态标志又被重置为 install,可以继续升级了。
同志们会问,哪个这些状态标志都写在哪个文件中呢?
在 /var/lib/dpkg/status 里,你也可以通过修改这个文件实现 hold。
有时你会发现有的软件状态标志是 purge,不要奇怪。
如:事先已经***了 amsn,然後把它卸了。
apt-get remove --purge amsn
那么状态标志就从 install 变成 purge。
在/etc/apt 下手动建一个 preferences 文件
Package: gaim
Pin: version 0.58*
在包裹数据库中查找 ,并告诉你哪个包裹包含了这个文件。(注:查找的是事先已经***的包裹)apt-get 在Debian项目中的地位是无可替代的,如果说有一个程序可以代表Debian
,那毫无疑问,是 apt-get,apt-get和deb包提供了 RPM 所无法提供的强大功能。
除了apt的便捷以外,apt-get的一大好处是极大地减小了所谓依赖关系恶梦的发生
几率(dependency hell),即使是陷入了dependency hell,apt-get也提供了很好的
援助手段,帮你逃出魔窟。
通常 apt-get 都和网上的压缩包一起出没,从互联网上下载或是***。全世界有超
过200个 debian 官方镜像,还有繁多的非官方软件包提供网站。你所使用的基于D
ebian的发布版不同,你所使用的软件仓库可能需要手工选择或是可以自动设置。你
能从Debian官方网站得到完整的镜像列表。而很多非官方网站提供各种特殊用途的
非官方软件包,当然,使用非官方软件包会有更多风险了。
软件包都是为某一个基本的Debian发布版所准备的(从unstable到stable),并且划
分到不同类别中(如 main contrib nonfree),这个是依据 debian 自由软件纲领而
划分的(也就是常说的dfsg),因为美国限制加密软件出口,还有一个non-us类别。
apt-get 获取软件包所依赖的配置文件 /etc/apt/sources.list 中的设置编写格式
deb [server-type] [address] [directories] [areas]
文中例子:
deb [url]http://mirror.peer1.net/debian[/url] main contrib non-free
我在学校的时候的例子
deb [url]http://debian./debian/[/url] testing main contrib non-free
如果用deb-src 而不是 deb 的话,那么就是指的源代码包。通常都会使用http和f
tp方式获取文件,不过也可以使用本地文件,更罕见的还有rsh和SSH,但都是可以
的。使用 netselect-apt 可以用来判断哪个镜像更快。修改了镜像信息后,应该使
用apt-get update 命令,更新软件包的信息
你可以从Debian 网站上看软件包的相关信息,而另一方面可以使用 dpkg -l 看哪
些软件包已经被***了。很大的程序,比如gnome,通常有个空的软件包,只是通过
依赖关系来***其他所有的相应的软件,而这些软件也可以被逐一***。
apt-get install [package-name]
就可以***软件包了,这里不需要版本号,apt-get 会自动选择最新的。如果最新
的已经被***了,那么就不会***了。如果希望***一个较老的版本,可以选择版
apt-get install gimp=2.2
你也可以选择特定的发布版
apt-get install -t unstable gimp
对于***源代码,使用source代替install就可以了,如果需要编译,使用 -b 选项
,软件包会被下载到当前目录的。(aptitude 注:只有 root 可以 install,但是
谁都可以source 的。)
执行之前,apt-get 会列出有多少软件包要被***、升级,如果要被***的软件不
只是你所指出的软件包,那么它会问你是否继续。可以使用 -s 来看看运行的结果
(注: 不知道这个是怎么仿真的,没试过)
apt-get ***过程中,会显示***的状况,有时 apt-get 会根据软件包的需求调用
debconf 来让用户输入一些配置选项。这个配置一般都是一些选择,通常选择缺省
情况都可以,也可以使用 --yes
来声明,全部使用缺省选项,无需提问。(注:如果使用cron来每天自动更新系统,这个选项还是挺有用的,虽然总觉得有点害怕吧。)
apt-get 的 upgrade 不会***新的软件包,只会升级原有的软件包的版本,要升级
整个系统,可能要***新的软件包,这可以通过 dist-upgrade 完成,比如升级 s
table到testing,建议要升级 stable 到 unstable,先升级到 testing,以减小风
apt-get clean 可以释放被 apt-get 所占用的缓存空间也可以使用 autocl
ean 命令,这样仅仅删去已经不可能被再次下载的文件。
也可以使用 remove 命令删除软件包。(注:如果要连配置文件也一起删
除,需要使用 --purge 参数)
有时也会出问题,可以用下面一些办法解决:
-f 修复依赖关系
-m 忽略有问题的包 (这个不像是解决问题的态度哦) -ignore-hold 忽略有问题的 hold
-s 报告软件包状态当然,如果你的技巧和耐心不够的话,还是小心使用系统吧,正常的使用通常不会
造成很多需要解决的问题 :)
多年以来,apt-get 有了很多前端,除了商业版本外,其他的都可以通过 apt-get
来***。文本界面下,aptitude 还不错,浏览软件包比较方便。对于图形界面 synaptic 是个不错的选择,比较原汁原味的 apt,而
kpachage 就不那么像 apt 了。
大部分的桌面用 linux 版本都有摒弃命令行的倾向,不过,apt-get 是一个 命令
行是最好的 的特例。它的存在正是那些基于 debian 的系统大行其到的原因。而且
apt-get 甚至已经被移植到 rpm 系统之中了。
了这篇文章
类别:┆阅读(0)┆评论(0)(WINTER IS COMING.)
宿主机:Windows 8.1
虚拟机:Ubuntu 14.04.2
在宿主机运行shadowsocks 2.5.6,全局模式,允许局域网访问
虚拟机设定了代理,VPS线路速度能跑满我带宽,1.5m/s,但是apt-get update / install 速度极其的慢,大概就10k/s,用了Linode东京线路和DO的AM线路。
我擦勒,select best server竟然给我提供了163 mirrors,看来系统代理设定并没有对apt-get有效啊,我不想用国内的源啊,毕竟才刚发生Xcode的那种事,心有余悸
国内源有什么好不能用的,只要你gpg-key还是原装的就行了
没记错的话apt-get是可以设置代理的...
好像是apt-get -o Acquire::http::proxy=& http: // user:password@proxyserver . xxx:80& update
看来不能搭配SS使用啊,
Failed to fetch /... Cannot initiate the connection to .0.4.56). -connect (22: Omvalid argument)
看来是我的格式不对
怎样应用本地SS代理 192.168.1.101:1080呢?
Explorare 说: 看来不能搭配SS使用啊,
Failed to fetch /... Cannot initiate the connection to 1080:80 (...ss代理出来的话是socks吧?你要转一下成http...或者改参数为socks
bi119aTe5hXk 说: ss代理出来的话是socks吧?你要转一下成http...或者改参数为socks诶诶?aptget支持socks代理?
Explorare 说: 诶诶?aptget支持socks代理?理论上支持:
Acquire::socks::proxy &socks://user:pass@host:port/&;
Acquire::socks::proxy &socks5://server:port&;
直接编辑/etc/apt/apt.conf文件好了。
Acquire::http::proxy &&;
Acquire::https::proxy &&;
Acquire::ftp::proxy &ftp://username:password@host:port_no/&;
Acquire::socks::proxy &socks://username:password@host:port_no/&;
bi119aTe5hXk 说: 理论上支持:
Acquire::socks::proxy &socks://user:pass@host:port/&;
Acquire::socks::proxy &socks5://server:...好的我去试试
apt-get下载来的包都有签名的,未必一定要爬墙去下载的说
哦,这样啊,那还成。
应用了163后速度快多了。
在Ubuntu下用pip***了shadowsocks,配置了config.json
& && &&&&server&:&***&,
& && &&&&server_port&:8388,
& && &&&&local_port&:&1080&,
& && &&&&password&:&***&,
& && &&&&timeout&:600,
& && &&&&method&:&aes-256-cfb&
explorare@ubuntu:~$ sslocal -c config.json
INFO: loading config from config.json
23:44:10 INFO& &&&loading libcrypto from libcrypto.so.1.0.0
23:44:10 INFO& &&&starting local at 127.0.0.1:1080
但是FF里设定本地代理为127.0.0.1:1080却打不开网页了,是我打开方式不对么?
但是FF里设定本地代理为127.0.0.1:1080却打不开网页这代理是SOCKS5协议的。你协议选对了么?
田所浩二 说: 这代理是SOCKS5协议的。你协议选对了么?啊,多谢提醒,还真是代理的锅。可以用了。但shadowsocks不是支持http代理么?是win client 的特有功能?
Explorare 说: 啊,多谢提醒,还真是代理的锅。可以用了。但shadowsocks不是支持http代理么?是win client 的特有功能?shadowsocks的本地端只有SOCKS5,你需要用其它工具把SOCKS5转成HTTP协议
或者在路由器上做透明代理,这个用起来最舒服
田所浩二 说: shadowsocks的本地端只有SOCKS5,你需要用其它工具把SOCKS5转成HTTP协议
或者在路由器上做透明代理,这个用起来最舒服kwsk
昨天给Netgear WNR2000v3刷了openwrt,但遇到一些问题,如果方便的话可以帮忙解决一下么?感谢
Explorare 说: kwsk
昨天给Netgear WNR2000v3刷了openwrt,但遇到一些问题,如果方便的话可以帮忙解决一下么?感谢
[更新]在Netgear WNR2000v4刷入Openwrt的尝试的记录df -h
查看块设备的可用空间究竟有多少
田所浩二 说: df -h
查看块设备的可用空间究竟有多少
root@OpenWrt:~# df -h
Filesystem& && && && && & Size& && &Used Available Use% Mounted on
/dev/root& && && && && &&&2.3M& && &2.3M& && && &0 100% /rom
tmpfs& && && && && && &&&13.9M& &&&72.0K& &&&13.8M& &1% /tmp
/dev/mtdblock5& && && & 384.0K& & 324.0K& &&&60.0K&&84% /overlay
overlayfs:/overlay& && &384.0K& & 324.0K& &&&60.0K&&84% /
tmpfs& && && && && && & 512.0K& && && &0& & 512.0K& &0% /dev
Explorare 说: 啊,多谢提醒,还真是代理的锅。可以用了。但shadowsocks不是支持http代理么?是win client 的特有功能?win-gui 赠送了一个Privoxy (以前赠送的是 Polipo)
觉得你提问越来越没营养了,我去找个屏蔽脚本
LunarShaddow 说: win client 赠送了一个Privoxy (以前赠送的是 Polipo)
觉得你提问越来越没营养了,我去找个屏蔽脚本抱歉,求屏蔽
apt-get upgrade
Explorare 说: 多谢
田所浩二 说: 多谢演示,学到不少
田所浩二 说: 能否帮忙解决一下sslocal的部署问题呢?
上一楼写了
国内请使用ustc,不行163/souhu。
为什么不用国内的源。。。
已更换国内源
因为Explorare是安全达人(各种意义上的
LunarShaddow 说: 因为Explorare是安全达人(各种意义上的抱歉
没时我很沉默在ubuntu的命令行窗口中使用apt-get命令***程序, 命令未执行完的情况下关闭窗口或使用Ctrl+C来结束命令。 当我们再次使用apt-get命令***程序的时候, 报错信息如下:
E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?
我们执行如下命令, 删除锁定的文件
$ sudo rm -rf /var/cache/apt/archives/lock
$ sudo rm -rf /var/lib/dpkg/lock
此时, 我们再次执行命令apt-get install, 获得如下报错信息:
E: dpkg 被中断,您必须手工运行 sudo dpkg --configure -a 解决此问题。
我们执行脚本 sudo dpkg --configure -a, 获得新的报错信息:
debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: 资源暂时不可用
我们执行rm命令将该文件也删除:
$ sudo rm -rf /var/cache/debconf/config.dat
再次运行apt-get install命令, 一切恢复正常

参考资料

 

随机推荐