Linux应用基础教程(基于CentOS 7)课件 第05章 网络配置与包管理_第1页
Linux应用基础教程(基于CentOS 7)课件 第05章 网络配置与包管理_第2页
Linux应用基础教程(基于CentOS 7)课件 第05章 网络配置与包管理_第3页
Linux应用基础教程(基于CentOS 7)课件 第05章 网络配置与包管理_第4页
Linux应用基础教程(基于CentOS 7)课件 第05章 网络配置与包管理_第5页
已阅读5页,还剩127页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章

网络配置与包管理本章内容要点回顾网络的相关知识配置以太网络接口使用网络检测工具使用网络客户工具使用安全的网络客户工具RPM包管理YUM更新系统2024年5月29日2CreativeCommonsLicense(BY-NC-SA)本章学习目标学会配置以太网络接口并激活配置IP地址、子网掩码、默认网关、DNSnmtui/nmcliifup、ifdown、servicenetworkrestart区别临时性网络配置和永久性网络配置学会使用常用的网络检测工具学会使用常用的网络客户工具2024年5月29日3CreativeCommonsLicense(BY-NC-SA)本章学习目标(续)使用RPM安装和删除软件包使用RPM查询软件包和状态验证用yum管理软件包了解yum和rpm之间的关系配置yum,使之连接到更多YUM仓库2024年5月29日CreativeCommonsLicense(BY-NC-SA)4Linux的网络支持2024年5月29日5CreativeCommonsLicense(BY-NC-SA)Linux对网络协议的支持Linux支持各种协议类型的网络TCP/IP、NetBIOS/NetBEUI、IPX/SPX、AppleTake等在网络底层也支持Ethernet、TokenRing、ATM、PPP(PPPoE)、FDDI、FrameRelay等网络协议。这些网络协议是Linux内核提供的功能,具体的支持情况由内核编译参数决定。RHEL/CentOS的Linux内核默认支持上述的网络协议。2024年5月29日CreativeCommonsLicense(BY-NC-SA)6Linux的网络接口Linux支持众多类型的网络接口每一个网络接口设备在Linux的内核中都有相应的设备名称每一种网络接口设备(网络适配器)都需要相应的设备驱动程序网络接口设备的驱动程序被编译在系统内核中或者被编译为系统内核模块以便让系统内核进行调用RHEL/CentOS默认是采用内核模块(Module)的方式在系统引导时驱动网络接口的在/lib/modules/$(uname-r)/kernel/drivers/net目录下可以找到可加载的驱动可以从系统内核模块配置文件/etc/modprobe.conf中查看系统加载的网卡驱动模块2024年5月29日CreativeCommonsLicense(BY-NC-SA)7Linux下常见的网络接口接口类型接口名称说明以太网接口ethX是最常用的网络接口令牌环接口trX只出现在少数纯IBM环境的网络中光纤分布式数据接口fddiXFDDI接口设备昂贵,通常用于核心网或高速网络中点对点协议接口pppX用于Modem/ADSL拨号网络或基于PPTP协议的VPN等本地回环接口lo用于支持UNIXDomainSocket技术的进程相互通信(IPC)2024年5月29日CreativeCommonsLicense(BY-NC-SA)8X是从0开始的整数。如:eth0代表第一块以太网卡,eth1代表第二块以太网卡等。一致的网络设备命名ConsistentNetworkDeviceNaming基于固件/硬件拓扑和设备位置信息分配的固定名称一致的网络设备名以双字符前缀开始:en:表示以太网设备(EtherNet)wl:表示无线局域网设备(WirelessLAN)ww:表示无线广域网设备(WirelessWAN)随后的第三个字符用于区分不同的硬件类型:o:表示主板板载设备(Onboarddevice)s:表示热插拔插槽上的设备(hot-plugSlot)p:表示PCI总线或USB接口上的设备(PCIdevice)2024年5月29日CreativeCommonsLicense(BY-NC-SA)9一致的网络设备名举例eno16777736板载的以太网设备(设备索引编号为16777736)enp0s8PCI接口的以太网设备(PCI总线地址0,插槽编号为8)wlp12s0PCI接口的无线以太网设备(PCI总线地址12,插槽编号为0)2024年5月29日CreativeCommonsLicense(BY-NC-SA)10禁用一致的网络设备名方法1ln-s/dev/null/etc/udev/rules.d/80-net-name-slot.rules方法2grubby--update-kernel=ALL--args=net.ifnames=0无论使用哪种方法,执行上面的命令之后需要重新启动系统。2024年5月29日CreativeCommonsLicense(BY-NC-SA)11Linux的网络服务应用Linux几乎支持Internet世界里所有的网络服务WWW服务:

Apache、Ngnix、LighttpdEmail服务:

Postfix、Qmail、Sendmail、EximDovecotIMAP、CyrusIMAP、CourierIMAPFTP服务:

Vsftpd、pure-ftpd、Proftpd、Wu-ftpd文件共享服务:Samba、NFSDNS服务:BIND目录服务:OpenLDAP数据库服务:

PostgreSQL、MySQL、Oracle远程登录与管理:OpenSSH、VNC2024年5月29日CreativeCommonsLicense(BY-NC-SA)12配置网络参数的方法临时性网络配置通过命令修改当前内核中的网络相关参数实现ip、ifconfig、route、sysctl-w配置后立即生效重新开机后失效永久性网络配置通过修改网络相关的配置文件实现使用vim/nano编辑器直接编辑使用nmcli/nmtui工具修改后,重新连接指定的网络接口重新开机后保留所有配置2024年5月29日CreativeCommonsLicense(BY-NC-SA)13临时性配置网络参数2024年5月29日14CreativeCommonsLicense(BY-NC-SA)使用ip命令显示网络参数显示全部接口的IP地址ipaddressshow或ipaddrshow或ipas或ipa显示指定接口的IP地址ipaseno1677736ip-4aseno1677736显示全部接口的传输统计信息ip-slinkshow或ip-sls或ip-sl2024年5月29日CreativeCommonsLicense(BY-NC-SA)15使用ip命令显示网络参数续显示指定接口的传输统计信息ip-slseno1677736显示路由信息iprouteshow或iprs或ipr显示ARP缓存信息ipneighborshow或ipns或ipn2024年5月29日CreativeCommonsLicense(BY-NC-SA)16使用ip命令更改IP网络地址修改网络接口的IP

ipaddrdel/24deveth1

ipaddradd/24deveth1为网络接口绑定多个IPipaddradd/24deveth1ipaddradd/24deveth12024年5月29日CreativeCommonsLicense(BY-NC-SA)17

ipaddr[add|del]<CIDR形式的IP地址>dev<网络接口>使用ip命令设置静态路由添加/删除到主机的路由#iprouteaddviadeveth0#iproutedelviadeveth0添加/删除到网络的路由#iprouteadd/24viadeveth0#iproutedel/24viadeveth0添加/删除默认路由#iprouteadddefaultviadeveth0#iproutedeldefaultviadeveth02024年5月29日CreativeCommonsLicense(BY-NC-SA)18iproute[add|del]default|<主机地址>|<网络地址>via<网关地址>[dev<流出设备接口>]设置包转发使用sysctl命令可以临时地开启内核的包转发sysctl命令用于临时调整内核参数开启内核的包转发功能使用如下命令#sysctl-wnet.ipv4.ip_forward=1或#echo“1”>/proc/sys/net/ipv4/ip_forward2024年5月29日CreativeCommonsLicense(BY-NC-SA)19永久性配置网络参数2024年5月29日20CreativeCommonsLicense(BY-NC-SA)CentOS中的TCP/IP配置文件2024年5月29日CreativeCommonsLicense(BY-NC-SA)21/etc/sysconfig/network-scripts/ifcfg-*网络接口配置文件/etc/sysconfig/network-scripts/route-*网络接口路由配置文件/etc/hostname本地主机名配置文件/etc/hosts主机名映射为IP地址的解析功能/etc/networks完成域名与网络地址的映射/etc/host.conf配置域名服务客户端的控制文件/etc/resolv.conf配置域名服务客户端的配置文件网络接口配置文件网络设备的配置被保存在文本文件中/etc/sysconfig/network-scripts/ifcfg-*配置文件的语法和完整选项列表参见

/usr/share/doc/initscripts-*/sysconfig.txt常用选项2024年5月29日CreativeCommonsLicense(BY-NC-SA)22选项说明选项说明Type指定网络接口类型IPADDR指定静态IP地址DEVICE指定设备名NETMASK指定子网掩码HWADDR指定网卡的MAC地址BROADCAST指定广播地址BOOTPROTO指定获取网络参数的方式GATEWAY指定设备的网关ONBOOT指定是否在启动时启用设备网络接口配置文件举例

——静态配置2024年5月29日CreativeCommonsLicense(BY-NC-SA)23#vim/etc/sysconfig/network-scripts/ifcfg-eth0Type=EthernetDEVICE=eth0UUID=8efea5fc-390e-4572-87fb-22621e6cb3a6BOOTPROTO=staticONBOOT=yesIPADDR=23PREFIX=24BROADCAST=55GATEWAY=为网络接口绑定多个IP地址可使用带数字编号的IPADDR和PREFIX指令2024年5月29日CreativeCommonsLicense(BY-NC-SA)24IPADDR=23PREFIX=24IPADDR1=PREFIX1=24IPADDR2=PREFIX2=24………………网络接口配置文件举例

——动态配置#vim/etc/sysconfig/network-scripts/ifcfg-eth0

Type=EthernetDEVICE=eth0UUID=8efea5fc-390e-4572-87fb-22621e6cb3a6BOOTPROTO=dhcpONBOOT=yes2024年5月29日CreativeCommonsLicense(BY-NC-SA)25网络接口的

静态路由配置文件网络接口的静态路由配置文件每个网络接口均可有其静态路由配置文件/etc/sysconfig/network-scripts/route-*例如配置网络接口eth0的静态路由#vim/etc/sysconfig/network-scripts/route-eth0/24via82024年5月29日CreativeCommonsLicense(BY-NC-SA)26本地域名解析配置文件本地域名解析数据库文件为/etc/hosts例如#vim/etc/hostslocalhost.localdomainlocalhost::1localhost6.localdomain6localhost600centos1.ls-al.lancentos100soho.mylabs.mesoho2024年5月29日CreativeCommonsLicense(BY-NC-SA)27配置远程域名解析器设置Linux的DNS客户可以编辑/etc/resolv.conf文件举例#vim/etc/resolv.confnameserver

nameverver22nameverver20domain #指定本机所在的域search #指定默认搜索域2024年5月29日CreativeCommonsLicense(BY-NC-SA)28配置域名解析顺序域名解析的优先顺序由配置文件/etc/host.conf决定例如首先查找/etc/hosts文件进行域名解析然后使用/etc/resolv.conf文件中指定的域名服务器进行域名解析#vim/etc/host.conforderhosts,bind2024年5月29日CreativeCommonsLicense(BY-NC-SA)29设置包转发永久性配置包转发需要修改要配置文件#vim/etc/sysctl.conf确保如下配置行存在net.ipv4.ip_forward=1查看当前系统是否支持包转发#sysctlnet.ipv4.ip_forward使配置文件的修改在当前环境下生效#sysctl-p2024年5月29日CreativeCommonsLicense(BY-NC-SA)30使用nmcli管理网络2024年5月29日31CreativeCommonsLicense(BY-NC-SA)NetworkManager服务NetworkManager是一项管理网络接口和配置网络连接的系统服务。后台服务进程、感知网络状态变化的D-BUS以及控制管理工具组成NetworkManager支持动态的管理和配置方式来保持网络接口激活和连接的可用性网络状态的变化通过D-BUS报告给后台的NetworkManager服务,用户可以使用NetworkManager的控制管理工具(如nmtui、nmcli)变更网络状态从而实现网络管理。2024年5月29日CreativeCommonsLicense(BY-NC-SA)32使用nmcli显示网络接口设备显示所有网络接口信息nmclidevicestatusnmclidevsnmclidsnmclid显示指定网络接口信息nmclideviceshoweno16777736nmclidevshoweno16777736nmclidsheno167777362024年5月29日CreativeCommonsLicense(BY-NC-SA)33使用nmcli显示连接显示所有连接的信息nmcliconnectionshow[--active]nmclicons[--active]nmclics[--active]nmclic显示指定连接的信息nmcliconnectionshoweno16777736nmcliconseno16777736nmclicseno167777362024年5月29日CreativeCommonsLicense(BY-NC-SA)34使用nmcli管理连接断开指定设备上的连接nmclidevicedisconnecteno16777736nmclidevdisceno16777736nmcliddeno16777736激活指定网络接口上的连接nmcliconnectionupifnameeno16777736nmcliconupifnameeno16777736nmclicupifnameeno167777362024年5月29日CreativeCommonsLicense(BY-NC-SA)35使用nmcli管理连接(续)通过连接名激活连接nmcliconnectionupideno16777736nmcliconupideno16777736nmclicupideno16777736nmclicupeno16777736激活指定接口上的连接配置nmcliconup"Myconnection"ifnameeno16777736nmclicup"Myconnection"ifnameeno167777362024年5月29日CreativeCommonsLicense(BY-NC-SA)36使用nmcli配置网络参数修改IP地址获得方式nmcliconmodifyeno16777736ipv4.methodmanualnmclicmeno16777736ipv4.methodauto设置IP地址、网关和DNS解析nmclicmeno16777736ipv4.addresses0/24nmclicmeno16777736ipv4.gatewaynmclicmeno16777736ipv4.dns""2024年5月29日CreativeCommonsLicense(BY-NC-SA)37使用nmcli配置网络参数(续)绑定多个IP地址nmclicmeno16777736+ipv4.addr"0/24"修改DNS解析nmclicmeno16777736-ipv4.dns""nmclicmeno16777736+ipv4.dns"14"2024年5月29日CreativeCommonsLicense(BY-NC-SA)38使用nmcli配置网络手工修改网络配置文件之后需重新读取网络配置文件nmcliconreload然后断开/激活网络连接nmcliddeno16777736nmclicupeno167777362024年5月29日CreativeCommonsLicense(BY-NC-SA)39网络测试工具2024年5月29日40CreativeCommonsLicense(BY-NC-SA)网络检测的常用工具命令工具功能说明ifconfig检测网络接口配置route检测路由配置ping检测网络连通性ss查看套接字信息lsof查看指定IP和/或端口的进程的当前运行情况host/dig/nslookup检测DNS解析traceroute检测到目的主机所经过的路由器tcpdump显示本机网络流量的状态2024年5月29日CreativeCommonsLicense(BY-NC-SA)41ping和tracerouteping测试网络的连通性例如:#ping#ping-c42traceroute显示数据包到达目的主机所经过的路由例如:#traceroute2024年5月29日CreativeCommonsLicense(BY-NC-SA)42查看网络端口的使用情况netstat——查看网络端口#netstat-an#netstat-lunptlsof——查看在指定IP和/或端口上打开的进程查看指定IP的进程的运行情况#lsof-i@00#lsof-n-iUDP@00查看指定端口运行的程序#lsof-i:ssh#lsof-i:22nmap——端口扫描2024年5月29日CreativeCommonsLicense(BY-NC-SA)43查看套接字统计信息所有类似TCP类型UDP类型TCP/UDP显示已建立连接的Socketssss

-tss

-uss

-tu显示所有Socketss-ass-atss-auss-atu显示本地监听的Socketss-lss-ltss-luss-ltu2024年5月29日CreativeCommonsLicense(BY-NC-SA)44使用状态过滤器//显示指定服务/端口的TCP状态为established的入站Socket$ssstateestablishedsport=:ssh//显示指定服务/端口的TCP状态为established的所有Socket$ssstateestablished'(dport=:sshorsport=:ssh)'//显示TCP状态为fin-wait-1的目标地址为193.233.7/24的Web服务的入站连接$ssstatefin-wait-1'(sport=:httporsport=:https)'dst193.233.7/24dig命令根据/etc/resolv.conf中的DNS服务器配置查询ls-al.me的IP地址#digls-al.me向指定的DNS服务器查询

的IP地址#dig@15查询52所对应的域名#dig-x52查询ls-al.me域的MX记录#dig-tmxls-al.me2024年5月29日CreativeCommonsLicense(BY-NC-SA)45网络客户工具2024年5月29日46CreativeCommonsLicense(BY-NC-SA)图形界面网络客户工具图形界面浏览器:Firefox、Mozilla图形界面E-mail客户端:Thunderbird、Evolution图形界面FTP客户端:Gftp、Konqueror图形界面下载工具:WebDownloaderforX、Httrack、Getleft2024年5月29日CreativeCommonsLicense(BY-NC-SA)47操作相对简单,请自学这些工具的使用字符界面网络工具命令功能telnet远程登录ftp/lftp/ncftpFTP工具smbclient存取SMB/CIFS共享资源(类似于ftp)wget下载文件、镜像WEB站点rsync远程文件同步links/w3m/lynx浏览器mutt/mail邮件客户ssh/scp/sftp基于安全协议的

远程登录/远程复制/远程FTP2024年5月29日CreativeCommonsLicense(BY-NC-SA)48传统的ftp命令子命令功能子命令功能?获得命令帮助lcd切换本地目录!<CMD>执行本地Shell命令!ls显示本地目录列表open/close开启/关闭连接会话bye/quit退出ftp交互bin/asc指定二进制/文本传输get/put单文件上传、下载pwd、ls、cd、mkdir、rmdir远程目录管理mget、mput多文件上传、下载(支持通配符)2024年5月29日CreativeCommonsLicense(BY-NC-SA)49只支持交互式使用方式$ftp[<hostnameorIPAddress>]常用的交互子命令lftp简介lftp是个功能强大的字符界面文件传输工具主页:http://lftp.yar.ru/在RHEL/CentOS中由名为

lftp

的RPM包提供功能支持交互式和命令行两种工作模式支持ftp、ftps、http、https、hftp、fish等传输协议支持FXP【FileeXchangeProtocol】(在两个FTP服务器之间传输文件)支持代理、支持多线程传输、支持断点续传支持传输队列(queue)、支持书签(bookmark)支持镜像(mirror)类似bash,提供后台命令、nohop模式、命令历史、命令别名、命令补齐、作业控制、lftp环境设置等支持。使用lftpget来实现自动化传输2024年5月29日CreativeCommonsLicense(BY-NC-SA)50lftp的交互模式进入lftp交互模式的命令格式lftp[-p<port>][-u<user>[,<pass>]]<site>lftpftp://[<user>[:<pass>]]@<site>[:port]例如$lftp$lftp-p2021$lftp-ujoe$lftp-ujoe,joespass$lftpftp://joe@$lftpftp://joe:joespass@2024年5月29日CreativeCommonsLicense(BY-NC-SA)51lftp的交互子命令lftp支持传统ftp的所有子命令lftp还支持如下子命令(常用的)help<cmd>:显示指定子命令的帮助信息get/put/mget/mput:比传统ftp提供更多的选项pget:多线程下载reget/reput:续传,等效于get/put的–c选项mirror:镜像站点目录open/close:开始/关闭一个FTP连接set:设置lftp的环境参数2024年5月29日CreativeCommonsLicense(BY-NC-SA)52lftp的交互子命令

——get/put格式get[-E][-a][-c][-Obase]rfile[-olfile]put[-E][-a][-c][-Obase]lfile[-orfile]选项-E:传输完毕删除源文件-a:使用ASCii模式传输(默认使用BINary模式)-c:续传(continue)-Obase:指定目标文件存放的目录或指定的URL-o:指定目标文件的名字或URL(用于传输后改名存储)2024年5月29日CreativeCommonsLicense(BY-NC-SA)53lftp的交互子命令

——get/put举例>getREADME>getREADME-ocentos.README>getREADMEcentos.mirrors>getREADME-ocentos.READMEREADME.mirrors-ocentos.mirrors>getREADME-o/centos.README>getREADME-o/centos-dir/>getftp://site1/pub/file-oftp://site2/incoming/file1>get-Oftp://site1/pub/file1file2>putREADME>putREADMEcentos.mirrors>putftp://site1/pub/file2024年5月29日CreativeCommonsLicense(BY-NC-SA)54lftp的交互子命令

——mget/mput格式mget[-c][-d][-a][-E][-Obase]filesmput[-c][-d][-a][-E][-Obase]files选项-c:续传(continue)-d:创建与被传输文件同名的目录,并将目标文件存入该目录而非当前目录-E:传输完毕删除源文件-a:使用ASCii模式传输(默认使用BINary模式)-Obase:指定目标文件存放的目录或指定的URL2024年5月29日CreativeCommonsLicense(BY-NC-SA)55lftp的交互子命令

——mget/mput举例>mgetNote*>mget-O/var/downloadsitem*>mget-Oftp://site2/incoming/ftp://site1/pub/*>mputNote*>mputftp://site1/pub/*2024年5月29日CreativeCommonsLicense(BY-NC-SA)56lftp的交互子命令

——pget格式pget[-c][-n<maxconn>]rfile[-olfile]选项-c:续传(要求lfile.lftp-pget-status文件存在)-n<maxconn>:指定最大连接数,默认为5举例>pget-n8somefile.iso>pget-c-n8somefile.iso2024年5月29日CreativeCommonsLicense(BY-NC-SA)57查看pget默认的最大连接数>set-d|greppget:default-nsetpget:default-n5lftp的交互子命令

——mirror格式mirror[OPTS]<source>[<target>]说明将源目录source镜像到目标目录targetsource可以使用URL指定目标目录省略时表示当前目录常用选项-e,--delete:删除本地存在而远程不存在的文件-n,--only-newer:仅下载比本地新的文件-P,--parallel[=N]:并行下载N个文件-v,--verbose[=level]:显示操作的输出2024年5月29日CreativeCommonsLicense(BY-NC-SA)58lftp的交互子命令

——mirror的其他常用选项选项说明--only-missing仅下载本地不存在的文件--only-existing仅下载更新本地存在的文件-r,--no-recursion不镜像子目录-R,--reverse反向镜像(将本地目录上传到远程)-iRX,--includeRX使用正则表达式匹配指定包含的文件-xRX,--excludeRX使用正则表达式匹配指定剔除的文件-IGP,--include-globGP使用shell通配符匹配指定包含的文件-XGP,--exclude-globGP使用shell通配符匹配指定剔除的文件--log=FILE将执行的lftp命令写入FILE--script=FILE将要执行的lftp命令写入FILE,但不执行--just-print,--dry-run模拟执行(相当于--script=-)2024年5月29日CreativeCommonsLicense(BY-NC-SA)59lftp的交互子命令

——mirror举例并行镜像远程的iso目录到本地当前目录>mirror-Piso/并行镜像/pub

到本地当前目录(删除远程不存在的文件,仅下载新文件)>mirror-P--delete--only-newer--verbose/pub并行镜像/pub

到本地当前目录下的

子目录>mirror-P--delete--only-newer--verbose/pub/2024年5月29日CreativeCommonsLicense(BY-NC-SA)60lftp的交互子命令

——open格式open[-ecmds][-p<port>][-u<user>[,<pass>]]<host>open[-ecmds]ftp://[<user>[:<pass>]]@<host>[:port]选项-ecmds:在打开连接后执行lftp子命令用于使用不带任何参数的lftp命令进入交互模式之后重新打开新的FTP连接2024年5月29日CreativeCommonsLicense(BY-NC-SA)61lftp的环境设置交互模式:使用set命令设置lftp环境变量set-a:显示所有的环境变量set-d:显示默认的环境变量setvar[val]:设置环境变量var的值为val,若省略值val表示取消此环境变量的设置环境文件全局:/etc/lftp.conf每用户:~/.lftp/rc用户可以将用于自己环境设置的set命令放入其中2024年5月29日CreativeCommonsLicense(BY-NC-SA)62设置lftp的常用环境变量设置环境变量说明setftp:timezone<TZ>设置时区,默认为GMT。东8区为

GMToffset+8ftp:charset<CharSET>设置服务器端字符集,如:gbksetmirror:exclude-regex<REGEX>使用正则表达式匹配指定在镜像时应剔除的文件setmirror:include-regex<REGEX>仅用于上面的剔除规则之后,用RE指定应该镜像的文件setnet:connection-limit<NUMBER>设置同一站点的最大连接数setnet:limit-rate<DOWN-RATE>:<UP-RATE>设置数据连接的下载和上传的传输速率(bytes/sec)setnet:reconnect-interval-base<SECONDS>设置两次连接的最小时间间隔setnet:reconnect-interval-max<SECONDS>设置两次连接的最大时间间隔setnet:reconnect-interval-multiplier<REAL-NUM>设置间隔倍增器,默认为1.52024年5月29日CreativeCommonsLicense(BY-NC-SA)63lftp的命令行模式lftp命令行模式的命令格式登录站点后执行命令cmds$lftp-e<cmds>[-p<port>][-u<user>[,<pass>]]<site>$lftp-e<cmds>ftp://[<user>[:<pass>]]@<site[:port]>执行命令cmds$lftp-c<cmds>执行lftp脚本(预先将所有要执行的lftp子命令写入脚本)$lftp-f<script_file>说明-e执行命令后不退出交互模式;-c执行命令后返回Shell在cmds中可以使用;、&&、||组合多个lftp子命令2024年5月29日CreativeCommonsLicense(BY-NC-SA)64lftp的命令行模式举例匿名登录/pub,下载lsof*文件到本地当前目录$lftp-e"mgetlsof*;exit"/pub$lftp-c'open-e"mgetlsof*"/pub'以joe用户登录/,上传本地当前目录下的lsof*文件到远程当前目录$lftp-e"mputlsof*&&exit"ftp://joe:joespass@$lftp-c'open-e"mputlsof*"ftp://joe:joespass@'将/yum/Changelogs目录镜像到tom用户在/上的自家目录$lftp-e"mirrorChangelogsftp://tom:tomspass@/~;exit"/yum$lftp-c'open-e"mirrorChangelogsftp://tom:tomspass@/~"/yum'2024年5月29日CreativeCommonsLicense(BY-NC-SA)65lftp的命令行模式举例

——使用lftp脚本文件$lftp-fmyscript.lftp2024年5月29日CreativeCommonsLicense(BY-NC-SA)66$catmyscript.lftp#将debug设置为3级,并将日志写入~/logs/lftp.debug.txtdebug-o~/logs/lftp.debug.txt3#设置环境变量mirror:exclude-regexsetmirror:exclude-regex"(i386)|(SRPMS)|(ppc)|(isos)"#切换本地目录lcd/var/ftp/yum/distr/centos/6#镜像/centos/6/到本地当前目录mirror-P--delete--only-newer/centos/6/#开启新的FTP连接openftp://joe:joespass@mgetlsof*mputxclip*exit在bash中使用lftp命令行模式2024年5月29日CreativeCommonsLicense(BY-NC-SA)67#!/bin/bashHOST="your.ftp.host.dom"USER="username"PASS="password"LCD="/path/of/your/local/dir"RCD="/path/of/your/remote/dir"lftp-c"setftp:list-options-a;openftp://$USER:$PASS@$HOST;lcd$LCD;cd$RCD;mirror--reverse\--delete\--verbose\--exclude-globa-dir-to-exclude/\--exclude-globa-file-to-exclude\--exclude-globa-file-group-to-exclude*\--exclude-globother-files-to-esclude"wget简介wget是基于控制台的HTTP/FTP下载工具。主页:http://wget.sunsite.dk/在RHEL/CentOS中由名为

wget

的RPM包提供功能不使用交互界面,可以在后台工作。支持HTTP、HTTPS和FTP协议。在wget通过FTP下载时,具有文件名通配符匹配和目录递归镜像功能,并支持被动FTP下载。可以读出并储存HTTP和FTP站点给出的时间戳,从而可以判断远程文件的更新状况。断点续传的功能使得在缓慢和不稳定的连接状态下表现依然出色。支持代理服务器的特性使得wget在使用中减小网络负载、加速下载以及配合防火墙使用成为可能。2024年5月29日CreativeCommonsLicense(BY-NC-SA)68wget命令格式wget[option][<URL-list>]基本选项2024年5月29日CreativeCommonsLicense(BY-NC-SA)69选项说明选项说明-h显示命令帮助-ologfile将执行过程写入日志文件logfile-b后台执行-alogfile将执行过程追加到日志文件logfile-v显示冗余输出-iurlfile从urlfile文件读取要下载的文件列表-q不显示执行输出-Ooutputfile将下载的文件改名为outputfile-d显示调试信息-PPREFIX将下载的文件存入PREFIX/目录wget命令

——常用下载选项选项说明选项说明-tNUM重试次数为NUM--limit-rate=RATE限制下载速度-c继续未完成的任务-m镜像站点目录-N开启时间戳比较,仅下载比本地新的文件-k将下载文件中的链接转换为本地的相对链接-r递归下载-K转换链接前先备份文件-lNUM指定下载深度为NUM--user=USER指定用户名-nc不下载已存在的文件--password=PASS指定用户的口令-nd不在本地创建目录结构-L仅下载本站相关联的链接-np不遍历父目录-H可下载外部站点相关文件-p下载HTML页面所包含的所有元素文件--delete-after下载后删除本地文件,常用于生成Squid缓存2024年5月29日CreativeCommonsLicense(BY-NC-SA)70wget命令

——常用筛选选项选项说明-A,--accept=LIST使用逗号间隔的列表指出允许下载的文件扩展名-R,--reject=LIST使用逗号间隔的列表指出不允许下载的文件扩展名-I,--include-directories=LIST使用逗号间隔的列表指出允许下载的目录名-X,--exclude-directories=LIST使用逗号间隔的列表指出不允许下载的目录名2024年5月29日CreativeCommonsLicense(BY-NC-SA)71LIST

中可以使用Shell的通配符wget命令举例下载单个文件$wget/pub/getme下载单个文件(断点续传)、在后台运行(-b)$wget-cb/isos/somefile.iso下载单一HTML文件(-p确保页面显示的所有元素均被下载,-k重新建立链接)$wget-p-k/index.html下载

网站上packages目录中的所有文件。(-np不遍历父目录,-nd不在本机重新创建目录结构)$wget-r-np-nd/packages/2024年5月29日CreativeCommonsLicense(BY-NC-SA)72wget命令举例(续)仅下载指定目录及其子目录中的所有*.iso文件$wget-r-np-nd--accept=iso/centos/5/镜像一个网站,将链接转换成本地地址(-k),若链接的文件在外部站点则一同下载之(-h)$wget-m-k-H/在本地镜像网站的内容(-l指定深度,-t0一直重试)$wget-m-l4-t0只下载网站指定的目录,避免向远程主机的其他目录扩散,并拒绝下载gif和png文件$wget-L--reject=gif,png/doc/2024年5月29日CreativeCommonsLicense(BY-NC-SA)73字符界面浏览器

——links/w3m浏览指定的URL$links$w3m在标准输出显示html页面的TXT版本$links-dump$w3m-dump在标准输出显示html页面的源代码$links-source$w3m-dump_source2024年5月29日CreativeCommonsLicense(BY-NC-SA)74邮件客户——mutt支持POP、IMAP和本地邮箱高度的可配置性可映射的“热键”(hotkey,功能键)消息串线和彩色显示GnuPG整合上下文敏感的帮助(“?”)2024年5月29日CreativeCommonsLicense(BY-NC-SA)75文件同步

——rsync(remotesynchronize)rsync是一个远程数据同步工具可通过LAN/WAN同步不同主机上的文件或目录可以同步本地硬盘中的不同文件或目录rsync使用所谓的rsync算法进行数据同步同步若干新文件时:只复制有变化的文件同步原有文件时:只复制文件的变化部分参考HowRsyncWorksAPracticalOverviewrsync目前由

维护2024年5月29日CreativeCommonsLicense(BY-NC-SA)76rsync的基本特性可以镜像保存整个目录树和文件系统可以很容易做到保持原来文件的权限、时间、软硬链接等无须特殊权限即可安装优化的流程,文件传输效率高可以使用rsh、ssh方式来传输文件,当然也可以通过直接的socket连接支持匿名传输,以方便进行网站镜象2024年5月29日CreativeCommonsLicense(BY-NC-SA)77rsync使用的两种方式远程Shell方式可以使用rsh、ssh等远程Shell,默认使用ssh用户验证由远程Shell负责C/S方式客户连接远程rsync服务器rsync服务器默认监听873

端口用户验证由rsync服务器负责rsync服务器也可配置为匿名访问访问rsync服务器时可使用URL(rsync://host)2024年5月29日CreativeCommonsLicense(BY-NC-SA)78rsync命令同步本地文件或目录rsync[OPTION...]SRC...[DEST]将远程文件或目录同步到本地(拉)rsync[OPTION...][USER@]HOST:SRC...[DEST]将本地文件或目录同步到远程(推)rsync[OPTION...]SRC...[USER@]HOST:DEST2024年5月29日CreativeCommonsLicense(BY-NC-SA)79rsync命令的常用选项选项说明-a,--archive归档模式,等价于-rlptgoD(不包括-H)-r,--recursive对子目录以递归模式处理-l,--links保持符号链接文件-H,--hard-links保持硬链接文件-p,--perms保持文件权限-t,--times保持文件时间信息-g,--group保持文件属组信息-o,--owner保持文件属主信息(仅root可用)-D保持设备文件和特殊文件(仅root可用)2024年5月29日CreativeCommonsLicense(BY-NC-SA)80rsync命令的常用选项续选项说明-e,--rsh=COMMAND指定远程Shell程序,RHEL/CentOS默认为ssh-z,--compress在传输文件时进行压缩处理--delete删除那些接收端还保留而发送端已经不存在的文件--delete-after接收者在传输之后才进行删除操作--exclude=PATTERN指定排除不需要传输的文件匹配模式--include=PATTERN指定需要传输的文件匹配模式-P等价于--partial--progress--partial保留因故没有完全传输的文件,以加快随后的再次传输--progress在传输时显示传输过程-v,--verbose详细输出模式-q,--quiet精简输出模式2024年5月29日CreativeCommonsLicense(BY-NC-SA)81rsync命令应用举例(1)将整个/home目录及其子目录同步到/backups#rsync-a--delete/home/backups将/home目录下的所有内容同步到/backups/home.0#rsync-a--delete/home//backups/home.0执行“推”复制同步[root@soho~]#rsync/etc/hostscentos5:/etc/hosts执行“拉”复制同步[root@centos5~]#rsyncsoho:/etc/hosts/etc/hosts2024年5月29日CreativeCommonsLicense(BY-NC-SA)82rsync命令应用举例(2)执行“推”复制同步用户的环境文件[osmond@soho~]$rsync~/.bash*centos5:执行“拉”复制同步用户的环境文件[osmond@cnetos5~]$rsyncsoho:~/.bash*.执行“推”复制同步站点根目录[osmond@soho~]$rsync-avz--delete/var/wwwroot@01:/var/www执行“拉”复制同步站点根目录[osmond@cnetos5~]$rsync-avz--deleteroot@5:/var/www/var/www2024年5月29日CreativeCommonsLicense(BY-NC-SA)83rsync命令应用举例(3)从匿名rsync服务器同步CentOS的yum仓库同步到本地/var/ftp/yum/distr/centos/目录不同步SRPMS、x86_64和isos目录#rsync-aqzH--delete--delay-updates\--exclude=SRPMS/--exclude=x86_64/\--exclude=isos/\rsync:///centos/5.5\/var/ftp/yum/distr/centos/2024年5月29日CreativeCommonsLicense(BY-NC-SA)84sshssh用于替代telnet/rlogin格式ssh[user@]hostnamessh[user@]hostnamecommand举例$ssh-losmond00$sshosmond@00$sshosmond@00“ls~”2024年5月29日CreativeCommonsLicense(BY-NC-SA)85scpscp用于替代rcp格式:scp[option]<source><destination>远程文件的指定方式是:[user@]host:/path/to/file选项:-r:用于递归复制子目录-p:用于保留被复制文件的时间戳和权限-C:用于压缩数据流举例$scposmond@01:remotefilelocalfile$scp-rpCosmond@backup.ls-al.me:/data.2024年5月29日CreativeCommonsLicense(BY-NC-SA)86sftpsftp命令是基于SSH协议的ftp的客户端与ftp类似,但它进行加密传输,比FTP有更高的安全性格式sftp[user@]hostname举例:$sftposmond@01进入sftp会话之后就可以使用ftp子命令上传和下载文件了2024年5月29日CreativeCommonsLicense(BY-NC-SA)87RPM包管理2024年5月29日88CreativeCommonsLicense(BY-NC-SA)RPM概述RPM最早是由RedHat公司提出的软件包管理标准,最初的全称是RedHatPackageManager。后来随着版本的升级又融入了许多其他的优秀特性,成为了Linux中公认的软件包管理标准。被许多Linux发行使用,如:RHEL/CentOS/Fedora,SLES/openSUSE等。如今RPM是RPMPackageManager的缩写,由RPM社区(/)负责维护。2024年5月29日CreativeCommonsLicense(BY-NC-SA)89RPM的优点易于安装、升级便利丰富的软件包查询功能软件包内容校验功能支持多种硬件平台2024年5月29日CreativeCommonsLicense(BY-NC-SA)90RPM的五大功能安装——将软件从包中解出来,并安装到硬盘。卸载——将软件从硬盘清除。升级——替换软件的旧版本。查询——查询软件包的信息。验证——检验系统中的软件与包中软件的区别。2024年5月29日CreativeCommonsLicense(BY-NC-SA)91RPM组件本地数据库rpm及其相关的可执行文件RPM前端工具,如yum软件包文件2024年5月29日CreativeCommonsLicense(BY-NC-SA)92RPM包的名称格式name:软件的名称version:软件的版本号type:包的类型i[3456]86:在Intelx86计算机平台上编译的x86_64:在Intelx86_64计算机平台上编译的sparc/alpha:在sparc/alpha计算机平台上编译的src:软件源代码rpm:文件扩展名2024年5月29日CreativeCommonsLicense(BY-NC-SA)93name-version.type.rpm如:zsh-3.0.5-15.{i386,x86_64,src}.rpm获得RPM包从发行套件的CD中查找从软件的主站点查找下载从查找下载从/查找下载从/查找下载2024年5月29日CreativeCommonsLicense(BY-NC-SA)94安装、升级和删除软件输出选项:-v:安装时显示软件名称-h:使用“#”显示进度rpmfile的URL支持ftp://http://2024年5月29日CreativeCommonsLicense(BY-NC-SA)95安装:rpm-i|--install<rpmfile>…升级:rpm-U|--upgrade<rpmfile>…刷新:rpm-F|--freshen<rpmfile>…删除:rpm-e|--erase<package>…RPM的基本查询查询已安装的所有软件包rpm-qa查询软件包是否安装并查看软件包的版本rpm-q<package_name>查询软件包信息rpm-qi<package_name>rpm-qip<package_file_path_name>查询软件包中所有文件的名称rpm-ql<package_name>rpm-qlp<package_file_path_name>查询磁盘上的文件是从何软件包安装的rpm-qf<path_name>2024年5月29日CreativeCommonsLicense(BY-NC-SA)96RPM的更多查询查询依赖于一个已安装软件包的所有RPM包rpm-q--whatrequires<package-name>查询一个已安装软件包的依赖要求rpm-q--requires<package-name>查询一个已安装软件包的安装、删除脚本rpm-q--scripts<package-name>查询与一个已安装软件包相冲突的RPM包rpm-q--conflicts<package-name>查询一个已安装软件包的变更日志rpm-q--changelog<package-name>2024年5月29日CreativeCommonsLicense(BY-NC-SA)97RPM校验校验有已安装的所有软件包rpm-Va校验指定的软件包rpm-V<package_name>校验指定的RPM包文件rpm-Vp<package_file_path_name>验证包含指定文件的软件包rpm-Vf<path_name>2024年5月29日CreativeCommonsLicense(BY-NC-SA)98RPM包的公钥和签名导入RPM包的公钥格式:rpm--import<公钥文件名>例如#rpm--import/etc/pki/rpm-gpg/RPM-GPG-*#rpm--importhttp://apt.sw.be/RPM-GPG-KEY.dag.txt检查指定RPM包的数字签名rpm-K<rpmfile>2024年5月29日CreativeCommonsLicense(BY-NC-SA)99YUM更新系统2024年5月29日100CreativeCommonsLicense(BY-NC-SA)软件包管理与系统更新使用软件更新系统的目的为了要解决安装RPM时的依赖性问题常见的基于RPM的更新系统RedHatNetwork——RedHat的企业级更新系统yum——Fedora,CentOSzypp——openSUSEurpmi——MandrivaAPT-RPM——PCLinuxOS,ALTLinux2024年5月29日CreativeCommonsLicense(BY-NC-SA)101其他Linux发行的更新软件apt——Debian,Ubuntu,LinuxMintapk——Alpineslackpkg——Slackwareemerge——Gentoopacman——Archconary——rPath,Foresight2024年5月29日CreativeCommonsLicense(BY-NC-SA)102YUM简介yum是YellowdogUpdater,Modified的简称,用python写成。yum的宗旨是自动化地升级,安装/移除rpm包,收集rpm包的相关信息,检查依赖性并自动提示用户解决。yum是rpm的前端程序,RHEL的up2date的替代工具。yum的关键之处是要有可靠的repository(软件仓库)可以是http或ftp站点,也可以是本地软件池包含rpm包的各种信息(包括描述,功能,提供的文件,依赖性等)y

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论