Linux 安装卸载软件及管理软件仓库


软件仓库


Linux的软件包都存放在一个地方,叫做软件仓库,repository。
因为Linux是在Windows之后诞生的(1991年前后),所以为了避免Windows的这个“弊端”,Linux选择创建一个集中存放软件的地方。
当然了,Linux的这一优势也得益于它的开源性。Linux中的软件基本都是开源自由的,任何人都可以分发,传播软件,只要遵守一定软件协议。因此把这些软件集中存放在某个地方是可行的。


Linux的软件会集中存放在一个地方,叫做软件仓库,英语是repository。
软件仓库绝不只是存放在一台服务器上,全球有很多个软件仓库(也就是有很多服务器),大部分软件仓库里的软件都是一样的,只不过是拷贝而已。

一般建议用户选择离自己所在地较近的软件仓库的服务器,这样下载速度会比较快。


.deb的安装包只能用于Debian一族的操作系统,包括Ubuntu。而Redhat一族(包括Fedora)用的则是后缀为.rpm(rpm是Redhat Package Manager的缩写)的安装包。

有个软件可以帮忙将rpm安装包转换为deb安装包。这个软件是alien

# alien默认没有安装,所以首先要安装它。
sudo apt-get install alien# 将rpm转换为deb,完成后会生成一个同名的xxxx.deb。
sudo alien xxxx.rpm# 安装deb安装包。注意,用alien转换的deb包并不能保证100%顺利安装,所以可以找到deb最好直接用deb。
sudo dpkg -i xxxx.deb

管理软件仓库


编辑的那个包含软件仓库的列表的文件是:

/etc/apt/sources.list

这个文件是系统文件,只能被root用户修改。
用nano来编辑此文件

nano /etc/apt/sources.list

通常来说,这个文件中有作用的行是由以下两个指令开头:

deb:用于下载软件的二进制版本,大多数情况下我们都是用这个。
deb-src:用于下载软件的源代码。一般我们用不到,除非你很好奇想查看软件的源代码。这也是自由软件运动的一个好处。

查询软件仓库服务器地址


用搜索引擎来寻找其他软件仓库的服务器地址,比如可以搜“Ubuntu repository”。

图形界面工具

菜单栏中的System->Administration->Software Sources


包管理工具


package:包。这是软件的二进制安装包。类似Windows中软件的安装程序(大多以.exe结尾)。
dependency:依赖。一个软件包可能需要其他的软件包作为运行的基础。这是依赖关系。
repository:仓库。软件的仓库,就是存放软件的服务器,我们从这些服务器上下载软件。

在Ubuntu中,可以使用图形界面的软件包管理,例如 Synaptic Package Manager(新立得软件包管理器),要打开很简单:
菜单栏中的System->Administration->Synaptic Package Manager

使用终端来管理软件包,终端的软件包管理命令一般用两个:

 apt-get:最常用的,一般小编用这个比较多。aptitude:这个命令在卸载软件时可以卸载不用的依赖。

#软件包缓存的更新
sudo apt-get update
#搜索软件包
sudo apt-cache search
#安装软件包
sudo apt-get install xxx
xxx是对应软件包名
#删除软件包
sudo apt-get autoremove xxx     #xxx是对应软件包名
#升级所有已安装的软件包
sudo apt-get upgrade

apt-get 是用于处理 apt包的公用程序集,我们可以用它来在线安装、卸载和升级软件包等,下面列出一些apt-get包含的常用的一些工具:


工具                 说明
install     其后加上软件包名,用于安装一个软件包
update          从软件源镜像服务器上下载/更新用于更新本地软件源的软件包列表
upgrade     升级本地可更新的全部软件包,但存在依赖问题时将不会升级,通常会在更新之前执行一次update
dist-upgrade    解决依赖关系并升级(存在一定危险性)
remove  移除已安装的软件包,包括与被移除软件包有依赖关系的软件包,但不包含软件包的配置文件
autoremove  移除之前被其他软件包依赖,但现在不再被使用的软件包
purge   与remove相同,但会完全移除软件包,包含其配置文件
clean   移除下载到本地的已经安装的软件包,默认保存在/var/cache/apt/archives/
autoclean   移除已安装的软件的旧版本软件包

下面是一些apt-get常用的参数:

参数  说明
-y  自动回应是否安装软件包的选项,在一些自动化安装脚本中使用这个参数将十分有用
-s  模拟安装
-q  静默安装方式,指定多个q或者-q=#,#表示数字,用于设定静默级别,这在你不想要在安装软件包时屏幕输出过多时很有用
-f  修复损坏的依赖关系
-d  只下载不安装
--reinstall     重新安装已经安装但可能存在问题的软件包
--install-suggests  同时安装APT给出的建议安装的软件包

dpkg 这个命令也是很有用的,事实上,dpkg 是 apt-get 和 aptitude 这两个命令的后端 (backend)命令,而 apt-get 和 aptitude 又是 Synaptic 和 Software Center 这样的软件安装工具的后端。

依赖链:

dpkg --> apt-get, aptitude --> Synaptic, Software Center

如果是本地的 .deb 软件包,我们可以用 dpkg 来安装:

sudo dpkg -i *.deb

卸载:

sudo dpkg -r 包名

dpkg常用参数介绍:

参数  说明
-i  安装指定deb包
-R  后面加上目录名,用于安装该目录下的所有deb安装包
-r  remove,移除某个已安装的软件包
-I  显示deb包文件的信息
-s  显示已安装软件的信息
-S  搜索已安装的软件包
-L  显示已安装软件包的目录信息

参考文献


Linux探索之旅 | 第二部分第七课:软件安装,如虎添翼

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/246852.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 终端配置

一般Linux中的配置文件大多以点开头,而且多以rc结尾。比如vim的配置文件 .vimrc,bash shell的配置文件.bashrc,等等。 像这样的配置文件,如果用ls -l命令是列不出来的,需要用ls -a来列出。 “rc”,它是“…

Caffe2 Compilation Error gflags.cc' is being linked both statically and dynamically into this execut

问题描述 python -c from caffe2.python import core 2>/dev/null && echo "Success" || echo "Failure" 出现这个问题 ERROR: something wrong with flag flagfile in file /home/bids/softwares/gflags-2.2.0/src/gflags.cc. One possibil…

值得关注的医疗 AI 公司(待续)

医疗成像 Clearview Diagnostics 是一家开发辅助医生诊断疾病的工具的 AI 软件公司。该公司最初的重点是乳腺癌。 Butterfly Network 是一家医疗成像技术公司,该公司创建了一个集成了深度学习技术的便携式医疗成像设备,帮助缺乏医疗机构或医生不够专业的…

caffe2 介绍

Caffe2的特性 Caffe2框架可以通过一台机器上的多个GPU或具有一个及多个GPU的多台机器来进行分布式训练。 也可以在iOS系统、Android系统和树莓派(Raspberry Pi)上训练和部署模型。只需要运行几行代码即可调用Caffe2中预先训练好的Model Zoo模型。Caffe2…

如何向IPython Notebook中导入.py文件

相关文章链接 如何向IPython Notebook中导入.py文件 如何将 ipynb 发布到 blog 中(html, markdown格式) Introducing IPython Notebook Beginner’s IPython Notebook Tutorial Example notebook showing how to do statistics in IPython Notebook next generation sli…

Python 中的numpy 库

待总结 用scikit-learn和pandas学习线性回归 用scikit-learn和pandas学习Ridge回归 待整理的 Numpy & Pandas numpy——主要对其 N 维数组对象有用 http://www.numpy.org/ Pandas数据转为 numpy数据 df_numpyMatrix df.as_matrix() df_numpyMatrixdf.values a([3.23…

Python 中的Pandas库

待总结 用scikit-learn和pandas学习线性回归 用scikit-learn和pandas学习Ridge回归 基于python的数据分析库Pandas pandas——Python 数据分析库,包括数据框架(dataframes)等结构 http://pandas.pydata.org/ 10 Minutes to Pandas&#…

weka和matlab完成完整分类实验

本文 本文简单介绍数据集介绍、weka的使用、weka与LIBSVM、matlab与LIBSVM以及分类的若干细节问题。 1. 数据集介绍 打开网址UCI数据集,如下图。 从右下角可以看到Iris这个数据集,这是使用最多的数据集,目前下载量超过了82万。 打开之后跳…

Python 中的绘图matplotlib mayavi库

python matplotlib 图像可视化 python-data-visualization-course Interactive Web Plotting for Python Interactive Web Plotting for Python-github 待整理的 Matplotlib Introduction to Matplotlib and basic line matplotlib——一个 2D 绘图库,可产生…

python -pass的用法

空语句 熟悉C/C的经常会这样写判断语句: if(ture)expression; else;//do nothing 那在Python里面怎么去表达空语句呢,这时候就用到了pass。 number input(请输入一个数) if number 5:print(your numbers is 5) else:pass 实际…

python -lambda表达式的用法

匿名函数 lambda的意义: 利用lambda我们可以速写函数,不用去定义函数就可以直接使用 y lambda x,z:59*x8*z print(y(2,4)) 从例子中可以看到,lambda的语法结构是: lambda input : output expression lambda的用法比较简单&…

ubuntu 16.04 配置Python2.7 和 Python3.5 同时调用OpenCV

安装OpenCV OpenCV 官网,下载见 SourceForge and GitHub。 若使用官网版本安装不成功,则可试试Github版本。 或者 git clone https://github.com/Itseez/opencv.git 安装依赖库 sudo apt-get -y install libopencv-dev sudo apt-get -y install bui…

生成特定分布随机数的方法:Python seed() 函数numpy scikit-learn随机数据生成

描述 seed() 方法改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数。。 语法 以下是 seed() 方法的语法: import random random.seed ( [x] ) 注意:seed(()是不能直接访问的,需要导入 random 模块,然后通过 ra…

shutil.rmtree()

描述 shutil.rmtree() #递归地删除文件 如果存在以下树结构 - user- tester- noob- developer- guru 即 user 目录下存在多级子目录 如果要递归删除user\tester 目录的内容,可使用shutil.rmtree()函数 import shutil shutil.rmtree(ruser\tester) mkdir -p fo…

The ntpath module

ntpath module用法示例 import ntpath file "/my/little/pony"print "isabs", ">", ntpath.isabs(file) print "dirname", ">", ntpath.dirname(file) print "basename", ">", ntpath.basena…

python中的glob 模块学习文件路径查找

glob glob.glob(pathname), 返回所有匹配的文件路径列表。它只有一个参数pathname,定义了文件路径匹配规则,这里可以是绝对路径,也可以是相对路径。 import glob glob.glob(rc:/*.txt) 这里就是获得C盘下的所有txt文件glob.glob(…

python os模块 常用命令

os 模块用法示例 python编程时,经常和文件、目录打交道,这是就离不了os模块。os模块包含普遍的操作系统功能,与具体的平台无关。以下列举常用的命令 1. os.name()——判断现在正在实用的平台,Windows 返回 ‘nt; Linux 返回’pos…

pandas.DataFrame.iterrows

iterrows DataFrame.iterrows()[source] Iterate over DataFrame rows as (index, Series) pairs. 迭代(iterate)覆盖整个DataFrame的行中,返回(index, Series)对>>> df pd.DataFrame([[1, 1.5]], columns[int, float]) >>> row next(df.iterr…

scipy.ndimage.zoom上采样与下采样

插值 Bilinear interpolation would be order1, nearest is order0, and cubic is the default (order3). 举例说明 import numpy as np import scipy.ndimagex np.arange(64).reshape(8,8)print Original array: print xprint Resampled by a factor of 2 with nearest i…

Python 进度条 tqdm

用法 tqdm(读音:taqadum, تقدّم)在阿拉伯语中的意思是进展。tqdm可以在长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator),是一个快速、扩展性强的进度条工具库。 from tqdm import tqdm…