「@Author: Runsen」

1、⽹络管理

1.1 网络状态查看

在Linux中经常使用ifconfig,route和netstat查看网络状态,它们就是. net-tools工具,下面我来使用下。

我就说下ifconfigroute

在我们的linux中有很多网卡接口,比如eth0第一块网卡网络接口,eno1板载⽹网卡, ens33 PCI-E⽹网卡 。CentOS 7 使⽤用了⼀致性⽹络设备命名,以上都不匹配,则使⽤ eth0

[root@node01 ~]# ifconfig eth0
eth0: error fetching interface information: Device not found
[root@node01 ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.92.90  netmask 255.255.255.0  broadcast 192.168.92.255inet6 fe80::b889:1772:c306:ef8f  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:07:43:5a  txqueuelen 1000  (Ethernet)RX packets 910  bytes 954985 (932.6 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 450  bytes 38942 (38.0 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

1.2 网络配置文件

vim /etc/hosts网络配置文件

在配置hadoopelasticsearch集群的时候需要在/etc/hosts配置集群IP和主机名,有时候你ping不了百度,可能域名解析不了,需要在/etc/sysconfig/network-scripts/ifcfg-eth0配置

[root@node01 ~]# vim /etc/sysconfig/network
#########
HOSTNAME=node01
[root@node01 ~]# vim /etc/hosts
#########
192.168.92.90 node01
192.168.92.91 node02
192.168.92.92 node03[root@node01 ~]# 配置DNS,域名解析服务
[root@node01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DNS1=202.106.0.20
DNS2=8.8.8.8

1.3 ⽹络故障排除命令

第一,ping百度:查看目标机器的网络是否可通

maoli@ubuntu:~$ ping baidu.com
PING baidu.com (220.181.38.148) 56(84) bytes of data.
64 bytes from 220.181.38.148: icmp_seq=1 ttl=128 time=49.6 ms
64 bytes from 220.181.38.148: icmp_seq=2 ttl=128 time=48.2 ms
^C
--- baidu.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 48.223/48.948/49.673/0.725 ms

nslookup 工具就可以对域名解析, 格式是nslookup空格+域名

比如nslookup www.baidu.com 。 Server即为域名对应的ip

maoli@ubuntu:~$ nslookup www.baidu.com
Server:  127.0.1.1
Address: 127.0.1.1#53Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 182.61.200.6
Name: www.a.shifen.com
Address: 182.61.200.7

tcpdump是一个用于截取网络分组,并输出分组内容的工具。凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具

比如tcpdump -i any -n port 80 抓取所有网卡(any)80端口数据包,并且以ip形式显示(-n)

maoli@ubuntu:~$ sudo tcpdump -i any -n port 80 -n
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
10:28:11.003675 IP 192.168.92.1.53951 > 192.168.92.135.80: Flags [S], seq 185886164, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
10:28:11.003875 IP 192.168.92.135.80 > 192.168.92.1.53951: Flags [S.], seq 2863640054, ack 185886165, win 64240, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
10:28:11.004114 IP 192.168.92.1.53951 > 192.168.92.135.80: Flags [.], ack 1, win 4106, length 0
10:28:11.010472 IP 192.168.92.1.53951 > 192.168.92.135.80: Flags [P.], seq 1:476, ack 1, win 4106, length 475: HTTP: GET /sqli-labs/ HTTP/1.1

比如tcpdump -i any -n host 10.0.0.1 and port 80 抓取所有网卡的80端口和10.0.0.1之间的数据包,并且以ip形式显示

netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。

netstat 查看服务监听端口状态是否正确

-n 显示ip地址 -t tcp协议 -p 显示端口对应的进程 -l tcp的监听状态(listen) -ntpl 查看端口开放情况

maoli@ubuntu:~$ sudo netstat -ntlp
激活Internet连接 (仅服务器)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1111/sshd
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      14200/cupsd
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      1148/mysqld
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      1165/redis-server 1
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      1285/dnsmasq
tcp6       0      0 :::22                   :::*                    LISTEN      1111/sshd
tcp6       0      0 ::1:631                 :::*                    LISTEN      14200/cupsd
tcp6       0      0 :::9000                 :::*                    LISTEN      2234/docker-proxy
tcp6       0      0 :::80                   :::*                    LISTEN      1842/apache2

1.4 ⽹络服务管理

⽹络服务管理程序分为两种,分别为SysVsystemd。现在Systemd已经基本取代了SysV的Init。

1.5 设置静态ip

在搭建任何集群,都是要设置静态ip的。

[root@node01]# vim /etc/sysconfig/network-scripts/ifcfg-ens33################
BOOTPROTO=static
ONBOOT="yes"
# 网关地址根据系统的网络而定
GATEWAY=192.168.92.2
# 设置的静态ip
IPADDR=192.168.92.92
NETMASK=255.255.255.0
# 配置DNS服务器
DNS1=8.8.8.8
DNS2=8.8.4.4

2. 软件安装

2.1 rpm安装

在 Linux 操作系统下,几乎所有的软件均通过RPM 进行安装、卸载及管理等操作。RPM 的全称为Redhat Package Manager ,是由Redhat 公司提出的,用于管理Linux 下软件包的软件,主要用于CentOS、RedHat等linux系统,软件安装包格式为 rpm。

比如一个vim的rpm叫:vim-common-7.4.10-5.el7.x86_64.rpmvim-common是软件名称,7.4.10-5软件版本,el7是Red Hat Enterprise Linux 指的是centos7系统版本,x86_64指的是系统平台x86

rpm 命令常⽤参数,-q 查询软件包-i 安装软件包-e 卸载软件包

2.2 yum 包管理器

yum(全称 Yellow dog Updater, Modified)是一个前端软件包管理器,基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系。

下载阿里云的yum源到了/etc/yum.repos.d

备份yum源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

下载新的CentOS-Base.repo/etc/yum.repos.d/,这里指的是centos7

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 运行yum makecache生成缓存
yum clean all
yum makecache

这时候可以查看yum的base

[root@node01 ~]# vim /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

由于yum中有的mirror速度是非常慢的。对此,我可以下载fastestmirror插件。

[root@node01 ~]# yum install yum-fastestmirror -y
[root@node01 ~]# cat  /etc/yum/pluginconf.d/fastestmirror.conf
[main]
enabled=1
verbose=0
always_print_best_host = true
socket_timeout=3
#  Relative paths are relative to the cachedir (and so works for users as well
# as root).
hostfilepath=timedhosts.txt
maxhostfileage=10
maxthreads=15
#exclude=.gov, facebook
#include_only=.nl,.de,.uk,.ie

yum常用命令install 安装软件包,remove 卸载软件包,list| grouplist 查看软件包,update 升级软件包

2.3 apt安装

Ubuntu的高级打包工具(APT,Advanced Packaging Tool ),Debian、Ubuntu 使⽤ apt 包管理器,软件安装包格式为 deb。

apt安装一个nginx

maoli@ubuntu:~$ sudo apt-get install nginx
/usr/sbin/nginx:主程序
/etc/nginx:存放配置文件
/usr/share/nginx:存放静态文件
/var/log/nginx:存放日志

2.4 make install编译源码安装

源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。

configure文件是一个可执行的脚本文件,它有很多选项,在待安装的源码目录下使用命令./configure –help可以输出详细的选项列表。

其中--prefix选项是配置安装目录,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱。

如果配置了--prefix,如:./configure --prefix=/usr/local/python3

安装后的所有资源文件都会被放在/usr/local/python3目录中,不会分散到其他目录。如果删除直接删除这个文件就可以了。

比如centos7安装Python3.6

[root@node01 ~]# yum install yum-utils
[root@node01 ~]# yum install openssl-devel -y
[root@node01 ~]# mkdir -p  /usr/local/python3
[root@node01 ~]# cd /usr/local/python3/
[root@node01 python3]# wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tgz
[root@node01 python3]# tar -zxvf Python-3.6.7.tgz
[root@node01 python3]# cd Python-3.6.7
[root@node01 python3.6.7]# ./configure --prefix=/usr/local/python3 --with-ssl
[root@node01 python3.6.7]# make && make install
Installing collected packages: setuptools, pip
Successfully installed pip-10.0.1 setuptools-39.0.
[root@node01 python3.6.7]# cd ..
[root@node01 Python3]# ln -s /usr/local/python3/bin/python3 /usr/bin/python3
[root@node01 Python3]# ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
[root@node01 Python3]# python3 -V
Python 3.6.7
[root@node01 Python3]# python3
Python 3.6.7 (default, Mar  5 2020, 11:00:15)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

3. 进程管理

进程 是 Unix 和 Linux 系统中对正在运行中的应用程序的抽象,通过它可以管理和监视程序对内存、处理器时间和 I / O 资源的使用。

3.1 杀进程

很多时候需要杀进程,ps -ef可以查看所有的进程,ps -ef|grep 查看具体的任务的进程,

比如查看Mysql进程

[root@node01 ~]# ps -ef|grep mysql
clouder+   1726      1 38 15:16 ?        00:04:34 /usr/java/jdk1.8.0_241/bin/java -cp .:/usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/usr/share/java/postgresql-connector-java.jar:lib/* -server -Dlog4j.configuration=file:/etc/cloudera-scm-server/log4j.properties -Dfile.encoding=UTF-8 -Dcmf.root.logger=INFO,LOGFILE -Dcmf.log.dir=/var/log/cloudera-scm-server -Dcmf.log.file=cloudera-scm-server.log -Dcmf.jetty.threshhold=WARN -Dcmf.schema.dir=/opt/cloudera/cm/schema -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dpython.home=/opt/cloudera/cm/python -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+HeapDumpOnOutOfMemoryError -Xmx2G -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -XX:OnOutOfMemoryError=kill -9 %p com.cloudera.server.cmf.Main
mysql      2745      1  0 15:16 ?        00:00:04 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
root       9864   4959  0 15:28 pts/0    00:00:00 grep --color=auto mysql

查找与指定条件匹配的进程 - 「pgrep」,,就是ps -ef|grep缩写

[root ~]$ pgrep mysqld
3584

查看端口的进程,比如mysql的端口是3306

[root@node01 ~]# lsof -i:3306
COMMAND  PID         USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    1726 cloudera-scm  285u  IPv4  50625      0t0  TCP localhost:58292->localhost:mysql (ESTABLISHED)
mysqld  2745        mysql   27u  IPv6  47164      0t0  TCP *:mysql (LISTEN)
mysqld  2745        mysql   40u  IPv6  54060      0t0  TCP localhost:mysql->localhost:58296 (E

杀进程使用kill -9命令,比如 kill -9 1726,就是杀Mysql进程

3.2 守护进程

守护进程就是通常说的daemon进程,是linux后台执行的一种进程,不会随着终端的关闭而停止运行,开Linux系统的会自动打开。

不挂断地运行命令。no hangup的缩写,意即“不挂断”。和&联用

[root@node01 ~]# tail -f /var/log/messages
May  1 16:01:10 node01 kubelet: I0501 16:01:10.344757   26130 server.go:837] Client rotation is on, will bootstrap in background[root@node01 ~]# ps -ef|grep tail
root      26210  25353  0 16:01 pts/1    00:00:00 tail -f /var/log/messages
root      26555  25310  0 16:01 pts/0    00:00:00 grep --color=auto tail关闭上面的tail -f /var/log/messages[root@node01 ~]# ps -ef|grep tail
[root@node01 ~]# ps -ef|grep tail
root      27353  25310  0 16:03 pts/0    00:00:00 grep --color=auto tail

一般需要nohup和 &连用

[root@node01 ~]# nohup tail -f /var/log/messages &
[1] 27718
nohup: 忽略输入并把输出追加到"nohup.out"[root@node01 ~]# ps -ef|grep tail
root      27718  25353  0 16:04 pts/1    00:00:00 tail -f /var/log/messages
root      29444  25310  0 16:07 pts/0    00:00:00 grep --color=auto tail
关闭上面的nohup tail -f /var/log/messages &[root@node01 ~]# ps -ef|grep tail
root      27718      1  0 16:04 ?        00:00:00 tail -f /var/log/messages
root      29946  25310  0 16:08 pts/0    00:00:00 grep --color=auto tail

3.3 查看进程

ps -ef查看进程

[root ~]# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 Jun23 ?        00:00:05 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
root         2     0  0 Jun23 ?        00:00:00 [kthreadd]
...
[root ~]# ps -ef | grep mysqld
root      4943  4581  0 22:45 pts/0    00:00:00 grep --color=auto mysqld
mysql    25257     1  0 Jun25 ?        00:00:39 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

❝ 本文已收录 GitHub,传送门~[1] ,里面更有大厂面试完整考点,欢迎 Star。

Reference

[1]

传送门~: https://github.com/MaoliRUNsen/runsenlearnpy100

tableau linux无网络安装_四十二、Linux网络管理,软件安装,进程管理总结相关推荐

  1. ctypes安装_用python amp; bat写软件安装脚本 + HM NIS Edit自动生成软件安装脚本

    2019-03-11更新:原来NSIS脚本也可以禁用64位文件操作重定向的! 1.在安装脚本的开始处定义 LIBRARY_X64. !include "MUI.nsh" !incl ...

  2. 关于联想小新16pro无网络问题_雪雪专享篇(安装网卡驱动篇)

    1.网络上说升级内核可以解决问题,但经过尝试--无果.同时导致ubuntu再次启动时黑屏. so笔者不建议升级内核来解决网卡驱动的问题. ------------------------------- ...

  3. linux内核网络协议栈--packet_type(十二)

    进入函数netif_receive_skb()后,skb正式开始协议栈之旅. 先上图,协议栈大致过程如下所示: 跟OSI七层模型不同,linux根据包结构对网络进行分层. 比如,arp头和ip头都是紧 ...

  4. Linux疑难杂症解决方案100篇(十二)-ubuntu中安装ftp服务器

    ubuntu安装ftp服务器 1. 安装vsftpd ~$ sudo apt-get install vsftpd ubuntu10.10自己装了,这步省略. 2. 配置vsftpd 修改vsftpd ...

  5. sql文件加载出错_四十二、SparkSQL通用数据源加载(load)和保存(save)

    SparkSQL能用数据加载(load)和保存(save) 对于Spark SQL的DataFrame来说,无论是从什么数据源创建出来的DataFrame,都有一些共同的load和save操作.loa ...

  6. linux 信号量 自旋锁 测试 实验,「正点原子Linux连载」第四十八章Linux并发与竞争实验...

    1)实验平台:正点原子Linux开发板 2)摘自<正点原子I.MX6U嵌入式Linux驱动开发指南> 关注官方微信号公众号,获取更多资料:正点原子 第四十八章Linux并发与竞争实验 在上 ...

  7. maya批量命名插件_教你玩转MAYA的四十二精华造诣(第一期)

    最近在整理文档时发现我收藏了一篇关于MAYA应用技巧的文章,突然有兴趣看了看,结果发现老版本MAYA中的某些内容很多已经无法应用于新版本.我又上网查了一下,结果发现网上好多帖子和我收藏的这篇内容基本一 ...

  8. Linux配置网络信息(四种方法)

    Linux配置网络信息(四种方法) 临时配置IP地址(2种方式) 1.ifconfig命令 语法: ifconfig <以太网接口> <IP地址> netmask <掩码 ...

  9. 多麦克风做拾音的波束_乱侃外设 篇四十二:一浪更比一浪强!HyperX Quadcast S 声浪加强版麦克风浅评...

    原标题:乱侃外设 篇四十二:一浪更比一浪强!HyperX Quadcast S 声浪加强版麦克风浅评 乱侃外设 篇四十二:一浪更比一浪强!HyperX Quadcast S 声浪加强版麦克风浅评 20 ...

最新文章

  1. 华为:HarmonyOS 即将开源!
  2. 学界 | DeepMind论文解读:通过删除神经元来了解深度学习
  3. Codeforces Round #753 (Div. 3) A-E
  4. spring源码研究
  5. 微型统计分析系统README
  6. Android XML文件中设置字体
  7. ANSYS——查看某一截面的云图分布(也叫做切片图)
  8. 一款强大的IDEA插件,帮你实现多人远程编程!
  9. OpenStack Glance(镜像服务)基础架构:Basic architecture
  10. c++ file* 句柄泄漏_C/C++连接MySql数据库使用总结
  11. Nginx+Memcached+Tomcat集群配置
  12. java动态规划求最大子段和_动态规划-最大子段和
  13. mysql.sock文件的作用
  14. Oracle中的空值问题
  15. java retrofit_Android开发Retrofit2+Rxjava2+okHttp 网络框架封装
  16. 根据计算机配置设置bios,设置BIOS让计算机每天都按时自动开机
  17. [转]office2010一直卡在“正在受保护的视图中打开”
  18. ASP模式的机械产品分布式协同设计的研究
  19. “ IMY”是什么意思,如何使用?
  20. java cs 顺丰运单_JAVA接入顺丰快递

热门文章

  1. 拼音输入法功能大比拼
  2. python输出与删除某行或某列
  3. 学成在线--7.CMS页面管理开发(异常处理)
  4. h.323 服务器 作用,Cisco CallManager服务器冗余的H.323 网关拨号对端配置
  5. python flask 上传下载 api_Flask 文件下载API
  6. redis 远程主机强迫关闭了一个现有的连接_记一次Redis+Getshell经验分享
  7. python常用快捷键、写代码事半功倍_Pycharm常用快捷键总结及配置方法
  8. 【VC++技术杂谈005】如何与程控仪器通过GPIB接口进行通信
  9. html加载js文件失败,firefox/chrome动态设置script加载js文件失败
  10. Linux进程全解9——进程状态、system函数、进程间的关系