技术

Linux 中 10 个有用的命令行补全例子

Linux 中 10 个有用的命令行补全例子

在 Linux 系统中,当你输入一个命令,再按两次 TAB 键,就会列出所有以你输入字符开头的可用命令。这并不新鲜,可能你已经知道了。这个功能被称作命令行补全bash completion。默认情况下,bash 命令行可以自动补全文件或目录名称。不过,我们可以增强 bash 命令补全功能,通过 complete 命令让它达到新的高度。 这个教程说明了我们是怎样使用可编程的命令行补全功能(programmable completion)把自动补全功能应用于选项或者命令行参数。 例如:在输入 write 命令之后,如果你按两次 TAB 按键,自动补全功能会提供可供执行 write 操作的
RHCSA 系列(十): Yum 包管理、Cron 自动任务计划和监控系统日志

RHCSA 系列(十): Yum 包管理、Cron 自动任务计划和监控系统日志

在这篇文章中,我们将回顾如何在 RHEL7 中安装,更新和删除软件包。我们还将介绍如何使用 cron 进行任务自动化,并完成如何查找和监控系统日志文件,以及为什么这些技能是系统管理员必备技能。 RHCSA: Yum包管理、任务计划和系统监控 Part 10 使用yum 管理包 要安装一个包以及所有尚未安装的依赖包,您可以使用: # yum -y install package_name(s) package_name(s) 需要是至少一个真实的软件包名 例如,安装 httpd 和 mlocate(按顺序),输入。 # yum -y install httpd mlocate 注意: 字符 y 表示绕过执行下载和安装前的确认提示。
如何在 Linux 中整理磁盘碎片

如何在 Linux 中整理磁盘碎片

有一个神话是 linux 的磁盘从来不需要整理碎片。在大多数情况下这是真的,大多数因为是使用的是优秀的日志系统(ext3、4等等)来处理文件系统。然而,在一些特殊情况下,碎片仍旧会产生。如果正巧发生在你身上,解决方法很简单。 什么是磁盘碎片 文件系统会按块更新文件,如果这些块没有连成一整块而是分布在磁盘的各个角落中时,就会形成磁盘碎片。这对于 FAT 和 FAT32 文件系统而言是这样的。在 NTFS 中这种情况有所减轻,但在 Linux(extX)中却几乎不会发生。下面是原因: 在像 FAT 和 FAT32 这类文件系统中,文件紧挨着写入到磁盘中
Mhddfs:将多个小分区合并成一个大的虚拟存储

Mhddfs:将多个小分区合并成一个大的虚拟存储

让我们假定你有30GB的电影,并且你有3个驱动器,每个的大小为20GB。那么,你会怎么来存放东西呢? 很明显,你可以将你的视频分割成2个或者3个不同的卷,并将它们手工存储到驱动器上。这当然不是一个好主意,它成了一项费力的工作,它需要你手工干预,而且花费你大量时间。 另外一个解决方案是创建一个 RAID磁盘阵列。然而,RAID在存储可靠性,磁盘空间可用性差等方面声名狼藉。另外一个解决方案,就是mhddfs。 Mhddfs在Linux中合并多个分区 mhddfs是一个用于Linux的设备驱动,它可以将多个挂载点合并到一个虚拟磁盘中。它是一个基于FUSE
RHCSA 系列(九): 安装、配置及加固一个 Web 和 FTP 服务器

RHCSA 系列(九): 安装、配置及加固一个 Web 和 FTP 服务器

Web 服务器(也被称为 HTTP 服务器)是在网络中将内容(最为常见的是网页,但也支持其他类型的文件)进行处理并传递给客户端的服务。 FTP 服务器是最为古老且最常使用的资源之一(即便到今天也是这样),在身份认证不是必须的情况下,它可通过客户端在一个网络访问文件,因为 FTP 使用没有加密的用户名和密码,所以有些情况下不需要验证也行。 在 RHEL 7 中可用的 web 服务器是版本号为 2.4 的 Apache HTTP 服务器。至于 FTP 服务器,我们将使用 Very Secure Ftp Daemon (又名 vsftpd) 来建立用 TLS 加固的连接。 RHCSA: 安装,配置及加
RHCSA 系列(八): 加固 SSH,设定主机名及启用网络服务

RHCSA 系列(八): 加固 SSH,设定主机名及启用网络服务

作为一名系统管理员,你将经常使用一个终端模拟器来登录到一个远程的系统中,执行一系列的管理任务。你将很少有机会坐在一个真实的(物理)终端前,所以你需要设定好一种方法来使得你可以登录到你需要去管理的那台远程主机上。 事实上,当你必须坐在一台物理终端前的时候,就可能是你登录到该主机的最后一种方法了。基于安全原因,使用 Telnet 来达到以上目的并不是一个好主意,因为穿行在线缆上的流量并没有被加密,它们以明文方式在传送。 另外,在这篇文章中,我们也将复习如何配置网络服务来使得它在开机时被自动开启,并学习如何设置
RHCSA 系列(七): 使用 ACL(访问控制列表) 和挂载 Samba/NFS 共享

RHCSA 系列(七): 使用 ACL(访问控制列表) 和挂载 Samba/NFS 共享

在上一篇文章(RHCSA 系列(六))中,我们解释了如何使用 parted 和 ssm 来设置和配置本地系统存储。 RHCSA 系列: 配置 ACL 及挂载 NFS/Samba 共享 Part 7 我们也讨论了如何创建和在系统启动时使用一个密码来挂载加密的卷。另外,我们告诫过你要避免在挂载的文件系统上执行危险的存储管理操作。记住了这点后,现在,我们将回顾在 RHEL 7 中最常使用的文件系统格式,然后将涵盖有关手动或自动挂载、使用和卸载网络文件系统(CIFS 和 NFS)的话题以及在你的操作系统上实现访问控制列表(Access Control List)的使用。 前提条件 在进一步深
mosh:一个基于 SSH 用于连接远程 Unix/Linux 系统的工具

mosh:一个基于 SSH 用于连接远程 Unix/Linux 系统的工具

Mosh 表示移动 Shell(Mobile Shell),是一个用于从客户端跨互联网连接远程服务器的命令行工具。它能用于 SSH 连接,但是比 Secure Shell 功能更多。它是一个类似于 SSH 而带有更多功能的应用。程序最初由 Keith Winstein 编写,用于类 Unix 的操作系统中,发布于GNU GPL v3协议下。 Mosh Shell SSH 客户端 Mosh的功能 它是一个支持漫游的远程终端程序。 在所有主流的类 Unix 版本中可用,如 Linux、FreeBSD、Solaris、Mac OS X 和 Android。 支持不稳定连接 支持智能的本地回显 支持用户输入的行编辑 响应式设计及在 wifi、3G、长距离
RHCSA 系列(六): 使用 Parted 和 SSM 来配置和加密系统存储

RHCSA 系列(六): 使用 Parted 和 SSM 来配置和加密系统存储

在本篇文章中,我们将讨论在 RHEL 7 中如何使用传统的工具来设置和配置本地系统存储,并介绍系统存储管理器(也称为 SSM),它将极大地简化上面的任务。 RHCSA: 配置和加密系统存储 Part 6 请注意,我们将在这篇文章中展开这个话题,但由于该话题的宽泛性,我们将在下一期中继续介绍有关它的描述和使用。 在 RHEL 7 中创建和修改分区 在 RHEL 7 中, parted 是默认的用来处理分区的程序,且它允许你: 展示当前的分区表 操纵(扩大或缩小分区的大小)现有的分区 利用空余的磁盘空间或额外的物理存储设备来创建分区 强烈建议你在试图增
RHCSA 系列(五): RHEL7 中的进程管理:开机,关机

RHCSA 系列(五): RHEL7 中的进程管理:开机,关机

我们将概括和简要地复习从你按开机按钮来打开你的 RHEL 7 服务器到呈现出命令行界面的登录屏幕之间所发生的所有事情,以此来作为这篇文章的开始。 Linux 开机过程 请注意: 相同的基本原则也可以应用到其他的 Linux 发行版本中,但可能需要较小的更改,并且 下面的描述并不是旨在给出开机过程的一个详尽的解释,而只是介绍一些基础的东西 Linux 开机过程 初始化 POST(加电自检)并执行硬件检查; 当 POST 完成后,系统的控制权将移交给启动管理器的第一阶段(first stage),它存储在一个硬盘的引导扇区(对于使用 BIOS 和 MBR 的
Linux 有问必答:如何删除 Ubuntu 上不再使用的旧内核

Linux 有问必答:如何删除 Ubuntu 上不再使用的旧内核

提问:过去我已经在我的Ubuntu上升级了几次内核。现在我想要删除这些旧的内核镜像来节省我的磁盘空间。如何用最简单的方法删除Ubuntu上先前版本的内核? 在Ubuntu上,有几个方法来升级内核。在Ubuntu桌面中,软件更新允许你每天检查并更新到最新的内核上。在Ubuntu服务器上,最为重要的安全更新项目之一就是 unattended-upgrades 软件包会自动更新内核。然而,你也可以手动用apt-get或者aptitude命令来更新。 随着时间的流逝,持续的内核更新会在系统中积聚大量的不再使用的内核,浪费你的磁盘空间。每个内核镜像和其相关联的模块/头文件
Nmcli 网络管理命令行工具基础

Nmcli 网络管理命令行工具基础

介绍 在本教程中,我们会在CentOS / RHEL 7中讨论网络管理工具(NetworkManager command line tool),也叫nmcli。那些使用ifconfig的用户应该在CentOS 7中避免使用ifconfig 了。 让我们用nmcli工具配置一些网络设置。 要得到系统中所有接口的地址信息 # ip addr show 示例输出: 1: lo: LOOPBACK,UP,LOWER_UP mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever prefe
Linux 有问必答:如何在 Linux 中统计一个进程的线程数

Linux 有问必答:如何在 Linux 中统计一个进程的线程数

问题: 我正在运行一个程序,它在运行时会派生出多个线程。我想知道程序在运行时会有多少线程。在 Linux 中检查进程的线程数最简单的方法是什么? 如果你想看到 Linux 中每个进程的线程数,有以下几种方法可以做到这一点。 方法一: /proc proc 伪文件系统,它驻留在 /proc 目录,这是最简单的方法来查看任何活动进程的线程数。 /proc 目录以可读文本文件形式输出,提供现有进程和系统硬件相关的信息如 CPU、中断、内存、磁盘等等. $ cat /proc/pid/status 上面的命令将显示进程 pid 的详细信息,包括过程状态(例如, sleeping, running)
RHCSA 系列(四): 编辑文本文件及分析文本

RHCSA 系列(四): 编辑文本文件及分析文本

作为系统管理员的日常职责的一部分,每个系统管理员都必须处理文本文件,这包括编辑已有文件(大多可能是配置文件),或创建新的文件。有这样一个说法,假如你想在 Linux 世界中挑起一场圣战,你可以询问系统管理员们,什么是他们最喜爱的编辑器以及为什么。在这篇文章中,我们并不打算那样做,但我们将向你呈现一些技巧,这些技巧对使用两款在 RHEL 7 中最为常用的文本编辑器: nano(由于其简单和易用,特别是对于新手来说)和 vi/m(由于其自身的几个特色使得它不仅仅是一个简单的编辑器)来说都大有裨益。我确信你可以找到更多的理由来
修复安装完 Ubuntu 后无可引导设备的错误

修复安装完 Ubuntu 后无可引导设备的错误

通常情况下,我会安装启动 Ubuntu 和 Windows 的双系统,但是这次我决定完全消除 Windows 纯净安装 Ubuntu。纯净安装 Ubuntu 完成后,结束时屏幕输出无可引导设备 (no bootable device found) 而不是进入 GRUB 界面。显然,安装搞砸了 UEFI 引导设置。 我会告诉你我是如何修复在宏碁笔记本上安装 Ubuntu 后出现无可引导设备错误的。我声明了我使用的是宏碁灵越 R13,这很重要,因为我们需要更改固件设置,而这些设置可能因制造商和设备有所不同。 因此在你开始这里介绍的步骤之前,先看一下发生这个错误时我计算机的状态: 我的宏碁灵越
使用脚本便捷地在 Ubuntu 中安装最新 Linux 内核

使用脚本便捷地在 Ubuntu 中安装最新 Linux 内核

想要安装最新的Linux内核吗?一个简单的脚本就可以在Ubuntu系统中方便的完成这项工作。 Michael Murphy 写了一个脚本用来将最新的候选版、标准版、或者低延时版的内核安装到 Ubuntu 系统中。这个脚本会在询问一些问题后从 Ubuntu 内核主线页面 下载安装最新的 Linux 内核包。 通过脚本来安装、升级Linux内核: 点击这个 github 页面 右上角的 Download Zip 来下载该脚本。 鼠标右键单击用户下载目录下的 Zip 文件,选择 在此展开 将其解压。 右键点击解压后的文件夹,选择 在终端中打开 到此文件夹下。 此时将会打开一个终端,并
Shilpa Nair 分享的 RedHat Linux 包管理方面的面试经验

Shilpa Nair 分享的 RedHat Linux 包管理方面的面试经验

Shilpa Nair 刚于2015年毕业。她之后去了一家位于 Noida,Delhi 的国家新闻电视台,应聘实习生的岗位。在她去年毕业季的时候,常逛 Tecmint 寻求作业上的帮助。从那时开始,她就常去 Tecmint。 有关 RPM 方面的 Linux 面试题 所有的问题和回答都是 Shilpa Nair 根据回忆重写的。 大家好!我是来自 Delhi 的Shilpa Nair。我不久前才顺利毕业,正寻找一个实习的机会。在大学早期的时候,我就对 UNIX 十分喜爱,所以我也希望这个机会能适合我,满足我的兴趣。我被提问了很多问题,大部分都是关于 RedHat 包管理的基础问题。 下面就是我被
你知道 Linux 内核是如何构建的吗?

你知道 Linux 内核是如何构建的吗?

介绍 我不会告诉你怎么在自己的电脑上去构建、安装一个定制化的 Linux 内核,这样的资料太多了,它们会对你有帮助。本文会告诉你当你在内核源码路径里敲下make 时会发生什么。 当我刚刚开始学习内核代码时,Makefile 是我打开的第一个文件,这个文件看起来真令人害怕 :)。那时候这个 Makefile 还只包含了1591 行代码,当我开始写本文时,内核已经是4.2.0的第三个候选版本 了。 这个 makefile 是 Linux 内核代码的根 makefile ,内核构建就始于此处。是的,它的内容很多,但是如果你已经读过内核源代码,你就会发现每个包含代码的目录都有
RHCSA 系列(三): 如何管理 RHEL7 的用户和组

RHCSA 系列(三): 如何管理 RHEL7 的用户和组

和管理其它Linux服务器一样,管理一个 RHEL 7 服务器要求你能够添加、修改、暂停或删除用户帐户,并且授予他们执行其分配的任务所需的文件、目录、其它系统资源所必要的权限。 RHCSA: 用户和组管理 Part 3 管理用户帐户 如果想要给RHEL 7 服务器添加账户,你需要以root用户执行如下两条命令之一: # adduser # useradd 当添加新的用户帐户时,默认会执行下列操作。 它/她的主目录就会被创建(一般是"/home/用户名",除非你特别设置) 一些隐藏文件 如.bash_logout, .bash_profile 以及 .bashrc 会被复制到用户的主目录,它们会为用户
新手指南: Linux 新手应该知道的 26 个命令

新手指南: Linux 新手应该知道的 26 个命令

当你进入了 Linux 的世界,在下载、安装了某个 Linux 发行版,体验了 Linux 桌面并安装了一些你喜爱和需要的软件之后,应该去了解下 Linux 真正的魅力所在:命令行。每一个 Linux 命令其实就是一个程序,借助这些命令,我们可以办到非常多的事情。下面将会为大家介绍一下几个常用的命令。 如何寻求帮助? 在 Linux 下遇到问题,最重要的是要自己寻求帮助,下面是三种寻求帮助的方法。 man man是 Linux 的帮助手册,即manual。因为大多数程序都会自带手册,所以可以通过man命令获取帮助。执行以后,在man page页面中按q退出。 获取ls的帮
RHCSA 系列(二): 如何进行文件和目录管理

RHCSA 系列(二): 如何进行文件和目录管理

在本篇中,我们将回顾一些系统管理员日常任务需要的技能。 RHCSA: 运行文件以及进行文件夹管理 - 第二部分 创建、删除、复制和移动文件及目录 文件和目录管理是每一个系统管理员都应该掌握的必备技能。它包括了从头开始的创建、删除文本文件(每个程序的核心配置)以及目录(你用来组织文件和其它目录),以及识别已有文件的类型。 touch 命令 不仅仅能用来创建空文件,还能用来更新已有文件的访问时间和修改时间。 touch 命令示例 你可以使用 file 来判断一个文件的类型 (在你用文本编辑器编辑之前,判断类型将会更方便编辑)。 file
Linux 小技巧:Chrome 小游戏,让文字说话,计划作业,重复执行命令

Linux 小技巧:Chrome 小游戏,让文字说话,计划作业,重复执行命令

重要的事情说两遍,我完成了一个Linux提示与彩蛋系列,让你的Linux获得更多创造和娱乐。 Linux提示与彩蛋系列 本文,我将会讲解Google-chrome内建小游戏,在终端中如何让文字说话,使用at命令设置作业和使用watch命令重复执行命令。 1. Google Chrome 浏览器小游戏彩蛋 网线脱掉或者其他什么原因连不上网时,Google Chrome就会出现一个小游戏。声明,我并不是游戏玩家,因此我的电脑上并没有安装任何第三方的恶意游戏。安全是第一位。 所以当Internet发生出错,会出现一个这样的界面: 不能连接到互联网 按下空格键来激活Google-chrome
如何为你的平台部署一个公开的系统状态页

如何为你的平台部署一个公开的系统状态页

如果你是一个系统管理员,负责关键的 IT 基础设置或公司的服务,你将明白有效的沟通在日常任务中的重要性。假设你的线上存储服务器故障了。你希望团队所有人达成共识你好尽快的解决问题。当你忙来忙去时,你不会想一半的人问你为什么他们不能访问他们的文档。当一个维护计划快到时间了你想在计划前提醒相关人员,这样避免了不必要的开销。 这一切的要求或多或少改进了你、你的团队、和你服务的用户之间沟通渠道。一个实现它的方法是维护一个集中的系统状态页面,报告和记录故障停机详情、进度更新和维护计划等。这样,在故障期间你避免了
Linux 日志管理指南

Linux 日志管理指南

管理日志的一个最好做法是将你的日志集中或整合到一个地方,特别是在你有许多服务器或多层级架构时。我们将告诉你为什么这是一个好主意,然后给出如何更容易的做这件事的一些小技巧。 集中管理日志的好处 如果你有很多服务器,查看某个日志文件可能会很麻烦。现代的网站和服务经常包括许多服务器层级、分布式的负载均衡器,等等。找到正确的日志将花费很长时间,甚至要花更长时间在登录服务器的相关问题上。没什么比发现你找的信息没有被保存下来更沮丧的了,或者本该保留的日志文件正好在重启后丢失了。 集中你的日志使它们查找更快速,
在 Ubuntu 中如何安装或升级 Linux 内核到4.2

在 Ubuntu 中如何安装或升级 Linux 内核到4.2

Linux 内核 4.2已经发布了。Linus Torvalds 在 lkml.org 上写到: 通过这周这么小的变动,看来在最后一周 发布 4.2 版本应该不会有问题,当然还有几个修正,但是看起来也并不需要延迟一周。 所以这就到了,而且 4.3 的合并窗口现已打开。我已经有了几个等待处理的合并请求,明天我开始处理它们,然后在适当的时候放出来。 从 rc8 以来的简短日志很小,已经附加。这个补丁也很小… 新内核 4.2 有哪些改进?: 重写英特尔的x86汇编代码 支持新的 ARM 板和 SoC 对 F2FS 的 per-file 加密 AMDGPU 的内核 DRM 驱动程序 对 Radeon DRM 驱动的
RHCSA 系列(一): 回顾基础命令及系统文档

RHCSA 系列(一): 回顾基础命令及系统文档

RHCSA (红帽认证系统工程师) 是由 RedHat 公司举行的认证考试,这家公司给商业公司提供开源操作系统和软件,除此之外,还为这些企业和机构提供支持、训练以及咨询服务等。 RHCSA 考试准备指南 RHCSA 考试(考试编号 EX200)通过后可以获取由 RedHat 公司颁发的证书. RHCSA 考试是 RHCT(红帽认证技师)的升级版,而且 RHCSA 必须在新的 Red Hat Enterprise Linux(红帽企业版)下完成。RHCT 和 RHCSA 的主要变化就是 RHCT 基于 RHEL5,而 RHCSA 基于 RHEL6 或者7,这两个认证的等级也有所不同。 红帽认证管理员最起码可以在红帽企业版的环境下
Linux 文件系统结构介绍

Linux 文件系统结构介绍

Linux中的文件是什么?它的文件系统又是什么?那些配置文件又在哪里?我下载好的程序保存在哪里了?在 Linux 中文件系统是标准结构的吗?好了,上图简明地阐释了Linux的文件系统的层次关系。当你苦于寻找配置文件或者二进制文件的时候,这便显得十分有用了。我在下方添加了一些解释以及例子,不过篇幅较长,可以有空再看。 另外一种情况便是当你在系统中获取配置以及二进制文件时,出现了不一致性问题,如果你是在一个大型组织中,或者只是一个终端用户,这也有可能会破坏你的系统(比如,二进制文件运行在旧的库文件上了)。若然你在你的
fdupes:Linux 中查找并删除重复文件的命令行工具

fdupes:Linux 中查找并删除重复文件的命令行工具

对于大多数计算机用户而言,查找并替换重复的文件是一个常见的需求。查找并移除重复文件真是一项令人不胜其烦的工作,它耗时又耗力。但如果你的机器上跑着GNU/Linux,那么查找重复文件会变得十分简单,这多亏了fdupes工具。 fdupes在Linux中查找并删除重复文件 fdupes是啥东东? fdupes是Linux下的一个工具,它由Adrian Lopez用C编程语言编写并基于MIT许可证发行,该应用程序可以在指定的目录及子目录中查找重复的文件。fdupes通过对比文件的MD5签名,以及逐字节比较文件来识别重复内容,fdupes有各种选项,可以实现对文件的列出、删除、
Ubuntu 上使用 LVM 轻松调整分区并制作快照

Ubuntu 上使用 LVM 轻松调整分区并制作快照

Ubuntu的安装器提供了一个轻松使用LVM的复选框。它的描述中说,启用逻辑卷管理可以让你制作快照,并更容易地调整硬盘分区大小这里将为大家讲述如何完成这些操作。 LVM是一种技术,某种程度上和RAID阵列或Windows上的存储空间类似。虽然该技术在服务器上更为有用,但是它也可以在桌面端PC上使用。 你应该在新安装Ubuntu时使用LVM吗? 第一个问题是,你是否想要在安装Ubuntu时使用LVM?如果是,那么Ubuntu让这一切变得很简单,只需要轻点鼠标就可以完成,但是该选项默认是不启用的。正如安装器所说的,它允许你调整分区、创建快照、将多个磁
Alien 魔法:RPM 和 DEB 互转

Alien 魔法:RPM 和 DEB 互转

正如我确信,你们一定知道Linux下的多种软件安装方式:使用发行版所提供的包管理系统(aptitude,yum,或者zypper,还可以举很多例子),从源码编译(尽管现在很少用了,但在Linux发展早期却是唯一可用的方法),或者使用各自的低级工具dpkg用于.deb,以及rpm用于.rpm,预编译包,如此这般。 使用Alien将RPM转换成DEB以及将DEB转换成RPM 在本文中,我们将为你介绍alien,一个用于在各种不同的Linux包格式相互转换的工具,其最常见的用法是将.rpm转换成.deb(或者反过来)。 如果你需要某个特定类型的包,而你只能找到其它格式的包的时候
Bash 下如何逐行读取一个文件

Bash 下如何逐行读取一个文件

在 Linux 或类 UNIX 系统下如何使用 KSH 或 BASH shell 逐行读取一个文件? 在 Linux、OSX、 *BSD 或者类 Unix 系统下你可以使用 ​​while..do..done 的 bash 循环来逐行读取一个文件。 在 Bash Unix 或者 Linux shell 中逐行读取一个文件的语法 对于 bash、ksh、 zsh 和其他的 shells 语法如下 while read -r line; do COMMAND; done input.file 通过 -r 选项传递给 read 命令以防止阻止解释其中的反斜杠转义符。 在 read 命令之前添加 IFS= 选项,来防止首尾的空白字符被去掉。 while IFS= read -r line; do COMMAND_on $line; done
在 VirtualBox 中使用 Docker Machine 管理主机

在 VirtualBox 中使用 Docker Machine 管理主机

大家好,今天我们学习在 VirtualBox 中使用 Docker Machine 来创建和管理 Docker 主机。Docker Machine 是一个可以帮助我们在电脑上、在云端、在数据中心内创建 Docker 主机的应用。它为根据用户的配置和需求创建服务器并在其上安装 Docker和客户端提供了一个轻松的解决方案。这个 API 可以用于在本地主机、或数据中心的虚拟机、或云端的实例提供 Docker 服务。Docker Machine 支持 Windows、OSX 和 Linux,并且是以一个独立的二进制文件包形式安装的。仍然使用(与现有 Docker 工具)相同的接口,我们就可以充分利用已经提供 Docker 基础
Linux有问必答:如何检查MariaDB服务端版本

Linux有问必答:如何检查MariaDB服务端版本

提问: 我使用的是一台运行MariaDB的VPS。我该如何检查MariaDB服务端的版本? 有时候你需要知道你的数据库版本,比如当你升级你数据库或对已知缺陷打补丁时。这里有几种方法找出MariaDB版本的方法。 方法一 第一种找出版本的方法是登录MariaDB服务器,登录之后,你会看到一些MariaDB的版本信息。 另一种方法是在登录MariaDB后出现的命令行中输入status命令。输出会显示服务器的版本还有协议版本。 方法二 如果你不能访问MariaDB服务器,那么你就不能用第一种方法。这种情况下你可以根据MariaDB的安装包的版本来推测。这种方法只有在Mar
使用 dd 命令进行硬盘 I/O 性能检测

使用 dd 命令进行硬盘 I/O 性能检测

如何使用dd命令测试我的硬盘性能?如何在linux操作系统下检测硬盘的读写速度? 你可以使用以下命令在一个Linux或类Unix操作系统上进行简单的I/O性能测试。 dd命令 :它被用来在Linux和类Unix系统下对硬盘设备进行写性能的检测。 hparm命令:它用来在基于 Linux 的系统上获取或设置硬盘参数,包括测试读性能以及缓存性能等。 在这篇指南中,你将会学到如何使用dd命令来测试硬盘性能。 使用dd命令来监控硬盘的读写性能: 打开shell终端。 或者通过ssh登录到远程服务器。 使用dd命令来测量服务器的吞吐率(写速度) dd if=/dev/zero of=/t
如何在 Linux 终端中知道你的公有 IP

如何在 Linux 终端中知道你的公有 IP

公有地址由 InterNIC 分配并由基于类的网络 ID 或基于 CIDR 的地址块构成(被称为 CIDR 块),并保证了在全球互联网中的唯一性。当公有地址被分配时,其路由将会被记录到互联网中的路由器中,这样访问公有地址的流量就能顺利到达。访问目标公有地址的流量可经由互联网抵达。比如,当一个 CIDR 块被以网络 ID 和子网掩码的形式分配给一个组织时,对应的 也会同时作为路由储存在互联网中的路由器中。目标是 CIDR 块中的地址的 IP 封包会被导向对应的位置。 在本文中我将会介绍在几种在 Linux 终端中查看你的公有 IP 地址的方法。这对普通用
Linux有问必答:如何修复“ImportError: No module named wxversion”错误

Linux有问必答:如何修复“ImportError: No module named wxversion”错误

问题 我试着在上运行一个 Python 应用,但是我得到了这个错误ImportError: No module named wxversion.。我怎样才能解决 Python 程序中的这个错误呢? Looking for python… 2.7.9 - Traceback (most recent call last): File "/home/dev/playonlinux/python/check_python.py", line 1, in import os, wxversion ImportError: No module named wxversion failed tests 该错误表明,你的Python应用是基于GUI的,依赖于一个名为wxPython的缺失模块。wxPython是一个用于wxWidgets GUI库的Python扩展模块,普遍被C++程序员用来设计GUI应用
如何更新 Linux 内核来提升系统性能

如何更新 Linux 内核来提升系统性能

目前的 Linux 内核的开发速度是前所未有的,大概每2到3个月就会有一个主要的版本发布。每个发布都带来几个的新的功能和改进,可以让很多人的处理体验更快、更有效率、或者其它的方面更好。 问题是,你不能在这些内核发布的时候就用它们,你要等到你的发行版带来新内核的发布。我们先前讲到定期更新内核的好处,所以你不必等到那时。让我们来告诉你该怎么做。 免责声明: 我们先前的一些文章已经提到过,升级内核有(很小)的风险可能会破坏你系统。如果发生这种情况,通常可以通过使用旧内核来使系统保持工作,但是有时还是不行。因此我们
Linux 日志基础

Linux 日志基础

首先,我们将描述有关 Linux 日志是什么,到哪儿去找它们,以及它们是如何创建的基础知识。如果你已经知道这些,请随意跳至下一节。 Linux 系统日志 许多有价值的日志文件都是由 Linux 自动地为你创建的。你可以在 /var/log 目录中找到它们。下面是在一个典型的 Ubuntu 系统中这个目录的样子: 一些最为重要的 Linux 系统日志包括: /var/log/syslog 或 /var/log/messages 存储所有的全局系统活动数据,包括开机信息。基于 Debian 的系统如 Ubuntu 在 /var/log/syslog 中存储它们,而基于 RedHat 的系统如 RHEL 或 CentOS 则在 /var/log
Linux有问必答:如何在Linux上安装Git

Linux有问必答:如何在Linux上安装Git

问题: 我尝试从一个Git公共仓库克隆项目,但出现了这样的错误提示:git: command not found。 请问我该如何在某某发行版上安装Git? Git是一个流行的开源版本控制系统(VCS),最初是为Linux环境开发的。跟CVS或者SVN这些版本控制系统不同的是,Git的版本控制被认为是分布式的,某种意义上,git的本地工作目录可以作为一个功能完善的仓库来使用,它具备完整的历史记录和版本追踪能力。在这种工作模型之下,各个协作者将内容提交到他们的本地仓库中(与之相对的会总是提交到核心仓库),如果有必要,再有选择性地推送到核心仓库。这就为Gi
Autojump:一个可以在 Linux 文件系统快速导航的高级 cd 命令

Autojump:一个可以在 Linux 文件系统快速导航的高级 cd 命令

对于那些主要通过控制台或终端使用 Linux 命令行来工作的 Linux 用户来说,他们真切地感受到了 Linux 的强大。 然而在 Linux 的分层文件系统中进行导航有时或许是一件头疼的事,尤其是对于那些新手来说。 现在,有一个用 Python 写的名为 autojump 的 Linux 命令行实用程序,它是 Linux cd命令的高级版本。 Autojump Linux 文件系统导航的最快方式 这个应用原本由 Jol Schaerer 编写,现在由 +William Ting 维护。 Autojump 应用可以从用户那里学习并帮助用户在 Linux 命令行中进行更轻松的目录导航。与传统的 cd 命令相比,autojump 能
新手应知应会的Linux命令

新手应知应会的Linux命令

在Fedora上通过命令行使用dnf来管理系统更新 基于Linux的系统最美妙的一点,就是你可以在终端中使用命令行来管理整个系统。使用命令行的优势在于,你可以使用相同的知识和技能来管理随便哪个Linux发行版。 对于各个发行版以及桌面环境(DE)而言,要一致地使用图形化用户界面(GUI)却几乎是不可能的,因为它们都提供了各自的用户界面。要明确的是,有些情况下在不同的发行版上需要使用不同的命令来执行某些特定的任务,但是,基本来说它们的思路和目的是一致的。 在本文中,我们打算讨论Linux用户应当掌握的一些基本命令。我将给大家演示
如何在 Linux 上运行命令前临时清空 Bash 环境变量

如何在 Linux 上运行命令前临时清空 Bash 环境变量

我是个 bash shell 用户。我想临时清空 bash shell 环境变量。但我不想删除或者 unset 一个输出的环境变量。我怎样才能在 bash 或 ksh shell 的临时环境中运行程序呢? 你可以在 Linux 或类 Unix 系统中使用 env 命令设置并打印环境。env 命令可以按命令行指定的变量来修改环境,之后再执行程序。 如何显示当前环境? 打开终端应用程序并输入下面的其中一个命令: printenv 或 env 输出样例: Fig.01: Unix/Linux: 列出所有环境变量 统计环境变量数目 输入下面的命令: env | wc -l printenv | wc -l # 或者 输出样例: 20 在干净
轻松使用“Explain Shell”脚本来理解 Shell 命令

轻松使用“Explain Shell”脚本来理解 Shell 命令

我们在Linux上工作时,每个人都会遇到需要查找shell命令的帮助信息的时候。 尽管内置的帮助像man pages、whatis命令有所助益, 但man pages的输出非常冗长, 除非是个有linux经验的人,不然从大量的man pages中获取帮助信息是非常困难的,而whatis命令的输出很少超过一行, 这对初学者来说是不够的。 在Linux Shell中解释Shell命令 有一些第三方应用程序, 像我们在Linux 用户的命令行速查表提及过的’cheat’命令。cheat是个优秀的应用程序,即使计算机没有联网也能提供shell命令的帮助, 但是它仅限于预先定义好的命令。 Jackson写了一小
使用 Find 命令来帮你找到那些需要清理的文件

使用 Find 命令来帮你找到那些需要清理的文件

Credit: Sandra H-S 有一个问题几乎困扰着所有的文件系统 – 包括 Unix 和其他的 – 那就是文件的不断积累。几乎没有人愿意花时间清理掉他们不再使用的文件和整理文件系统,结果,文件变得很混乱,很难找到有用的东西,要使它们运行良好、维护备份、易于管理,这将是一种持久的挑战。 我见过的一种解决问题的方法是建议使用者将所有的数据碎屑创建一个文件集合的总结报告或"概况",来报告诸如所有的文件数量;最老的,最新的,最大的文件;并统计谁拥有这些文件等数据。如果有人看到五年前的一个包含五十万个文件的文件夹,他们可能会去删
如何在 Ubuntu 中管理和使用逻辑卷管理 LVM

如何在 Ubuntu 中管理和使用逻辑卷管理 LVM

在我们之前的文章中,我们介绍了什么是 LVM 以及能用 LVM 做什么,今天我们会给你介绍一些 LVM 的主要管理工具,使得你在设置和扩展安装时更游刃有余。 正如之前所述,LVM 是介于你的操作系统和物理硬盘驱动器之间的抽象层。这意味着你的物理硬盘驱动器和分区不再依赖于他们所在的硬盘驱动和分区。而是你的操作系统所见的硬盘驱动和分区可以是由任意数目的独立硬盘汇集而成的或是一个软件磁盘阵列。 要管理 LVM,这里有很多可用的 GUI 工具,但要真正理解 LVM 配置发生的事情,最好要知道一些命令行工具。这当你在一个服务器或不提供 GUI
什么是逻辑分区管理 LVM ,如何在Ubuntu中使用?

什么是逻辑分区管理 LVM ,如何在Ubuntu中使用?

逻辑分区管理(LVM)是每一个主流Linux发行版都含有的磁盘管理选项。无论是你需要设置存储池,还是只想动态创建分区,那么LVM就是你正在寻找的。 什么是 LVM? 逻辑分区管理是一个存在于磁盘/分区和操作系统之间的一个抽象层。在传统的磁盘管理中,你的操作系统寻找有哪些磁盘可用(/dev/sda、/dev/sdb等等),并且这些磁盘有哪些可用的分区(如/dev/sda1、/dev/sda2等等)。 在LVM下,磁盘和分区可以抽象成一个含有多个磁盘和分区的设备。你的操作系统将不会知道这些区别,因为LVM只会给操作系统展示你设置的卷组(磁盘)和逻辑卷(分区
关于Linux防火墙'iptables'的面试问答

关于Linux防火墙'iptables'的面试问答

Nishita Agarwal是Tecmint的用户,她将分享关于她刚刚经历的一家公司(印度的一家私人公司Pune)的面试经验。在面试中她被问及许多不同的问题,但她是iptables方面的专家,因此她想分享这些关于iptables的问题和相应的答案给那些以后可能会进行相关面试的人。 所有的问题和相应的答案都基于Nishita Agarwal的记忆并经过了重写。 嗨,朋友!我叫Nishita Agarwal。我已经取得了理学学士学位,我的专业集中在UNIX和它的变种(BSD,Linux)。它们一直深深的吸引着我。我在存储方面有1年多的经验。我正在寻求职业上的变化,并将供职于印度的P
如何使用Docker Machine部署Swarm集群

如何使用Docker Machine部署Swarm集群

大家好,今天我们来研究一下如何使用Docker Machine部署Swarm集群。Docker Machine提供了标准的Docker API 支持,所以任何可以与Docker守护进程进行交互的工具都可以使用Swarm来(透明地)扩增到多台主机上。Docker Machine可以用来在个人电脑、云端以及的数据中心里创建Docker主机。它为创建服务器,安装Docker以及根据用户设定来配置Docker客户端提供了便捷化的解决方案。我们可以使用任何驱动来部署swarm集群,并且swarm集群将由于使用了TLS加密具有极好的安全性。 下面是我提供的简便方法。 1. 安装Docker Machine Docker Machine 在
systemctl 命令完全指南

systemctl 命令完全指南

Systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。 Systemd是一个系统管理守护进程、工具和库的集合,用于取代System V初始进程。Systemd的功能是用于集中管理和配置类UNIX系统。 在Linux生态系统中,Systemd被部署到了大多数的标准Linux发行版中,只有为数不多的几个发行版尚未部署。Systemd通常是所有其它守护进程的父进程,但并非总是如此。 使用Systemctl管理Linux服务 本文旨在阐明在运行systemd的系统上如何控制系统和服务。 Systemd初体验和Systemctl基础 1. 首先检查你的系统中是否安装有systemd并确定当前安
在 Linux 命令行中使用和执行 PHP 代码(二):12 个 PHP 交互性 shell 的用法

在 Linux 命令行中使用和执行 PHP 代码(二):12 个 PHP 交互性 shell 的用法

在上一篇文章在 Linux 命令行中使用和执行 PHP 代码(一)中,我同时着重讨论了直接在Linux命令行中运行PHP代码以及在Linux终端中执行PHP脚本文件。 本文旨在让你了解一些相当不错的Linux终端中的PHP交互性 shell 的用法特性。 让我们先在PHP 的交互shell中来对php.ini设置进行一些配置吧。 6. 设置PHP命令行提示符 要设置PHP命令行提示,你需要在Linux终端中使用下面的php -a(启用PHP交互模式)命令开启一个PHP交互shell。 $ php -a 然后,设置任何东西(比如说Hi Tecmint ::)作为PHP交互shell的命令提示符,操作如下: php #cli.pr