Linux笔记:ip r结果解析 通过ip r命令,您可以查看Linux系统的路由表,了解数据包的转发路径。每一行输出代表一条路由规则,包含目标网络、下一跳网关、使用的网络接口、路由来源、优先级等信息。理解这些信息有助于诊断网络问题和优化网络配置。
VMware ESXi学习笔记 同时将esxi的存储组建成vsan,另外会创建一个DVS(分布式交换机),添加两个端口组,一个用来给虚机使用,一个用来给宿主机内部使用,需要创建vmkernel(包含:vMotion、置备、vSphere Replication、vSphere Replication NFC、vSAN)端口组:一般一个虚拟交换机会创建两个端口组,一个虚机使用,一个vmware使用,vmware使用的即内部数据和业务使用,需要创建vmkernel;1、调整虚机配置,编辑虚机,将网口的连接和启动连接关闭,确认后再次编辑打开;
Linux mount用法 sys/fs/cgroup/net_cls,net_prio: cgroup文件系统,控制组网络分类和优先级管理。/sys/fs/cgroup/cpu,cpuacct: cgroup文件系统,控制组CPU资源管理和计费。/sys/fs/cgroup/perf_event: cgroup文件系统,控制组性能事件监控。/sys/fs/cgroup/cpuset: cgroup文件系统,控制组CPU和内存节点分配。/sys/fs/cgroup/freezer: cgroup文件系统,控制组冻结和解冻任务。
iptables笔记 iptables的前身叫ipfirewall (内核1.x时代,当内核发展到2.x系列的时候,软件更名为ipchains,现在更名iptables,可以将规则组成一个列表,实现绝对详细的访问控制功能。工作在用户空间中,定义规则的工具,本身并不算是防火墙。它们定义的规则,让在内核空间当中的netfilter来读取,并且实现让防火墙工作。内核空间中共有5个位置,用以执行用户空间的规则:1.内核空间中:从一个网络接口进来,到另一个网络接口去的2.数据包从内核流入用户空间的3.数据包从用户空间流出的。
Linux lvm详解 同样,vgscan搜寻有几个vg并显示vg的基本属性,vgcreate是创建vg,vgdisplay是列出vg的详细信息,vgremove是删除整个vg,vgextend用于扩展vg即将pv添加到vg中,vgreduce是将pv移除出vg。而使用LVM,则是在硬盘分区为特定的LVM标识符的分区后将其转变为LVM可管理的PV,其实PV仍然类似于分区,然后将几个PV整合为类似于磁盘的VG,最后划分VG为LV,此时LV就成了LVM可管理的分区,只需再对其格式化即可成为文件系统。默认的是使用线性模式。
Linux网络存储:iSCSI 另外,使用-lld指定driver,有两种driver:iscsi和iser,基本都会使用iscsi。其中/usr/sbin/tgtadm和/usr/sbin/tgt-admin的都是管理和配置target的工具,它们作用是一样的,只不过tgtadm是命令行下的工具,而tgt-admin是根据配置文件/etc/tgt/targets.conf调用tgtadm来实现。NAS (Network Attached Storage, 网络附加储存服务器) :提供相关的网络文件系统,如NFS。
Linux网络存储:NFS 可能遇到timeout、unable to send等相关问题,排查服务器rpcbind、nfs启动顺序,客户端的ip地址是否设置正确,以及服务器端的/etc/hosts中,ip和计算机名是否匹配等等。RPC统一对外端口是111,使用NFS的时候,必须先启动RPC,再启动NFS,这样NFS才能到RPC去注册端口信息,然后客户端向服务器的RPC请求服务器的NFS端口信息,这样就能够传输数据了。NFS服务器对于端口的选择是随机的,那么问题在于,服务器端随机选择的端口,客户端如何才能知道呢?
Linux启动流程 所有的内核都是以bzImage方式压缩过的,压缩后CentOS 6的内核大小大约为4M,CentOS 7的内核大小大约为5M。内核要能正常运作下去,它需要进行解压释放。解压释放之后,将创建pid为0的idle进程,该进程非常重要,后续内核所有的进程都是通过fork它创建的,且很多cpu降温工具就是强制执行idle进程来实现的。然后创建pid=1和pid=2的内核进程。
汇编笔记:syscall和int 80H ;nasm -f elf64 -g -F stabs testhello.s;ld -o hello testhello.osection .data msg: db "hello world!", 10 ; ascii表中10对应换行符 msglen: equ $-msgsection .bsssection .textglobal _start_start: Nop ;i386通过中断(int 0x80)来实现系统调用 ;寄存器 eax 中存放系统调用号,同时返回值也存.
Python笔记: slots用法解析 #!/usr/bin/env python3#-*- coding:utf-8 -*-#slots用法解析:#默认情况下Python用一个字典来保存一个对象的实例属性,它允许我们在运行时去设置任意的新属性#__slots__允许我们声明并限定类成员,并拒绝类创建__dict__和__weakref__属性以节约内存空间。#子类未声明__slots__时,不继承父类的__slots__...
Linux笔记:实现nohup功能 #include <stdio.h>#include <stdlib.h>#include <fcntl.h>#include <unistd.h>#include <string.h>#include <signal.h>#include <sys/stat.h>#include <sys/...
汇编笔记:寄存器介绍 寄存器是CPU的组成部分,因为在CPU内,所以CPU对其读写速度是最快的,不需要IO传输,但同时也决定了此类寄存器数量非常有限,有限到几乎每个存储都有自己的名字,而且有些还有多个名字。IA-32构架提供了16个基本寄存器,这16个基本寄存器可以归纳为如下几类:通用寄存器段寄存器状态和控制寄存器指令寄存器通用寄存器32位通用寄存器有八个,eax, ebx, ecx,...
linux 动态静态库路径 1. 连接和运行时库文件搜索路径到设置 库文件在连接(静态库和共享 库)和运行(仅限于使用共享库的程序)时被使用,其搜索路径是在系统中进行设置的。一般 Linux 系统把 /lib 和 /usr/lib 两个目录作为默认的库搜索路径,所以使用这两个目录中的库时不需要进行设置搜索路径即可直接使用。对于处于默认库搜索路径之外的库,需要将库的位置添加到 库的搜索路径之中。设置库文件的搜索路径...
GCC常用参数详解 简介gcc and g++现在是gnu中最主要和最流行的c & c++编译器 .gcc/g++在执行编译工作的时候,总共需要以下几步:1.预处理,生成.i的文件[预处理器cpp]2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs]3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as]4.连接目标代码,生成可执行程序[链接器ld]GCC能够处理的后缀有:...
操作系统IO模型 一.操作系统与设备之间的IO简单来说(详细的请看《现代操作系统》),操作系统通过设备驱动程序访问IO设备。方式有:(1)轮询方式:CPU主动在各种设备中轮询检查状态,有数据就IO。(2)中断方式:设备有数据的时候,发出中断,由CPU决定要不要响应中断,然后中断,去处理设备的IO。CPU不用经常轮询设备状态。被动接收中断就行。(3)DMA直接存储器访问方式:如果1个字节的数据中断...
TCP/IP协议详解:三次握手四次挥手 TCP报文格式TCP提供一种面向连接的,可靠的字节流服务。TCP首部的数据格式如下。(如果不计任选字段,通常是20个字节)字段分析源端口:源端口和IP地址的作用是标识报文的返回地址。目的端口:端口指明接收方计算机上的应用程序接口。TCP报头中的源端口号和目的端口号同IP数据报中的源IP与目的IP唯一确定一条TCP连接。序号:是TCP可靠传输的关键部分。序号是该报文段发送的数据组的第一个字节的序号。...
Linux笔记:禁止root账号远程登录、添加swap分区、修改ulimit 新装ubuntu需要执行的几个操作:1.修改sshd默认端口,禁止root登录sudo vi /etc/ssh/sshd_config将PermitRootLogin 设置为No --表示禁止root远程登录将Port 修改为2222sudo service sshd restart2.添加swap分区(dd/fallocate/mkswap/swapon) 2.1 创建一个2G大小的文...
Python笔记: __getattribute__、__getattr__、__getitem__的区别 #!/usr/bin/env python#-*- coding:utf-8 -*-"""对比__getattribute__、__getattr__、__getitem__函数的区别"""class AboutAttr(dict): def __init__(self, name): self.name = name self.dict = {}...