盛世人人知自奋。——钱昌照
yum
1、Linux系统下多用户的共享文件
在这篇文章的结尾介绍了共享文件,但是还有一些问题。前文已经说了不能让该共享文件在任何一个用户的家目录里,只要不在这里,其他位置能在(最好是root进行创建)。问题就是,如果多人共享文件的话,那怎么才能让别人没有办法进去,防止别人妨碍用户之间的文件共享,实现指定人员的允许访问呢?
1、1、目录设置粘滞位
粘滞位都是给目录设置的。
chmod +t XXX(文件名):可以进入文件,但是不能让拥有者之外的用户删目录里面的文件。
设置完粘滞位之后该目录下的文件只能由超级管理员,目录拥有者,文件拥有者删除。
2、Linux软件包管理器yum
2、1、yum是什么?软件包?
yum是一个软件安装下载管理的一个客户端。类似于小米应用商店华为应用商城,app store。
Linux中软件包可能会有依赖关系——yum会帮助我们解决依赖关系的问题。
软件包从何而来?所以要解决这个问题,就不得不提到yum生态的问题(Linux系统的生态)。
2、2、Linux系统(Centos)的生态
安装软件的三种方法:源代码安装,rpm包安装,yum安装
源代码安装的缺点: 安装包之间的依赖关系可能需要我们自己解决,不同版本可能需要稍微进行修改。
rpm包安装: 如果有人提前将文件按照各种不同环境编译好,那就可以压缩在一起,形成rpm包,进行rpm包安装。但是有一定概率可能有一些库没有在这个安装包内,就需要我们自己来检查来保证安装能够执行。
yum安装: rpm包安装进一步的优化,自动解决所需要的库然后继续来安装指定软件。
yum过程简单理解: 使用yum以后会找到相应的centos服务器中,然后在服务器中搜索需要下载的软件包进行下载。
那么多的服务器,我的centos是怎么找到的呢?主要是因为我的机器内部内置了目标服务器的地址链接。
系统之间的差别在于生态和社区,只有好的生态和社区,系统的问题才能够得到解决,问题才能够找到答案,只有在活跃的地区才能够尽快的找到解决问题的方法,这样也就意味着系统的更加的稳定。
虽然是开源项目不赚钱,但是可以接受别人的捐赠。虽然开源项目不赚钱,但是需要社区的活跃会有人帮助你写。
2、3、yum相关操作
怎么安装?在哪安装?怎么搜索安装?
yum list | grep sl:通过列表的形势将包括sl的软件包列举出来
下面还有很多的包含sl的软件包,这里只截取了一些用来简单的介绍一下。
其中,第一列表示的是软件的名称,第二列是yum自动匹配的合适安装的版本,第三列时表示提供者是谁。
当我们是普通用户的时候,不允许直接yum而是需要root的权限。为什么需要root的权限呢?因为我们安装对应的软件的时候呢,软件都会在系统的特定目录下(usr/bin. usr/bin/local等等)下(root的目录下安装软件),所以必须要拥有root的权限。
yum安装会了,那么怎么卸载呢?首先安装的时候是在root的权限下将文件拷贝到系统里,所以卸载的时候,也注定是要通过root的身份进行卸载。
//模版
yum list | grep XXX:列出包含XXX的软件
[sudo/root身份] yum install [-y] XXX:下载软件
[sudo/root身份] yum remove [-y] XXX:删除软件
sudo yum remove sl :删除sl软件(会询问是否删除)
sudo yum -y remove sl:直接删除sl,不询是否删除
补充: 为了保证不断发明的软件源,Linux上有两个部分,一个是base,基本软件源,很稳定。另一个是epel,扩展软件源。
一个裸机没有任何配置的情况下,大概率就是只有一个文件就是CentOS-Base.repo,其中repo是仓库的意思。
2、4、yum本地配置
为什么要配置yum呢?那是因为默认的配置的链接是在操作系统官网的链接,并且由于官网在国外,所以在yum下载的时候就会慢一些,所以,我们需要配置yum源,将其中的链接配置成国内的链接。这样的话,安装软件的效率就会高很多了。
如果yum下载的时候并没有多大的问题基本上是不用配置的,如果买的是云服务器的话,大概率是不用配置,原本的出场的时候已经是安装完国内的镜像了,对于虚拟机的话可能需要配置一下。
如何配置? 本质就是更改文件(很简单在csdn上搜一下吧)。
yum会根据/etc/yum.repos.d/该路径下面的配置文件,来构建自己的下载链接,根据OS版本,所需要下载的软件,yum帮助我们下载,安装。
3、Windows文件与Linux文件互传
yum list | grep lrzsz
yum install -y lrzsz.x86_64
下载lrzsz.x86_64能够实现Windows下的文件直接拖拽到Linux系统中。
除了这种方法外能从Windows到Linux。
还有一种方法
rz -E
rz :表示的是receive,从Windows向Linux传文件
sz:表示的是send,从Linux向Windows传文件