分类 操作系统 下的文章

Debian/Ubuntu系列发行版, 自动化安装技术使用proseed file来定义安装过程的选项,这块内容在前面的文章中,也详细介绍过, 可以参见 PXE系列文章(6)-TFTP 工作目录配置.

而当你有一个存储设备已经分区,并格式化的存储设备, 在这样的设备安装启动 Ubuntu Installer 按照 preseed file的选项一步一步完成安装的过程中, 出现下面选项提示

following disks have mounted partitions

- 阅读剩余部分 -

在常规的网络环境中,大量使用DHCP,比如我们家用的路由器,办公网络的无限AP,我们在这样的网络环境中,仅需将网卡配置为动态获取IP地址即可。而在生产环境,我们需要将IP地址分配到特定的资源,以便让环境的使用保持固定,这样我们就需要配置服务器的固定IP地址。因为Windows环境基于图形操作相对较简单,这里我们介绍下 Linux 各个发行版本的网卡配置流程。

实验环境准备了一台虚拟机,有两个网卡enp0s3/enp0s8, 这里我们选择 enp0s8 作为我们的实验网卡来操作, 在配置网卡之前, 我们还要知道网络的一些信息,我这里的网络网段是 192.168.56.0/24, 可分配的IP地址范围为 192.168.56.2~192.168.56.254, 去掉头尾网关地址和广播地址, 网络的掩码地址为 255.255.255.0, 网关为 192.168.56.1, 我们从可用IP范围中选择 192.168.56.10 作为我们的虚拟机的网卡 IP 地址, 目标配置的网卡为 enp0s8.

REHL/CentOS

REHL/CentOS 的网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-enp0s8, 该文件如果不存在, 创建该文件即可.

- 阅读剩余部分 -

转换 VirtualBox vdi 镜像文件格式为 KVM qcow2文件相对比较简单, 转换过程中, 我们需要依赖 raw 格式,转换不凑如下:

  1. 转换前必须保证虚拟机是关机状态
  2. 使用 VBoxManage 将 vdi 格式转换为 raw 格式
    注意: vdi是压缩文件格式, raw为非压缩文件格式, 需要留下足够的磁盘空间.
VBoxManage clonehd --format RAW vm.vdi vm.img

- 阅读剩余部分 -

存储引擎

MySQL不同于其他数据库,它有存储引擎这个概念,可以让我们灵活地在实际存储环境中采用最优的存储引擎,最常用的引擎是InnoDB与MyISAM。

1.查看MySQL提供的所有存储引擎

mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
9 rows in set

- 阅读剩余部分 -

某些情况下,我们需要通过代理才能访问特定网络环境下的git资源,git支持代理配置, 支持 http(s), SOCKS4/SOCKS5.

HTTP(S)

HTTP 代理配置格式如下:

git config --global http.proxy http://[proxy]:[port]

实际环境下, 其实我们大多数情况下,并不需要全部git资源都需要通过代理访问, 仅仅某些特定的git库需要通过代理设置,针对特定域名的代理配置就更有实际意义.

git config --global http.[URL].proxy  http://[proxy]:[port]

- 阅读剩余部分 -

JVM概述

JVM是Java Virtual Machine(Java 虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

Java语言的一个非常重要的特点就是平台无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。

JVM总体上是由类装载子系统(ClassLoader)、运行时数据区、执行引擎、垃圾收集这四个部分组成。其中我们最为关注的运行时数据区,也就是JVM的内存部分则是由方法区(Method Area)、JAVA堆(Java Heap)、虚拟机栈(JVM Stack)、程序计数器、本地方法栈(Native Method Stack)这几部分组成。

JVM体系结构

jvm

- 阅读剩余部分 -

对于研发人员来说,大多数时候都需要跟踪 Linux 的启动过程,用于快速诊断内核启动流程和服务启动流程.Ubuntu 默认安装情况下,是开启了图形界面启动,正式的称呼为 Splash Screen.

要关闭 Splash Screen,需要更新 Grub 的启动配置信息.

Grub2 环境

在 Grub 2 版本下,Grub 的默认配置文件信息在 /etc/default/grub 文件中.编辑 /etc/default/grub 文件:

sudo vim /etc/default/grub

- 阅读剩余部分 -

MegaCli是一款管理维护硬件RAID软件,可以查看当前raid卡的所有信息:raid卡的型号,raid的阵列类型,raid的磁盘状态;可以对raid进行管理:在线添加磁盘,创建磁盘阵列、删除阵列等。MegaCli是LSI公司官方提供的SCSI卡管理工具。由于被收购变成了现在的Broadcom,所以现在想下载MegaCli,需要去Broadcom官网查找Legacy产品支持,搜索MegaRAID。

MegaCli安装

wget ftp://download2.boulder.ibm.com/ecc/sar/CMA/XSA/ibm_utl_sraidmr_megacli-8.00.48_linux_32-64.zip
unzip ibm_utl_sraidmr_megacli-8.00.48_linux_32-64.zip
cd linux
rpm -ivh Lib_Utils-1.00-09.noarch.rpm  MegaCli-8.00.48-1.i386.rpm
或
rpm -ivh Lib_Utils-1.00-09.noarch.rpm  MegaCli-8.00.48-1.i386.rpm --replacefiles

- 阅读剩余部分 -

在 Git 上工作的时候,你也许会由于某种原因想要修订你的提交历史。Git 的一个卓越之处就是它允许你在最后可能的时刻再作决定。你可以在你即将提交暂存区时决定什么文件归入哪一次提交,你可以使用 stash 命令来决定你暂时搁置的工作,你可以重写已经发生的提交以使它们看起来是另外一种样子。这个包括改变提交的次序、改变说明或者修改提交中包含的文件,将提交归并、拆分或者完全删除——这一切在你尚未开始将你的工作和别人共享前都是可以的。

- 阅读剩余部分 -

有时候,我们需要制作一些可启动的 U 盘,以便引导 Linux 或者 Windows 来方便安装操作系统或者修复系统问题.对于 Linux 上制作可启动 U 盘, 可以直接使用 dd 命令直接写入 U 盘即可完成个可启动 U 盘的制作, 如:

# dd if=./ubuntu-16.04.6-server-amd64.iso of=/dev/sdd bs=1M
  • if 指向原始的可启动的 iso 文件
  • of 指向 U 盘的设备描述符,Linux 上可以使用 fdisk -l 查看到对应设备,注意一定不能写错了, 写错了容易导致对应盘上数据被擦除.
  • bs 为设置的读写缓存大小.

- 阅读剩余部分 -