ifconfig #查看所有已激活的网卡信息 临时配置 #yum install net-tools -y 默认ifconfig是没有安装的,可能需要安装 ifconfig eth0 #查看单独一块网卡的信息 ifconfig eth0 ip/24 永久配置 /etc/sysconfig/network-scripts/ifcfg-网卡名 systemctl restart network # /etc/resolv.conf #外部dns /etc/hosts #本地解析 route 软件包管理 rpm: rpm -ivh ……rpm rpm -e rpm -qa |grep zlib rpm -qi rpm -ql rpm -qf /bin/ls rpm -ivh ……rpm --force rpm -e ……rpm --nodeps yum yum -y erase http* yum -y groupinstall yum makecahe yum clean all mkdir /repo createrepo /repo /etc/yum.repo.d/local.repo [local] …… 源码包 yum -y install gcc-* glibc-* test.tar.gz tar xvf test.tar.gz cd test/ ./configure --prefix=/usr/local/test make make install
一、 linux网络基础设置
网络设置基本可以分为:网卡设置、网关设置、DNS设置三部分
- ifconfig命令
ifconfig命令被用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。
参数
add<地址>:设置网络设备IPv6的ip地址;
del<地址>:删除网络设备IPv6的IP地址;
down:关闭指定的网络设备;
up:启动指定的网络设备;
netmask<子网掩码>:设置网络设备的子网掩码;
<hw<网络设备类型><硬件地址>:设置网络设备的类型与硬件地址;
io_addr<I/O地址>:设置网络设备的I/O地址;
irq<IRQ地址>:设置网络设备的IRQ;
media<网络媒介类型>:设置网络设备的媒介类型;
mem_start<内存地址>:设置网络设备在主内存所占用的起始地址;
metric<数目>:指定在计算数据包的转送次数时,所要加上的数目;
mtu<字节>:设置网络设备的MTU;
tunnel<地址>:建立IPv4与IPv6之间的隧道通信地址;
-broadcast<地址>:将要送往指定地址的数据包当成广播数据包来处理;
-pointopoint<地址>:与指定地址的网络设备建立直接连线,此模式具有保密功能;
-promisc:关闭或启动指定网络设备的promiscuous模式;
IP地址:指定网络设备的IP地址;
例如:修改ens33网卡的ip地址为198.172.16.23和子网掩码255.255.255.0的命令:
ifconfig ens33 198.172.16.23 netmask 255.255.255.0
ifgonfig命令显示的信息如下:
最前面显示的是网卡名,常见的有:ens33 eth0 eth1 em1 em2 p2p2 p3p3 等
若是网卡没有启动,显示出的信息通常是没有IP地址的。启动网卡可以使用ifconfig up。
ifup:启动系统上指定的网卡
ifdown:停止系统上指定的网卡
以上两命令与ifconfig up / down 相同。
例子2:
冒号后的‘0’意为虚拟一个网卡,该网卡的IP可以任意设置,但是mac地址与已启用的其中一个网卡是一致的,两个同使用一个硬件。
Ps:
命令设置的网卡设置都是暂时的,希望永久更改网卡设置,需要更改设置文档。
连不上的话,可能需要重置防火墙设置:
- 更改网卡配置文件
希望永久更改网卡配置,需要更改网卡配置文件。
网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-XXXX :ifcfg-XX开头的网卡对应名称文件。可更改配置文件然后重启网络服务生效配置。如果网卡没有下列条目,可以手动添加至文件中。
TYPE:类型
BOOTPROTO:网卡工作模式(静态or动态)
IPADDR:IP地址
NETMASK:子网掩码
ONBOOT:服务启动时,是否启动网卡
DNS1:主DNS地址
DNS2:副DNS地址
GATEWAY:网关地址
一个例子:
注意:
最后的noboot选项必须为yes才能在网络启动时网卡自动启动生效。
文件更改后需要重启网络,可以用以下命令:
service network status 网卡状态
service network stop 停止网卡
service network start 启动网卡
service network restart 重启网卡
ruote -n:查看网管
systemctl(同上service)centos7下可以用
- DNS配置
修改DNS服务器非常简单,只需要修改/etc/resolv.conf配置文件即可。
例:
域名解析优先级:/etc/hosts的优先级要高于配置的dns的解析优先级
- 网关设置
使用route命令即可
例:
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
二、软件安装
- rpm软件包
rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。
语法
rpm(选项)(参数)
选项
-a:查询所有套件;
-b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的文件名称;
-c:只列出组态配置文件,本参数需配合"-l"参数使用;
-d:只列出文本文件,本参数需配合"-l"参数使用;
-e<套件档>或--erase<套件档>:删除指定的套件;
-f<文件>+:查询拥有指定文件的套件;
-h或--hash:套件安装时列出标记;
-i:显示套件的相关信息;
-i<套件档>或--install<套件档>:安装指定的套件档;
-l:显示套件的文件列表;
-p<套件档>+:查询指定的RPM套件档;
-q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户;
-R:显示套件的关联性信息;
-s:显示文件状态,本参数需配合"-l"参数使用;
-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
语法
yum(选项)(参数)
选项
-h:显示帮助信息;
-y:对所有的提问都回答“yes”;
-c:指定配置文件;
-q:安静模式;
-v:详细模式;
-d:设置调试等级(0-10);
-e:设置错误等级(0-10);
-R:设置yum处理一个命令的最大等待时间;
-C:完全从缓存中运行,而不去下载或者更新任何头文件。
install 安装rpm软件包
update 更新rpm软件包
check-update 检查是否有可用的更新rpm软件包
remove 删除指定的rpm软件包
list 显示软件包的信息
search 检查软件包的信息
info 显示指定的rpm软件包的描述信息和概要信息
clean 清理yum过期的缓存
resolvedep 显示rpm软件包的依赖关系
localinstall 安装本地的rpm软件包
localupdate 显示本地rpm软件包进行更新
deplist 显示rpm软件包的所有依赖关系
groups 软件包组管理
自行设置yum库:
[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源配置,默认就是开启,可不写这一行
应用举例:
[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()