linux没有yum命令
Ubuntu中可以用yum吗?
Ubuntu中可以用yum吗?
RHEL与Centos系列默认使用yum,因此无论哪个版本都可以直接使用,因为默认就安装了yum。而Debian以及基于Debian的发行版(如Ubuntu等)默认使用apt。但这不是绝对的,
无论哪一种Linux发行版,基本都可以通过安装yum,在经过正确配置后一样可以使用yum。
免费提供最新Linux技术教程书籍,入门自学书籍《linux就该这么学》,为开源技术爱好者努力做得更多更好
linux下没有ssh服务怎么办?
linux下一般是有ssh服务的,如果没有可以使用yum install ssh进行在线安装。
linux修改yum的配置文件后怎么保持?
Linux修改yum的配置文件后保存的方法如下:
方法1:通过vi或者vim打开的文件,修改后
1、先按esc键
2、再按Ctrl键 :
3、再输入wq
4、按回车键
保存成功。
方法2:如果在有界面的Linux系统,使用文本编辑器打开,则选择菜单-gt文件-gt保存。即可实现文件保存。
linux为什么自带python?
有很多操作系统本身的需要,都要用到Python的。比如Linux的软件升级工具,红帽系的yum,Debain/Ubuntu系的apt-get,都是基于Python。
而且它们的版本要保持原始的一致,就算是升级Python版本,也要留意老版本的那些脚本还能正常使用。
可以说,在Linux/Unix的各种脚本语言中,除系统本身自带的各种shell外,另一个就是Python语言用得最多。一些系统如FreeBSD还自带了Rubby。
如何获取linux下命令源码?
命令的源码是一个软件包为单元的,放在一个软件包的源码中。若要下载一个命令的源码,就要把这个命令所属的软件包的源码都下载下来。命令的源码就在下载的源码的相关文件夹内。一般是src文件夹,对应的主文件名称为cmd.c,当中cmd为详细的命令,如ls命令的主程序文件为ls.c。
因为在不同的Linux发行版上。源码的获取方法并不同样。所以以下以Ubuntu和CentOS这两种经常使用的Linux发行版为样例进行说明。
1、Ubuntu中系统命令源码的获取方法
以32位Ubuntu14.04下,获取ls命令的源码为例,能够使用例如以下的方法下载源码:
1)使用which命令查看ls命令的位置,例如以下:
which ls # 输出:/bin/ls
2)使用dpkg命令查询ls命令所属的包。例如以下:
dpkg -S /bin/ls # 输出:coreutils: /bin/ls
3)使用apt-get命令来下载ls命令所在的包的源码。例如以下:
apt-get source coreutils
注:
1)在使用dpkg时。若出现错误。能够使用sudo命令使其以root权限运行。
2)使用apt-get source下载的源码保存到当前文件夹下。
。此外,当我们知道了命令所属的包后,也能够到对应的官方站点下载。
2、CentOS中系统命令源码的获取方法
以32位CentOS6.6下,获取ls命令的源码为例,能够使用例如以下的方法下载源码:
1)配置源码的源
在CentOS中,源的配置文件为:,改动该文件须要root权限。
打开该文件,查看该文件的内容,在本人的机子上,该文件的内容例如以下:
#
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist does not work for you, as a fall back you can try the
# remarked out baseurl line instead.
#
#
[base]
nameCentOS-$releasever - Base
$releaseveramparch$basearchamprepoos
#$releasever/os/$basearch/
gpgcheck1
gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
#released updates
[updates]
nameCentOS-$releasever - Updates
$releaseveramparch$basearchamprepoupdates
#$releasever/updates/$basearch/
gpgcheck1
gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
#additional packages that may be useful
[extras]
nameCentOS-$releasever - Extras
release$releaseveramparch$basearchamprepoextras
#$releasever/extras/$basearch/
gpgcheck1
gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
#additional packages that extend functionality of existing packages
[centosplus]
nameCentOS-$releasever - Plus
$releaseveramparch$basearchamprepocentosplus
#$releasever/centosplus/$basearch/
gpgcheck1
enabled0
gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
#contrib - packages by Centos Users
[contrib]
nameCentOS-$releasever - Contrib
$releaseveramparch$basearchamprepocontrib
#$releasever/contrib/$basearch/
gpgcheck1
enabled0
gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
该文件里有两个变量:releasever和basearch。分别表示release版本号和分支,如本人的机子上,这两个值分别为6和i386。注意。releasever并不会细分为次级版本号。即不会是6.6之类的。
从该文件的内容能够知道,该文件共同拥有5个节。也就是说本人的机子的软件来源有5处,分别为base、updates、extras、centosplus和contrib。所以仅仅须要为例如以下的5处软件源指定其源码的源就可以。在文件的末尾加上例如以下的内容:
[base-src]
nameCentOS-$releasever - Base src
gpgcheck1
gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[updates-src]
nameCentOS-$releasever - Updates src-centos
gpgcheck1
gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[extras-src]
nameCentOS-$releasever - Extras src-centos
gpgcheck1
gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[centosplus-src]
nameCentOS-$releasever - Plus src-centos
gpgcheck1
gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[contrib-src]
nameCentOS-$releasever - Contrib src-centos
gpgcheck1
gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
因为不同的版本号设置会有所不同,所以其设置会有所不同,方法可总结为例如以下:
(1)gpgkey与该文件里已有的节的gpgkey同样
(2)为了确认文件的存在和情况,能够打开站点查看详细的情况,再依据详细的情况来填写
(3)设置baseurl时须要依据自己的系统的版本号来设置,如本人的机子为CentOS-6.6,则在设置时,相关的參数就设置为6.6。即后接的子路径为6.6。
该文件的作用是为yum其及相关工作的下载提供一个源。如在使用yumdownloader(以下会讲到)下载源码时。会发生例如以下动作:
(1)下载$baseurl/repodata/repomd.xml文件。若该repomd.xml文件比系统中的新。更新系统中的对应的repomd.xml
(2)下载$baseurl/SPackages/中的对应的源码rpm包。
2)使用which命令查看ls命令的位置,例如以下:
which ls
# 输出:/bin/ls
3)使用rpm命令查询ls命令所属的包,例如以下:
rpm -qf /bin/ls
# 输出:coreutils-8.4-37.el6.i686
4)yumdownloader是一个从RPM源下载RPM的程序,能够使用yumdownloader命令安装源码。例如以下:
yumdownloader --source coreutils-8.4-37.el6.i686
注:
(1)若yumdownloader命令没有安装,则能够使用此命令安装:yum install yum-utils。
(2)下载的文件在当前文件夹下。能够使用參数--destdir指定下载到哪一个文件夹。
5)使用yumdownloader下载到的是一个安装包文件rpm,能够使用例如以下的命令查询rpm中的tar文件:
rpm -qpl | grep tar
# 输出:coreutils-8.4.tar.xz
6)使用rpm2cpio命令将rpm包文件转换成cpio归档文件,再使用cpio命令,从cpio归档文件复制提取出一个归档文件。出例如以下:
rpm2cpio | cpio -idv coreutils-8.4.tar.xz
# 输出:
# coreutils-8.4.tar.xz
# 9561 blocks
cpio的man解释为:cpio copies files into an archive
-i:与--extract等同。提取之意
-d:与--make-directories等同,当有须要时创建一个载入文件夹
-v:列出文件的处理过程
7)使用tar命令对coreutils-8.4.tar.xz压缩包进行解压缩,例如以下:
tar -xvf ./coreutils-8.4.tar.xz
至此,命令的源码获取完毕。