技术

如何配置一个 Docker Swarm 原生集群

如何配置一个 Docker Swarm 原生集群

嗨,大家好。今天我们来学一学Swarm相关的内容吧,我们将学习通过Swarm来创建Docker原生集群。Docker Swarm是用于Docker的原生集群项目,它可以将一个Docker主机池转换成单个的虚拟主机。Swarm工作于标准的Docker API,所以任何可以和Docker守护进程通信的工具都可以使用Swarm来透明地伸缩到多个主机上。就像其它Docker项目一样,Swarm遵循内置电池,并可拆卸的原则(LCTT 译注:batteries included,内置电池原来是 Python 圈里面对 Python 的一种赞誉,指自给自足,无需外求的丰富环境;but removable,并可拆卸应该指的是非强制耦合)
在 Linux 命令行中使用和执行 PHP 代码(一)

在 Linux 命令行中使用和执行 PHP 代码(一)

PHP是一个开源服务器端脚本语言,最初这三个字母代表的是Personal Home Page,而现在则代表的是PHP:Hypertext Preprocessor,它是个递归首字母缩写。它是一个跨平台脚本语言,深受C、C++和Java的影响。 在 Linux 命令行中运行 PHP 代码 PHP的语法和C、Java以及带有一些PHP特性的Perl变成语言中的语法十分相似,它当下大约正被2.6亿个网站所使用,当前最新的稳定版本是PHP版本5.6.10。 PHP是HTML的嵌入脚本,它便于开发人员快速写出动态生成的页面。PHP主要用于服务器端(而Javascript则用于客户端)以通过HTTP生成动态网页,然而,当你
LINUX 101: 让你的 SHELL 更强大

LINUX 101: 让你的 SHELL 更强大

在我们的关于 shell 基础的指导下, 得到一个更灵活,功能更强大且多彩的命令行界面 为何要这样做? 使得在 shell 提示符下过得更轻松,高效 在失去连接后恢复先前的会话 Stop pushing around that fiddly rodent! 这是我的命令行提示符的设置。对于这个小的终端窗口来说,这或许有些长。但你可以根据你的喜好来调整它。 作为一个 Linux 用户, 你可能熟悉 shell (又名为命令行)。 或许你需要时不时的打开终端来完成那些不能在 GUI 下处理的必要任务,抑或是因为你处在一个将窗口铺满桌面的环境中,而 shell 是你与你的 linux 机器交互的主
秒杀SSD,ubuntu极速开发环境搭建

秒杀SSD,ubuntu极速开发环境搭建

ubuntu打开的正确方式(笑) 在这个快节奏的时代。能够使用最快速度最低代价完成任务具有非常重要的意义,对于现代开发者来说,Linux是生活中必不可少且不可替代的工具,如果我们在开发少或学习中少一些遇到环境的坑,会节省很多时间,潜伏在各种Linux群中数年,发现大家都有手贱(操作失误,笑),因此在本文中给出终极解决方案: 直接使用Ubuntu Live CD 来完成系统的启动。 那么最快的Linux安装办法又是什么呢?其实经过严谨的思考之后我个人觉得是不安装。我们可以准备从grub启动ubuntu操作系统把系统放到内存中,再预制出各种情况的
为 Kodi 自制遥控器

为 Kodi 自制遥控器

通过运行在 Android 手机上的自制遥控器来控制你的家庭媒体播放器。 Kodi 是一款很优秀的软件,能够将几乎所有电脑变身成媒体中心。它可以播放音乐和视频,显示图片,甚至还能显示天气预报。为了在配置成家庭影院后方便使用,你可以通过手机 app 访问运行在连接到 Wi-Fi 的 XBMC 机器上的服务来控制它。可以找到很多这种工具,几乎覆盖所有智能手机系统。 XBMC Kodi 原名叫做 XBMC,在你阅读这篇文章的时候,XBMC 已经成为历史。因为法律原因(因为名字 XBMC 或 X-Box Media Center 里引用了不再支持的过时硬件)项目组决定使用新的名字
Linux mkdir、tar 和 kill 命令的 4 个有用小技巧

Linux mkdir、tar 和 kill 命令的 4 个有用小技巧

我们一直以常规的方式完成一个任务,直到我们知道有更好的处理方法。作为 Linux 技巧和绝招系列 的后续,我会在这里介绍能在各个方面给你帮助的 4 个小技巧。开始吧! 4 个有用的 Linux 小技巧 1. 假设你要创建一个类似于下面很长的/复杂的目录树。实现这最有效的方法是什么呢? 类似下面要实现的目录树结构。 $ cd /home/$USER/Desktop $ mkdir tecmint $ mkdir tecmint/etc $ mkdir tecmint/lib $ mkdir tecmint/usr $ mkdir tecmint/bin $ mkdir tecmint/tmp $ mkdir tecmint/opt $ mkdir tecmint/var $ mkdir tecmint/etc/x1 $ mkdir
互联网扫描器 ZMap 完全手册

互联网扫描器 ZMap 完全手册

初识 ZMap ZMap被设计用来针对整个IPv4地址空间或其中的大部分实施综合扫描的工具。ZMap是研究者手中的利器,但在运行ZMap时,请注意,您很有可能正在以每秒140万个包的速度扫描整个IPv4地址空间 。我们建议用户即使在实施小范围扫描之前,也联系一下本地网络的管理员并参考我们列举的最佳扫描体验。 默认情况下,ZMap会对于指定端口实施尽可能大速率的TCP SYN扫描。较为保守的情况下,对10,000个随机的地址的80端口以10Mbps的速度扫描,如下所示: $ zmap –bandwidth=10M –target-port=80 –max-targets=10000 –output-file=results.
PHP 7.0 升级备注

PHP 7.0 升级备注

PHP 7.0.0 beta1 发布了,在带来了引人注目的性能提升的同时,也带来了不少语言特性方面的改变。以下由 LCTT 翻译自对官方的升级备注,虽然目前还不是正式发布版,不过想必距离正式发布的特性已经差别不大了。(本文会持续追踪更新) 1. 向后不兼容的变化 语言变化 变量处理的变化 间接变量、属性和方法引用现在以从左到右的语义进行解释。一些例子: $$foo // 解释做 ($$foo) $foo-$bar // 解释做 ($foo-$bar) $foo-$bar() // 解释做 ($foo-$bar)() Foo::$bar() // 解释做 (Foo::$bar)() 要恢复以前的行为,需要显式地加大括号: ${$
Linux常见问题解答--如何修复"tar:由于前一个错误导致于失败状态中退出"

Linux常见问题解答--如何修复"tar:由于前一个错误导致于失败状态中退出"

问题: 当我想试着用tar命令来创建一个压缩文件时,总在执行过程中失败,并且抛出一个错误说明"tar:由于前一个错误导致于失败状态中退出"("Exiting with failure status due to previous errors"). 什么导致这个错误的发生,要如何解决? 如果当你执行tar命令时,遇到了下面的错误,那么最有可能的原因是对于你想用tar命令压缩的某个文件中,你并不具备其读权限。 tar: Exiting with failure status due to previous errors 那么我们要如何确定引起错误的这个(些)文件呢?或者如何确定其它的错误根源? 事实上tar命令应该会打印出所
在Ubuntu 15.04中安装Ruby on Rails

在Ubuntu 15.04中安装Ruby on Rails

本篇我们会学习如何用rbenv在Ubuntu 15.04中安装Ruby on Rails。我们选择Ubuntu作为操作系统是因为Ubuntu是Linux发行版中自带很多包和完整文档的操作系统,因此我认为这是正确的选择。如果你还没有安装最新的Ubuntu,你可以从下载iso文件开始。 安装 Ruby 我们要做的第一件事是更新Ubuntu包并且为Ruby安装一些依赖。 sudo apt-get update sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-
lolcat :一个在 Linux 终端中输出彩虹特效的命令行工具

lolcat :一个在 Linux 终端中输出彩虹特效的命令行工具

那些相信 Linux 命令行是单调无聊且没有任何乐趣的人们,你们错了,这里有一些有关 Linux 的文章,它们展示着 Linux 是如何的有趣和淘气 。 Linux命令及Linux终端的20个趣事 终端中的乐趣:6个有趣的Linux命令行工具 Linux终端的乐趣之把玩字词计数 在本文中,我将讨论一个名为lolcat的小工具 它可以在终端中生成彩虹般的颜色。 为终端生成彩虹般颜色的输出的 Lolcat 命令 何为 lolcat ? Lolcat 是一个针对 Linux,BSD 和 OSX 平台的工具,它类似于 cat 命令,并为 cat 的输出添加彩虹般的色彩。 Lolcat 主要用于在 Linux 终端中为文
Linux 下如何处理包含空格和特殊字符的文件名

Linux 下如何处理包含空格和特殊字符的文件名

我们经常会看到文件名和文件夹名。大多数时候文件/文件夹的名字和内容相关并以数字和字母开头。字母加数字的文件名最常见,应用也很广泛,但总会需要处理一些包含特殊字符的文件名/文件夹名。 注意:我们可能有各种类型的文件,但是为了简单以及方便实现,在本文中我们只用文本文件(.txt)做演示。 最常见的文件名例子: abc.txt avi.txt debian.txt … 数字文件名例子: 121.txt 3221.txt 674659.txt … 字母数字文件名例子: eg84235.txt 3kf43nl2.txt 2323ddw.txt … 包含特殊字符的文件名的例子,并不常见: #232.txt #bkf.tx
在Ubuntu下安装Node.JS的不同方式

在Ubuntu下安装Node.JS的不同方式

如果你要在Ubuntu 15.04上安装Node.js的话,这篇教程对你来说肯定很重要。Node.js从本质上来说就是一个运行在服务端上的封装好了输入输出流的javascript程序。Node.js巧妙的使用单线程的事件循环来处理高吞吐量和非阻塞IO。同时它也是一个提供了通过操作系统读写文件和网络操作功能的平台层。所以这篇文章将展示在Ubuntu 15.04 server上不同的安装Node.Js的方式。 安装Node.JS 的方法 有许多安装Node.JS的不同的方法,我们可以选择其一。通过本篇文章我们将手把手带着你在Ubuntu 15.04上安装Node.Js,在此之前请卸载旧版本的包以免发生包
watch:定期重复Linux / Unix命令

watch:定期重复Linux / Unix命令

服务器管理员需要维护系统并保持更新和安全。每天需要运行大量的指令。有些系统进程会记录日志。这些日志不断更新。为了检查这些更新,需要重复地执行命令。比如,为了读取一个日志文件需要使用head、tail、cat等命令。这些命令需要重复地执行。而watch命令可以用于定期地执行一个命令。 Watch 命令 watch是一个简单的命令,只有几个选项。watch命令的基本语法是: watch ] command watch命令默认每隔2秒执行后面参数给出的命令。这个时间根据的是命令执行结束到上次执行的间隔来算的。比如,watch命令可以用于监测日志更新,更新
27 个 Linux 下软件包管理工具 DNF 命令例子

27 个 Linux 下软件包管理工具 DNF 命令例子

DNF即Dandified YUM,是基于RPM的Linux发行版的下一代软件包管理工具。它首先在Fedora 18中出现,并且在最近发行的Fedora 22中替代了YUM工具集。 DNF致力于改善YUM的瓶颈,即性能、内存占用、依赖解决、速度和许多其他方面。DNF使用RPM、libsolv和hawkey库进行包管理。尽管它并未预装在CentOS和RHEL 7中,但您可以通过yum安装,并同时使用二者。 您也许想阅读更多关于DNF的信息: 使用DNF取代Yum背后的原因 最新的DNF稳定版本是2015年5月11日发布的1.0(在写这篇文章之前)。它(以及所有DNF之前版本)主要由Python编写,并以GPL v2许
命令行艺术

命令行艺术

流畅地使用命令行是一个常被忽略的技能,或被认为是神秘的奥义。但是,它会以明显而微妙的方式改善你作为工程师的灵活度和生产力。这是我在 Linux 上工作时发现的有用的命令行使用小窍门和笔记的精粹。有些小窍门是很基础的,而有些是相当地特别、复杂、或者晦涩难懂。这篇文章不长,但是如果你可以使用并记得这里的所有内容,那么你就懂得很多了。 其中大部分最初出现在Quora上,但是考虑到兴趣所在,似乎更应该放到 Github 上,这里的人比我更能提出改进建议。如果你看到一个错误,或者更好的某种东西,请提交问题或 PR!(当然,提交前
如何在 Linux 上使用 x2go 设置远程桌面

如何在 Linux 上使用 x2go 设置远程桌面

由于一切都迁移到了云上,作为提高职员生产力的一种方式,虚拟远程桌面在工业中越来越流行。尤其对于那些需要在多个地方和设备之间不停漫游的人,远程桌面可以让他们和工作环境保持无缝连接。远程桌面对于雇主同样有吸引力,可以在工作环境中提高敏捷性和灵活性,由于硬件整合、桌面安全加固等原因降低 IT 花费。 在 Linux 世界中,理所当然设置远程桌面有很多选择,支持许多协议(例如 RDP、RFB、NX) 和服务器/客户端实现(例如 TigerVNC、RealVNC、FreeNX、x2go、X11vnc、TeamViewer 等等)。 这当中有个出色的产品叫做 X2Go,它是一个
Linux有问必答:如何在Linux中直接挂载LVM分区

Linux有问必答:如何在Linux中直接挂载LVM分区

提问: 我有一个USB盘包含了LVM分区。 我想要在Linux中访问这些LVM分区。我该如何在Linux中挂载LVM分区? LVM是逻辑卷管理工具,它允许你使用逻辑卷和卷组的概念来管理磁盘空间。使用LVM相比传统分区最大的好处是弹性地为用户和程序分配空间而不用考虑每个物理磁盘的大小。 在LVM中,那些创建了逻辑分区的物理存储是传统的分区(比如:/dev/sda2,/dev/sdb1)。这些分区必须被初始化为物理卷 PV并加上卷标(如,Linux LVM)来使它们可以在LVM中使用。一旦分区被标记被LVM分区,你不能直接用mount命令挂载。 如果你尝试挂载一个LVM分区(比
深入 NGINX: 我们如何设计性能和扩展

深入 NGINX: 我们如何设计性能和扩展

NGINX 能在 web 性能中取得领先地位,这是由于其软件设计所决定的。许多 web 服务器和应用程序服务器使用一个简单的基于线程或进程的架构,NGINX 立足于一个复杂的事件驱动的体系结构,使它能够在现代硬件上扩展到成千上万的并发连接。 下面这张深入 NGINX 的信息图从高层次的进程架构上深度挖掘说明了 NGINX 如何在单一进程里保持多个连接。这篇博客进一步详细地解释了这一切是如何工作的。 知识 NGINX 进程模型 为了更好的理解这个设计,你需要理解 NGINX 如何运行的。NGINX 有一个主进程(它执行特权操作,如读取配置和绑定端口)和
11个无用而有趣的Linux终端彩蛋

11个无用而有趣的Linux终端彩蛋

这里有一些很酷的Linux终端彩蛋,其中的每一个看上去并没有实际用途,但很有趣。 只工作不玩耍 当我们使用命令行工作时,Linux是功能和实用性最好的操作系统之一。想要执行一个特殊任务?可能一个程序或者脚本就可以帮你搞定。但就像一本书中说到的,只工作不玩耍聪明的孩子也会变傻。下边是我最喜欢的可以在终端做的没有实际用途的、傻傻的、恼人的、可笑的事情。 让终端成为一个有态度的人 第一步)敲入sudo visudo 第二步)在Defaults末尾(文件的前半部分)添加一行Defaults insults。 第三步)保存文件。 我刚才对电脑做了什么?
在linux上使用交换文件扩展交换空间

在linux上使用交换文件扩展交换空间

想像一种情景,当我们的Linux系统用尽交换空间时,在这种情况下,我们想要使用swap分区扩展交换空间,但在某些情况下磁盘上已经没有可用的空闲分区了,致使我们不能把它扩大。 因此,在这种情况下,我们可以使用交换文件增加swap空间。 以下是使用交换文件在Linux上扩展swap空间的方法 让我们首先检查现有的交换空间/分区的大小,使用命令 free -m 或者 swapon -s free-output-with-swap 我的交换分区大小是2 GB,我们将把交换空间扩展1GB。 第一步:使用下面的dd命令创建大小为1GB交换文件 # dd if=/dev/zero of=/swap_file bs=1G coun
Linux中,创建聊天服务器、移除冗余软件包的实用命令

Linux中,创建聊天服务器、移除冗余软件包的实用命令

这里,我们来看Linux命令行实用技巧的下一个部分。如果你错过了Linux Tracks之前的文章,可以从这里找到。 5个有趣的Linux命令行技巧 本篇中,我们将会介绍6个命令行小技巧,包括使用Netcat命令创建Linux命令行聊天,从某个命令的输出中对某一列做加法,移除Debian和CentOS上多余的包,从命令行中获取本地与远程的IP地址,在终端获得彩色的输出与解码各样的颜色,最后是Linux命令行里井号标签的使用。让我们来一个一个地看一下。 6个实用的命令行技巧 1. 创建Linux命令行聊天服务 我们大家使用聊天服务都有很长一段时间了。对于Google C
Linux 用户的 3 个命令行小技巧

Linux 用户的 3 个命令行小技巧

Linux世界充满了乐趣,我们越深入进去,就会发现越多有趣的事物。我们会努力给你提供一些小技巧,让你和其他人有所不同,下面就是我们准备的3个小技巧。 1. 如何在不使用Cron的情况调度Linux下的任务 在Linux下,调度一个任务/命令称之为Cron。当我们需要调度一个任务时,我们会使用Cron,但你知道我们在不使用Cron的情况也可以调度一个在将来时间运行的任务吗?你可以按照如下建议操作 每5秒钟运行一个命令(date)然后将结果写入到一个文件(data.txt)。为了实现这一点,我们可以直接在命令提示符运行如下单行脚本。 $ while true; do
Linux有问必答:Linux上如何查看某个进程的线程

Linux有问必答:Linux上如何查看某个进程的线程

问题: 我的程序在其内部创建并执行了多个线程,我怎样才能在该程序创建线程后监控其中单个线程?我想要看到带有它们名称的单个线程详细情况(如,CPU/内存使用率)。 线程是现代操作系统上进行并行执行的一个流行的编程方面的抽象概念。当一个程序内有多个线程被叉分出用以执行多个流时,这些线程就会在它们之间共享特定的资源(如,内存地址空间、打开的文件),以使叉分开销最小化,并避免大量高成本的IPC(进程间通信)通道。这些功能让线程在并发执行时成为一个高效的机制。 在Linux中,程序中创建的线程(也称为轻量级进程,LWP)
在 Linux 上如何清除内存的 Cache、Buffer 和交换空间

在 Linux 上如何清除内存的 Cache、Buffer 和交换空间

像任何其他的操作系统一样,GNU/Linux 已经实现的内存管理不仅有效,而且更好。但是,如果有任何进程正在蚕食你的内存,而你想要清除它的话,Linux 提供了一个刷新或清除RAM缓存方法。 如何在 Linux 中清除缓存(Cache)? 每个 Linux 系统有三种选项来清除缓存而不需要中断任何进程或服务。 (LCTT 译注:Cache,译作缓存,指 CPU 和内存之间高速缓存。Buffer,译作缓冲区,指在写入磁盘前的存储再内存中的内容。在本文中,Buffer 和 Cache 有时候会通指。) 仅清除页面缓存(PageCache) # sync; echo 1 /proc/sys/vm/drop_caches
Linux 有问必答:如何修复 Raspbian 上的 “Encountered a section with no Package:

Linux 有问必答:如何修复 Raspbian 上的 “Encountered a section with no Package:

问题: 我在树莓派上安装新版的 Raspbian。但当我使用 sudo apt-get update 命令更新 APT 软件包索引的时候,它抛出下面的错误: E: Encountered a section with no Package: header E: Problem with MergeList /var/lib/dpkg/status E: The package lists or status file could not be parsed or opened. 之后我不能在 Raspbian 上安装任何软件包。我怎样才能解决这个错误? 这个错误说 "Problem with MergeList /var/lib/dpkg/status" 表示由于某些原因状态文件损坏了,因此无法解析。这个状态文件包括了已经安装的 deb 软件包的信
用命令行工具 Speedtest-CLI 来测试你的上下行网速

用命令行工具 Speedtest-CLI 来测试你的上下行网速

我们经常需要到检查家里与办公室之间的网络是否连通,那么我们要怎么做呢?打开网站Speedtest.net然后开始测试。网站是通过加载浏览器中的JavaScript脚本然后选择最佳的服务器测速然后用Flash产生图形化的结果。 那么远程服务器呢?要知道大多数远程服务器是没有浏览器可以打开web页面的。用浏览器打开网页测速的瓶颈就在此,你不能按计划的对服务器进行定期的常规测试。这时需要到一个名为Speedtest-cli的软件来打破这个瓶颈,它能让你通过命令行来测试互联网连接的速度。 Speedtest-cli是什么 此程序是基于Python开发的脚本程序,利用了
如何在RHEL/CentOS 7.0中使用tmpfs

如何在RHEL/CentOS 7.0中使用tmpfs

今天我们来谈谈 Centos 7 中的一个文件系统tmpfs,这是一个将所有文件和文件夹写到虚拟内存中而不是实际写到磁盘中的虚拟文件系统。这意味中tmpfs中所有的内容都是临时的,在tmpfs卸载、系统重启或者电源切断后内容都将会丢失。技术的角度上来说,tmpfs将所有的内容放在内核内部缓存中并且会调整大小来容纳文件,并可从交换空间中交换出不需要的页。 CentOS默认使用tmpfs做的几种用途可用df -h命令的输出来看: # df h /dev - 含有针对所有设备的设备文件的目录 /dev/shm - 包含共享内存分配 /run - 用于系统日志 /sys/fs/cgroup - 用
Shell 脚本面试问题大全

Shell 脚本面试问题大全

我们为你的面试准备选择了 70 个你可能遇到的 shell 脚本面试问题及解答。了解脚本或至少知道基础知识对系统管理员来说至关重要,它也有助于你在工作环境中自动完成很多任务。在过去的几年里,我们注意到所有的 linux 工作职位都要求脚本技能。 1) 如何向脚本传递参数 ? ./script argument 例子 : 显示文件名称脚本 ./show.sh file1.txt cat show.sh #!/bin/bash cat $1 2) 如何在脚本中使用参数 ? 第一个参数 : $1,第二个参数 : $2 例子 : 脚本会复制文件(arg1) 到目标地址(arg2) ./copy.sh file1.txt /tmp/ cat copy.sh #!/bin/bash
在Linux命令行下令人惊叹的惊叹号(!)

在Linux命令行下令人惊叹的惊叹号(!)

‘!‘符号在Linux中不但可以用作否定符号,还可以用来从历史命令记录中取出命令或不加修改的执行之前运行的命令。下面的所有命令都已经在Bash Shell中经过确切地检验。尽管我没有试过,但大多都不能在别的Shell中运行。这里我们介绍下Linux命令行中符号’!‘那惊人和奇妙的用法。 1. 使用数字从历史命令列表中找一条命令来执行 您也许没有意识到您可以从历史命令列表(之前已经执行的命令集)中找出一条来运行。首先,通过"history"命令查找之前命令的序号。 $ history 使用history命令找到最后执行的命令 现在,只需要使用历史命令输出中
用于 ‘Suse‘ Linux 包管理的 Zypper 命令大全

用于 ‘Suse‘ Linux 包管理的 Zypper 命令大全

SUSE( Software and System Entwicklung,即软件和系统开发。其中entwicklung是德语,意为开发)Linux 是由 Novell 公司在 Linux 内核基础上建立的操作系统。SUSE Linux 有两个发行分支。其中之一名为 openSUSE,这是一款自由而且免费的操作系统 (free as in speech as well as free as in wine)。该系统由开源社区开发维护,支持一些最新版本的应用软件,其最新的稳定版本为 13.2。 另外一个分支是 SUSE Linux 企业版。该分支是一个为企业及商业化产品设计的 Linux 发行版,包含了大量的企业应用以及适用于商业产品生产环境的特性。其
Ubuntu 更新错误修复大全

Ubuntu 更新错误修复大全

在Ubuntu更新中,谁没有碰见个错误?在Ubuntu和其它基于Ubuntu的Linux发行版中,更新错误是一个共性的错误,也经常发生。这些错误出现的原因多种多样,修复起来也很简单。在本文中,我们将见到Ubuntu中各种类型频繁发生的更新错误以及它们的修复方法。 合并列表问题 当你在终端中运行更新命令时,你可能会碰到这个错误合并列表错误,就像下面这样: E:Encountered a section with no Package: header, E:Problem with MergeList /var/lib/apt/lists/archive.ubuntu.comubuntudistspreciseuniversebinary-i386Packages, E:The package lis
在Linux中用chattr和lsattr命令管理文件和目录属性

在Linux中用chattr和lsattr命令管理文件和目录属性

为了允许添加数据,防止更改或者删除等,文件和文件夹可以设定了特定的控制属性。例如,你可以在关键的系统文件或者文件夹中启用属性,然后没有任何用户,包括root,可以删除或者修改它,比如不允许使用像dump这样的命令等备份工具去备份一个特定的文件或者文件夹,等等。这些属性只可以在ext2,ext3或者ext4文件系统中的文件和文件夹上设定。 有两个命令 lsattr 和 chattr 用来管理属性。下面是常用属性的列表。 属性 描述 a (append) 允许在文件中进行追加操作 A 这个属性不允许更新文件的访问时间 c (compre
Linux有问必答:如何在虚拟机上配置PCI直通

Linux有问必答:如何在虚拟机上配置PCI直通

提问:我想要分配一块物理网卡到用KVM创建的虚拟机上。我打算为这台虚拟机启用网卡的PCI直通。请问,我如何才能在virt-manager里面通过PCI直通方式来增加一个PCI设备到虚拟机上? 如今的hypervisor能够高效地在多个虚拟操作系统间共享和模拟硬件资源。然而,虚拟资源共享不是总能使人满意,甚至在虚拟机性能是重点考量时,或者是虚拟机需要硬件DMA的完全控制时,应该避免共享。一项名叫PCI直通的技术可以用在一个虚拟机需要独享PCI设备时(例如:网卡、声卡、显卡)。本质上,PCI直通穿透了虚拟层,直接将PCI设备放到虚拟机里,而其他虚
如何使用图形化工具远程管理 Linux 上的 MySQL

如何使用图形化工具远程管理 Linux 上的 MySQL

如果你在一个远程的VPS上运行了MySQL服务器,你会如何管理你的远程数据库主机呢?基于web的数据库管理工具例如phpMyAdmin或者Adminer可能会是你第一个想起的。这些基于web的管理工具需要一个正常运行的后端的web服务和PHP引擎。但是,如果你的VPS仅仅用来做数据库服务(例如,数据库与其它服务独立存放的分布式结构),为偶尔的数据库管理提供一整套的LAMP是浪费VPS资源的。更糟的是,LAMP所打开的HTTP端口可能会成为你VPS资源的安全漏洞。 作为一种选择,你可以使用在一台客户机上运行本地的MySQL客户端,当然,如果没有别的选择,一个纯净
Linux 有问必答: 如何在红帽系linux中编译Ixgbe驱动

Linux 有问必答: 如何在红帽系linux中编译Ixgbe驱动

提问:我想要安装最新版的ixgbe 10G网卡驱动。在CentOS, Fedora 或 RHEL中,我应该如何编译ixgbe驱动? 想要在linux使用Intel的PCI Express 10G网卡(例如,82598,82599,x540),需要安装Ixgbe驱动。如今的Linux发行版都会预安装ixgbe的可加载模块,但是预安装的ixgbe驱动不是完整功能版。如果想要开启和定制所有10G网卡的功能(如,RSS、多队列、虚拟化功能、硬件 offload 等),需要从源码编译安装。 本文基于红帽系平台(如,CentOS,RHEL或Fedora)。Debian系平台,请看这篇文章。 第一步: 安装依赖 首先,安装必要的开发环境和安
12个进程管理命令介绍

12个进程管理命令介绍

执行中的程序在称作进程。当程序以可执行文件存放在存储中,并且运行的时候,每个进程会被动态得分配系统资源、内存、安全属性和与之相关的状态。可以有多个进程关联到同一个程序,并同时执行不会互相干扰。操作系统会有效地管理和追踪所有运行着的进程。 为了管理这些进程,用户应该能够: 查看所有运行中的进程 查看进程消耗资源 定位个别进程并且对其执行指定操作 改变进程的优先级 杀死指定进程 限制进程可用的系统资源等 Linux提供了许多命令来让用户来高效掌控上述的操作。接下来,一个一个的来讲解下。 1. ps ‘ps’是Linux 中最
Sleuth Kit:一个用来分析磁盘映像和恢复文件的开源取证工具

Sleuth Kit:一个用来分析磁盘映像和恢复文件的开源取证工具

SIFT 是一个由 SANS 公司提供的基于 Ubuntu 的取证发行版。它包含许多取证工具,如 Sleuth kit/Autopsy 。但 Sleuth kit/Autopsy 可以直接在 Ubuntu 或 Fedora 发行版本上直接安装,而不必下载 SIFT 的整个发行版本。 Sleuth Kit/Autopsy 是一个开源的电子取证调查工具,它可以用于从磁盘映像中恢复丢失的文件,以及为了特殊事件进行磁盘映像分析。 Autopsy 工具是 sleuth kit 的一个网页接口,支持 sleuth kit 的所有功能。这个工具在 Windows 和 Linux 平台下都可获取到。 安装 Sleuth kit 首先,从 sleuthkit 的网站下载 Sleuth kit
Linux用户应知应会的7个‘ls’命令的独特技巧

Linux用户应知应会的7个‘ls’命令的独特技巧

在前面我们系列报道的两篇文章中,我们已经涵盖了关于ls命令的绝大多数内容。本文时ls命令系列的最后一部分。如果你还没有读过该系列的其它两篇文章,你可以访问下面的链接。 Linux中的15个基本ls命令示例 15 个ls命令的面试问题(一) 10 个ls命令面试的问题(二) 7个ls命令独特技巧 1. 以各种时间格式附带时间戳列出目录中的内容 要以时间格式列出目录内容,我们需要选择以下两种方法中的任何一种。 # ls -l time-style= (方法 A) 注意 - 上面的开关–time的格式必须和-l开关同时使用,否则达不到目的。 # ls -full-time (方法 B)
指南:使用 Trickle 限制应用程序带宽占用

指南:使用 Trickle 限制应用程序带宽占用

有没有遇到过系统中的某个应用程序独占了你所有的网络带宽的情形?如果你有过这样的遭遇,那么你就会感受到Trickle这种带宽调整应用的价值。不管你是一个系统管理员还只是普通Linux用户,都需要学习如何控制应用程序的上下行速度,来确保你的网络带宽不会被某个程序霸占。 在 Linux 上安装 Trickle 带宽限制 什么是 Trickle? Trickle是一个网络带宽调整工具,可以让我们管理应用程序的网络上下行速度,使得可以避免其中的某个应用程序霸占了全部或大部分可用的带宽。换句话说,Trickle可以让你基于单个应用程序来控制网络流量速率,而不
Inxi:获取Linux的系统和硬件信息

Inxi:获取Linux的系统和硬件信息

我们已经展示了一些不同的应用程序和方法来获取Linux的系统和硬件信息。在这一系列里,我们将看到如何使用inxi来获取这些详情信息。在论坛技术支持中,它可以作为调试工具,迅速确定用户的系统配置和硬件信息。 Inxi是一个可以获取完整的系统和硬件详情信息的命令行工具,内容包括: 硬件 CPU 磁盘驱动器 Xorg 桌面环境 内核 GCC版本 进程 内存占用 和其他有用的信息 安装方法 Inxi在多数现代GNU/Linux操作系统的默认软件仓库中。所以我们可以简单地运行下列命令安装。 在基于Debian的发行版: sudo apt-get install inxi 在Fedora:
4个可以发送完整电子邮件的命令行工具

4个可以发送完整电子邮件的命令行工具

今天的文章里我们会讲到一些使用Linux命令行工具来发送带附件的电子邮件的方法。它有很多用处,比如在应用程序所在服务器上,使用电子邮件发送一个文件过来,或者你可以在脚本中使用这些命令来做一些自动化操作。在本文的例子中,我们会使用foo.tar.gz文件作为附件。 有不同的命令行工具可以发送邮件,这里我分享几个多数用户会使用的工具,如mailx、mutt和swaks。 我们即将呈现的这些工具都是非常有名的,并且存在于多数Linux发行版默认的软件仓库中,你可以使用如下命令安装: 在 Debian / Ubuntu 系统 apt-get install mutt apt-get in
在 CentOS 7.x / Fedora 21 上面体验 PHP 7.0

在 CentOS 7.x / Fedora 21 上面体验 PHP 7.0

PHP是一种为我们熟知的通用服务器网页脚本语言。非常多的在线网站都是用PHP编写的。PHP这些年来一直在持续进化,丰富其功能,变得易于使用,更好地组织的脚本语言。目前PHP的开发团队正筹备下一个PHP版本的发行,名字是PHP 7。现在的PHP版本为PHP 5.6,可能你清楚PHP 6已经流产了,PHP 7的支持者们不希望下一个重要的版本被其他分支混淆,即过去已经停止很久的PHP 6。所以决定下一个PHP主要的发行版本叫PHP 7,而不是PHP 6。PHP 7.0预计在今年十一月份发行。 在下一代主要PHP版本里有一些不错的功能: 为了改善执行效率与内存占用,新的
如何在 Linux 中产生、加密或解密随机密码

如何在 Linux 中产生、加密或解密随机密码

我们一直积极地提供有关 Linux 技巧的系列文章,如果你错过了这个系列的最新文章,你或许可以去访问下面的链接。 Linux 中 5 个有趣的命令行技巧 在这篇文章中,我们将分享一些有趣 Linux 技巧,内容是有关如何产生随机密码以及加密或解密这些经过加盐或没有加盐处理的密码。 安全是数字时代中的一个主要话题。在电脑,email,云端,手机,文档和其他的场合中,我们都会使用到密码。众所周知,选择密码的基本原则是 易记,难猜。考虑过使用基于机器自动生成的密码吗?相信我,Linux 非常擅长这方面的工作。 1. 使用命令 pwgen 来生成一
5个有趣的Linux命令行技巧

5个有趣的Linux命令行技巧

你有将Linux物尽其用吗?对很多Linux用户来说,有很多看起来是技巧的有用特性。有些时候你会需要这些技巧。本文会帮助你更好得使用一些命令,发挥其更强大的功能。 图1:5个命令行技巧 我们开始一个新的系列,在这里我们还会写一些技巧,并且用尽量小的篇幅写清楚。 1. 我们可以使用history命令来查看曾经运行过的命令。 这里是一个history命令的示例输出。 # history 图2:history命令例子 从history命令输出看,很明显,命令的执行时间没有被打出来。有解决方法吗?有的!运行如下命令: # HISTTIMEFORMAT="%d/%m/%y %T " # history
用腻了 wget 或 curl,有什么更好的替代品吗?

用腻了 wget 或 curl,有什么更好的替代品吗?

如果你经常需要通过终端以非交互模式访问网络服务器(例如,从网络上下载文件,或者是测试 RESTful 网络服务接口),可能你会选择的工具是 wget 或 curl。通过大量的命令行选项,这两种工具都可以处理很多非交互网络访问的情况(比如这里、这里,还有这里)。然而,即使像这些一样的强大的工具,你也只能发挥你所了解的那些选项的功能。除非你很精通那些繁冗的语法细节,这些工具对于你来说只不过是简单的网络下载器而已。 就像其宣传的那样,给人用 curl 类工具,HTTPie 设计用来增强 wget 和 curl 的可用性。它的主要目标是使通过命令行
Linux有问必答:如何在Linux中修改环境变量PATH

Linux有问必答:如何在Linux中修改环境变量PATH

提问: 当我试着运行一个程序时,它提示command not found。 但这个程序就在/usr/local/bin下。我该如何添加/usr/local/bin到我的PATH变量下,这样我就可以不用指定路径来运行这个命令了。 在Linux中,PATH环境变量保存了一系列的目录用于用户在输入的时候搜索命令。PATH变量的值由一系列的由分号分隔的绝对路径组成。每个用户都有特定的PATH环境变量(由系统级的PATH变量初始化)。 要检查用户的环境变量,用户模式下运行下面的命令: $ echo $PATH /usr/lib64/qt-3.3/bin:/bin:/usr/bin:/usr/sbin:/sbin:/home/xmodulo/bin 或者运行:
如何在Linux下创建一个不可变更的文件

如何在Linux下创建一个不可变更的文件

假如你想对Linux中的一些重要文件做写保护,这样它们就不能被删除或者被篡改成之前的版本或者其他东西,或者在其他情况下,你可能想避免某些配置文件被软件自动修改。使用chown和chmod命令修改文件的归属关系或者权限位是处理这种情况的一个解决方法,但这并不完美,因为这样无法避免有root权限的操作。这时chattr就派上用场了。 chattr是一个可以设置或取消文件的标志位的Linux命令,它和标准的文件权限(读、写、执行)是分离的。与此相关的另一个命令是lsattr,它可以显示文件的哪些标志位被设置上了。最初只有EXT文件系统(EXT2/3/4)
Linux有问必答:如何安装autossh

Linux有问必答:如何安装autossh

提问: 我打算在linux上安装autossh,我应该怎么做呢? autossh 是一款开源工具,可以帮助管理SSH会话、自动重连和停止转发流量。autossh会假定目标主机已经设定无密码SSH登陆,以便autossh可以重连断开的SSH会话而不用用户操作。 只要你建立反向SSH隧道或者挂载基于SSH的远程文件夹,autossh迟早会派上用场。基本上只要需要维持SSH会话,autossh肯定是有用的。 下面有许多linux发行版autossh的安装方法。 Debian 或 Ubuntu 系统 autossh已经加入基于Debian系统的基础库,所以可以很方便的安装。 $ sudo apt-get install autossh Fedora
怎样在Github上托管开源代码库

怎样在Github上托管开源代码库

大家好,今天我们要学习一下怎样在github.com提供的仓库中托管开源软件源代码。GitHub是一个基于web的Git仓库托管服务,提供基于 git 的分布式版本控制和源代码管理(SCM)功能,并加入了自身的特点。它给开源项目和私有项目提供了一个互相协作的工作区、代码预览和代码管理功能。不像Git是一个完完全全的命令行工具,GitHub提供了一个基于web的图形化界面和桌面,也整合了手机操作。GitHub同时提供了私有库付费计划和通常用来管理开源软件项目的免费账号。 这是一种快速灵活,基于web的托管服务,它使用方便,管理分布式版本控制系统也是