网络管理

ifconfig网络管理工具

ifconfig依赖于命令中使用一些选项属性,不仅可以被用来简单地获取网络接口配置信息,还可以修改这些配置,但是通过ifconfig修改的通常为临时配置,即系统重启后失效。

命令格式:

  ifconfig [选项] [参数]

  注:ifconfig后不跟任何选项和参数,表示查询当前生效的网卡信息

常用选项:

  <device> up   启动指定网络设备或网卡。  注:可使用ifup代替

  <device> down  关闭指定网络设备或网卡。  注:可使用ifdown代替

  -a     显示全部接口信息(查询)

  add <address>    临时添加一个ip地址

  del <address>    临时删除一个ip地址

配置示例:

  ifconfig eth0 up        开启eth0网卡

  ifconfig eth0 down      关闭eth0网卡

  ifconfig eth0 add 192.168.1.1  为网卡eth0配置地址一个地址为192.168.1.1,当该网卡本身有ip地址时,会以子接口方式追加一个ip

  ifconfig eth0 del 192.168.1.1  为网卡eth0删除192.168.1.1地址

route网关配置

route命令用来显示并设置Linux内核中的网络路由表,设置的路由主要是静态路由。

命令格式:

  route [选项] [参数]

  注:route后不跟任何选项和参数表示查询路由信息

常用选项:

  -v    显示详细路由信息

  add    增加指定的路由记录或网关

  del    删除指定的路由记录或网关

  gw    设置默认网关

  dev    路由记录所表示的网络接口

配置示例:

  route add -net 192.168.1.0 netmask 255.255.255.0   增加一条到达192.168.1.0的路由

  route del -net 192.168.1.0 netmask 255.255.255.0   删除一条到达192.168.1.0的路由

  route add default gw 192.168.1.250      指定默认网关为192.168.1.250

  route del default gw 192.168.1.250      删除默认网关192.168.1.250

DNS配置

修改DNS服务器非常简单,只需要修改/etc/resolv.conf配置文件即可。

[root@centos-python ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 114.114.114.114        #修改ip地址即可更改dns,修改后保存立刻生效
nameserver 202.102.152.3

域名解析优先级:/etc/hosts的优先级要高于配置的dns的解析优先级

网络配置文件

配置文件修改网络:网络接口配置文件是控制单个网络设备的软件接口

配置文件路径:/etc/sysconfig/network-scripts/ifcfg-<name>

  注:name指配置文件控制的设备或连接的名称

配置文件标准变量(默认DHCP获取地址):

除了红色说明的条目,其他的条目建议删除

[root@centos-python ~]# cat /etc/sysconfig/network-scripts/ifcfg-eno16777736
HWADDR=00:0C:29:9A:CD:CC          #网卡mac地址
TYPE=Ethernet                #网络类型
BOOTPROTO=dhcp               #网络连接类型是动态dhcp或静态static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736            #网络连接的名字
UUID=d7eceeef-e67e-48a7-8150-f186fc2f7a5d    #网络唯一标识
ONBOOT=yes                #网卡开机是否启动

配置文件标准变量(手动配置静态地址):

[root@centos-python ~]# cat /etc/sysconfig/network-scripts/ifcfg-eno16777736
HWADDR=00:0C:29:9A:CD:CC
TYPE=Ethernet
BOOTPROTO=static            #静态地址
NAME=eno16777736
ONBOOT=yes
IPADDR=192.168.1.105           #ip地址
NETMASK=255.255.255.0           #掩码
DNS1=114.114.114.114           #指定dns
GATEWAY=192.168.1.1            #指定网关

  注:静态设置中,IP地址、掩码、网关等可以多组指定

  注:DNS可指定多个服务器时,查询时候按照顺序查询

手动修改配置文件时更改的内容不是即时生效,需要重新启动网络服务才行

[root@centos-python ~]# systemctl restart NetworkManager

除了修改配置文件,还可以使用nmcli命令配置网络,nmcli会直接将配置信息写入配置文件,在此不做说明

软件包管理

rpm包管理工具

rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。

rpm管理工具不能解析依赖关系,必须手动安装依赖包,但是大部分软件包都存在依赖包,即要安装一个软件包的前提可能有数个几十个其他的软件包需要提前安装,所以rpm只适合简单的管理。

命令格式:

  rpm [选项] [参数]

常用选项:

  -q  使用询问模式,当遇到任何问题时,rpm指令会先询问用户,所有查询选项都需要该选项配合

  -a  查询所有安装的软件包

  -e<软件包>或--erase<软件包>  删除指定的软件包

  -f<文件>  查询文件所属的软件包

  -i  显示软件包的相关信息

  -i<软件包>或--install<软件包>  安装指定的软件包

  -l  显示软件包的文件列表

  -R  显示软件包的关联性信息

  -U<软件包>或--upgrade<软件包>  升级指定的软件包

  -v  显示指令执行过程

  -vv  详细显示指令执行过程,便于排错

常用示例:

[root@centos-python ~]# rpm -qa          #查询所有已经安装的软件包,输出信息已省略
[root@centos-python ~]# rpm -ql gcc        #查询gcc安装后能产生哪些文件,输出信息已省略
[root@centos-python ~]# rpm -qf /usr/share/info/gcc.info.gz     #查看该文件属于哪个软件包
gcc-4.8.2-16.el7.x86_64
[root@centos-python ~]# rpm -qi gcc        #查询gcc的包信息,包括版本,平台,开发者等,输出信息已省略
[root@centos-python Packages]# rpm -ivh dhcp-4.2.5-27.el7.centos.x86_64.rpm     #安装dhcp
Preparing... ################################# [100%]
Updating / installing...
1:dhcp-12:4.2.5-27.el7.centos ################################# [100%]
[root@centos-python Packages]# rpm -evh dhcp-4.2.5-27.el7.centos.x86_64      #卸载dhcp
Preparing... ################################# [100%]
Cleaning up / removing...
1:dhcp-12:4.2.5-27.el7.centos ################################# [100%]
[root@centos-python Packages]# rpm -qR dhcp-4.2.5-27.el7.centos.x86_64      #查看已经安装了的dhcp包有哪些依赖关系,输出信息已省略

yum包管理工具

yum命令是RedHat开发的基于rpm的软件包管理器,它使系统管理人员交互和自动化地管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令。

yum命令的执行需要依赖于yum服务运行,yum一般从网络软件包存储库安装软件包和更新,所以使用yum需要从一个源配置文件中读取相关的信息。

yum源配置文件:/etc/yum.repos.d/<name>.repo,name名字自己定义,后缀必须是repo

[root@centos-python Packages]# cat /etc/yum.repos.d/dvd.repo
[dvd]                #yum源的库名字,自己定义的,最好跟文件名一样
name=dvd              #yum源的库的说明信息,自定义
baseurl=file:///mnt        #yum源的库的地址,file://表示本地库,/mnt表示路径,另外还可以用http://ip/path、ftp://ip/path等远程的库,远程库需要用相关服务进行文件共享才行
gpgcheck=0              #是否进行gpg签名校验
enable=1                #开启该yum源配置,默认就是开启,可不写这一行

以下yum命令,均使用上面repo文件信息,/mnt下挂载了相应的系统镜像,一般系统镜像内都封装了常用的服务软件包。

命令格式:

  yum [选项] [参数]

常用选项:

  install  安装rpm软件包

  update  更新rpm软件包

  check-update  检查是否有可用的更新rpm软件包

  remove  删除指定的rpm软件包

  list  显示软件包的信息

  search  检查软件包的信息

  info  显示指定的rpm软件包的描述信息和概要信息

  clean  清理yum过期的缓存

  resolvedep  显示rpm软件包的依赖关系

  localinstall  安装本地的rpm软件包

  localupdate  显示本地rpm软件包进行更新

  deplist  显示rpm软件包的所有依赖关系

  groups  软件包组管理

常用示例:

[root@centos-python ~]# yum list            #列出所有库所提供的软件包列表
[root@centos-python ~]# yum install vsftpd -y    #安装vsftpd
[root@centos-python ~]# yum remove vsftpd -y     #删除vsftpd
[root@centos-python ~]# yum deplist vsftpd      #列出vsftpd的依赖关系
[root@centos-python ~]# yum info vsftpd        #查看vsftpd的描述和概要信息
[root@centos-python ~]# yum groups list        #列出所有软件包组
[root@centos-python ~]# yum groups install KDE    #安装KDE软件包组
[root@centos-python ~]# yum search dhcp        #查找并显示dhcp的信息
[root@centos-python ~]# yum clean all          #清除缓存信息
[root@centos-python ~]# yum repolist           #查看源库的列表,库可以指定多个,可以写在一个repo文件里,也可以分开写

源代码包管理

源代码包的安装一般由4个步骤组成:解压源代码包、配置(configure)、编译(make)、安装(make install),以下将已python3.6.1为例说明

解压源代码包:

  源代码包一般使用gz、bz2方式封装(使用tar即可解包),还有一些使用xz(xz -d解压)、zip(unzip解压)

配置(configure):

  每一个软件包解压后,内部基本都有configure文件,如下configure文件

[root@centos-python ~]# cd Python-3.6.1/
[root@centos-python Python-3.6.1]# ls
aclocal.m4 config.sub Include Mac Modules Programs Python setup.py
build configure install-sh Makefile Objects pybuilddir.txt python-config Tools
config.guess configure.ac Lib Makefile.pre Parser pyconfig.h python-config.py
config.log Doc libpython3.6m.a Makefile.pre.in PC pyconfig.h.in python-gdb.py
config.status Grammar LICENSE Misc PCbuild python README.rst

  configure是一个可执行的配置脚本,它有很多选项,在待安装的源码路径下使用命令./configure –help输出详细的选项列表

  一般常用的就一个,--prefix选项是配置软件安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr/local/share,指定路径后就会存放到相应的目录内。

[root@centos-python Python-3.6.1]# ./configure --prefix=/usr/local/python3        #配置安装路径为/usr/local/python3

编译(make):

  在源代码路径下执行make命令,make执行时,会在当前目录下搜索makefile文件,makefile文件记录了该源代码软件进行编译的详细信息,执行该过程会用到例如gcc编译环境、zlib函式库等环境,缺少相应的软件环境会导致编译失败,一般失败的原因会提示,用户根据提示一般都能解决。

[root@centos-python Python-3.6.1]# make

编译安装(make install):

  make install会根据makefile中的install选项将上一步编译完的数据安装到配置的目录中,想要卸载已安装的源代码包,可以使用make uninstall(configure配置和make编译需要完成)。

[root@centos-python Python-3.6.1]# make install

到达这一步就已经安装完成了,但是要使用python3.6.1还需要修改以下系统的环境变量

软件安装后配置:

  将python3.6.1的执行文件路径写到环境变量配置文件中,并失之生效即可

[root@centos-python Python-3.6.1]# echo  'export PATH="$PATH:/usr/local/python3/bin"' >> /etc/profile
[root@centos-python Python-3.6.1]# source /etc/profile

验证:

[root@centos-python Python-3.6.1]# pip3 -V
pip 9.0.1 from /usr/local/python3/lib/python3.6/site-packages (python 3.6)
[root@centos-python Python-3.6.1]# python3
Python 3.6.1 (default, May 28 2017, 22:15:46)
[GCC 4.8.2 20140120 (Red Hat 4.8.2-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

Linux基础系列-Day5的更多相关文章

  1. Linux基础系列-Day2

    基础命令(文件内容管理) 1.cat:在当前终端显示文本文件内容 格式:cat [文件路径] -n 从1开始对所有输出的行数编号 -b 和-n相似,只不过对于空白行不编号:2.head:从文件内容开头 ...

  2. Linux基础系列-Day1

    Linux发展简史 Unix:1969年由美国电话电报公司(AT&T)贝尔实验室的两个工程师所创造的操作系统,它允许计算机同时处理多用户和程序. BSD:重要的Unix分支,1977年由加州大 ...

  3. Linux基础系列—Linux内核源码目录结构

    /** ****************************************************************************** * @author    暴走的小 ...

  4. Linux基础系列—Linux体系结构和Linux内核结构

    /** ****************************************************************************** * @author    暴走的小 ...

  5. Linux基础系列-Day8

    Shell编程基础 Shell介绍 Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器).它类似于windows下的的cmd.exe.它接收用户命令,然后调用相应的应用程序 ...

  6. Linux基础系列-Day7

    NFS服务(基于CentOS 7.0) NFS(Network File System),网络文件系统,是linux与linux之间进行文件共享的服务,在NFS应用,本地NFS的客户端可以透明地读写位 ...

  7. Linux基础系列-Day6

    Samba服务(基于CentOS 7.0) Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成,Samba主要用于Linux或UNIX和Windows系统之 ...

  8. Linux基础系列-Day4

    top系统监控 top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具.通过top命令所提供的互动式界面,用热键可以管理. [root@centos-py ...

  9. Linux基础系列-Day3

    Vim文本编辑器 •Linux设计的重要原则是信息存储在基于文本的文件中.  注:Linux“一切皆文件”是指包含文本文件和用户不可读的二进制文件(如block设备文件) •文本文件:无格式文件,作用 ...

随机推荐

  1. 【BZOJ】1577: [Usaco2009 Feb]庙会捷运Fair Shuttle

    [题意]公车从1开到n,有k群牛想从一个点到达另一个点,公车最多乘坐c个人,牛群可以拆散,问最多载多少牛到达目的地. [算法]贪心+堆 [题解]线段和点的贪心,一般有按左端点排序和按右端点排序两种方法 ...

  2. 【CodeForces】835D Palindromic characteristics

    [题意]给你一个串,让你求出k阶回文子串有多少个.k从1到n.k阶子串的定义是:子串本身是回文串,而且它的左半部分也是回文串. [算法]区间DP [题解]涉及回文问题的区间DP都可以用类似的写法,就是 ...

  3. 20155335《java程序设计》第一周学习总结

    18个章节的问题 (1)为什么需要JVM让java跨平台? (2)JVM与JDK,与JRE的关系? (3)为什么 -0/3 结果是 0,而 -0.0/3.0 结果是 -0.0?(注意后边的结果0带负号 ...

  4. Calendar Provider

    英文原文:http://developer.android.com/guide/topics/providers/calendar-provider.html 关键类 CalendarContract ...

  5. Spring总结以及在面试中的一些问题(山东数漫江湖)

    1.谈谈你对spring IOC和DI的理解,它们有什么区别? IoC Inverse of Control 反转控制的概念,就是将原本在程序中手动创建UserService对象的控制权,交由Spri ...

  6. MSSQL DBcheck

    --1.创建数据库. --create database MyDatabase; --删除数据库 --drop database MyDatabase; ----------------------- ...

  7. bzoj 3450 DP

    首先我们设len[i]表示前i位,从第i位往前拓展,期望有多少个'o',那么比较容易的转移 len[i]=len[i-1]+1 s[i]='o' len[i]=0 s[i]='x' len[i]=(l ...

  8. Linux 入门记录:八、Linux 文件系统

    一.文件系统 操作系统通过文件系统管理文件及数据,磁盘或分区需要创建文件系统之后,才能被操作系统所用,创建文件系统的过程又称之为格式化.没有文件系统的设备又称之为裸设备(raw),某些环境会需要裸设备 ...

  9. monkey测试===Monkey测试结果分析(系列三)转

    Monkey测试结果分析 一. 初步分析方法: Monkey测试出现错误后,一般的差错步骤为以下几步: 1. 找到是monkey里面的哪个地方出错 2. 查看Monkey里面出错前的一些事件动作,并手 ...

  10. 在64位linux下编译32位程序

    在64位linux下编译32位程序 http://blog.csdn.net/xsckernel/article/details/38045783