分类 linux 下的文章

在常规的网络环境中,大量使用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]

- 阅读剩余部分 -

对于研发人员来说,大多数时候都需要跟踪 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 命令来决定你暂时搁置的工作,你可以重写已经发生的提交以使它们看起来是另外一种样子。这个包括改变提交的次序、改变说明或者修改提交中包含的文件,将提交归并、拆分或者完全删除——这一切在你尚未开始将你的工作和别人共享前都是可以的。

- 阅读剩余部分 -

服务器性能监控包含许多内容,比如系统负载、CPU使用率、网络带宽使用情况、IO调用频率等等,Swap的使用情况也为我们对服务器性能监控提供补充。

Swap 介绍

用户进程内存空间中数据有两种:

  • 从文件系统中读进来的数据 (主要有文件内容高速缓存, 程序代码和共享库)
  • 程序使用的堆栈空间

- 阅读剩余部分 -

git操作一般都支持两种协议:ssh/http(s), 默认情况下, 不管使哪种协议在进行git操作都将输入用户名和密码,这将导致整个使用体验非常差。我们希望仅仅输入一次用户名和密码, 甚至一次也不用输入。

在进行任何配置之前, 我们需要定义我们使用哪个用户和git代码库交互。使用git config配置用户名和邮箱信息,如果你仅仅是用于当前工作目录,去掉 --global 选项,将仅在当前代码库生效。

git config --global user.email "xxx@xxx.com"
git config --global user.user"xxx"

设置git长期存储密码

git config --global credential.helper store

- 阅读剩余部分 -

了解开源软件最好的办法是看开源软件的官方网站,对与GNU Autotools主要包含三个工具:AutoconfAutomakeLibtool

三个工具的官方文档地址见:

虽然文档多达几百页,但相对来说更系统和更完善,值得细细品读。

GNU软件的构建过程,一般来说, 包含三个步骤:

  • tar xfv xxx.tar.gz
  • ./configure
  • make
  • make install

该过程一般依赖两个文件, configure和Makefile文件。

Autoconf/Automake就是一套用于自动构建configure脚本和Makefile文件的工具。

- 阅读剩余部分 -