分类 技术 下的文章

CrunchBang是一个很好地融合了速度、风格和内容的基于Debian GNU/Linux的发行版。使用了灵活的Openbox窗口管理器,高度定制化并且提供了一个现代、全功能的GNU/Linux系统而没有牺牲性能。

Crunchbang是高度自定义的,用户可以尽情地地把它调整成他们想要的样子。这一切都通过文本文件(配置)。我作为一个Crunchbang用户,我最近搞乱了我的menu.xml配置文件,它负责下面的菜单显示。

我的菜单配置文件中丢失了所有内容。由于我没有备份(最好备份配置文件)。我不得不搜索Crunchbang安装后的默认配置。这里就是我如何修复的过程,这里要感谢Crunchbang论坛。

了解所有为你预备份的默认配置是很有趣的,你可以在这里找到:

/etc/skel/.config/

因此对于任何默认配置,你只需复制他们并重启适当的程序。

我在这里使用Openbox的menu.xml作为示例:

cp -r /etc/skel/.config/openbox/menu.xml ~/.config/openbox/menu.xml

接着重启openbox。

openbox --restart

via: http://www.unixmen.com/recover-default-openbox-config-files-crunchbang/

作者:Enock Seth Nyamador 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

问题:在一个某处运行的MySQL服务器上,我该怎样通过命令行创建和安装一个MySQL数据库呢?

为了能通过命令行创建一个MySQL数据库,你可以使用mysql命令行客户端。下面是通过mysql命令行客户端创建和安装MySQL的步骤。

第一步:安装MySQL客户端

当然你得确保MySQL客户端已经安装完毕。如果没有的话,可以按照下面的方法。

在Debian,Ubuntu 或者 Linux Mint上:

$ sudo apt-get install mysql-client

在Fedora,CentOS 或者 RHEL上:

$ sudo yum install mysql

第二步:登陆到MySQL服务器

首先,你需要使用root用户登陆进你的MySQL数据库,如下:

$ mysql -u root -h <mysql-server-ip-address> -p 

请注意:为了能登进远程的MySQL服务器,你需要开启服务器上的远程访问,如果你想调用同一主机上的MySQL服务器,你可以省略 "-h " 参数

$ mysql -u root -p

你将需要输入MySQL服务器的密码,如果认证成功,MySQL提示将会出现。

第三步:创建一个MySQL数据库

在MySQL提示中输入命令之前,请记住所有的命令都是以分号结束的(否则将不会执行)。另外,考虑输入命令的时候使用大些字母,输入数据库对象使用小写字母。但那不是必须的,只是方便你的阅读。

现在,让我们创建一个叫做xmodulo\_DB的数据库:

mysql> CREATE DATABASE IF NOT EXISTS xmodulo_DB; 

第四步:创建一个数据库表

为了达到演示的目的,我们将会创建一个叫做posts\_tbl的表,表里会存储关于文章的如下信息:

  • 文章的标题
  • 作者的名字
  • 作者的姓
  • 文章可用或者不可用
  • 文章创建的日期

这个过程分两步执行:

首先,选择我们需要使用的数据库:

mysql> USE xmodulo_DB; 

然后,在数据库中创建新表:

mysql> CREATE TABLE 'posts_tbl' (
'post_id' INT UNSIGNED NOT NULL AUTO_INCREMENT, 
'content' TEXT,
'author_FirstName' VARCHAR(100) NOT NULL,
'author_LastName' VARCHAR(50) DEFAULT NULL ,
'isEnabled' TINYINT(1) NOT NULL DEFAULT 1, 
'date' TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
PRIMARY KEY ( 'post_id' ) 
) TYPE = MYISAM;

第五步:创建一个用户,并授予权限

当涉及到访问我们新创的数据库和表的时候,创建一个新用户是一个很好的主意。这样做就可以让用户在没有整个MySQL服务器权限的情况下,去访问那个数据库(而且只能是那个数据库)

你可以创建新用户,授予权限,并且使改变生效:

mysql> GRANT ALL PRIVILEGES ON xmodulo_DB.* TO 'new_user'@'%' IDENTIFIED BY 'new_password';
mysql> FLUSH PRIVILEGES;

'newuser'和'newpassword'分别指的是新的用户名和他的密码。这条信息将会被保存在mysql.user表中,而且密码会被加密。

第六步:测试

让我们插入一个虚拟的记录到posts\_tbl表:

mysql> USE xmodulo_DB;
mysql> INSERT INTO posts_tbl (content, author_FirstName, author_Las tName)
VALUES ('Hi! This is some dummy text.', 'Gabriel', 'Canepa');

然后查看posts\_tbl表中的所有记录:

mysql> SELECT * FROM posts_tbl;

注意:MySQL会在我们先前定义的地方自动插入适当的默认值(比如,'isEnabled'和'date')。


via: http://ask.xmodulo.com/create-mysql-database-command-line.html

译者:su-kaiyao 校对:wxy

本文由 LCTT 原创翻译,Linu x中国 荣誉推出

问题:在CentOS 7上,我想要将我其中一个网络接口从DHCP改为静态IP地址配置,如何才能永久为CentOS或RHEL 7上的网络接口分配静态IP地址?

如果你想要为CentOS 7中的某个网络接口设置静态IP地址,有几种不同的方法,这取决于你是否想要使用网络管理器。

网络管理器(Network Manager)是一个动态网络的控制器与配置系统,它用于当网络设备可用时保持设备和连接开启并激活。默认情况下,CentOS/RHEL 7安装有网络管理器,并处于启用状态。

使用下面的命令来验证网络管理器服务的状态:

$ systemctl status NetworkManager.service

运行以下命令来检查受网络管理器管理的网络接口:

$ nmcli dev status 

如果某个接口的nmcli的输出结果是“已连接”(如本例中的enp0s3),这就是说该接口受网络管理器管理。你可以轻易地为某个特定接口禁用网络管理器,以便你可以自己为它配置一个静态IP地址。

下面将介绍在CentOS 7上为网络接口配置静态IP地址的两种方式,在例子中我们将对名为enp0s3的网络接口进行配置。

不使用网络管理配置静态IP地址

进入/etc/sysconfig/network-scripts目录,找到该接口的配置文件(ifcfg-enp0s3)。如果没有,请创建一个。

打开配置文件并编辑以下变量:

在上图中,“NM\_CONTROLLED=no”表示该接口将通过该配置文件进行设置,而不是通过网络管理器进行管理。“ONBOOT=yes”告诉我们,系统将在启动时开启该接口。

保存修改并使用以下命令来重启网络服务:

# systemctl restart network.service

现在验证接口是否配置正确:

# ip add 

使用网络管理器配置静态IP地址

如果你想要使用网络管理器来管理该接口,你可以使用nmtui(网络管理器文本用户界面),它提供了在终端环境中配置配置网络管理器的方式。

在使用nmtui之前,首先要在/etc/sysconfig/network-scripts/ifcfg-enp0s3中设置“NM\_CONTROLLED=yes”。

现在,请按以下方式安装nmtui。

# yum install NetworkManager-tui

然后继续去编辑enp0s3接口的网络管理器配置:

# nmtui edit enp0s3 

在下面的屏幕中,我们可以手动输入与/etc/sysconfig/network-scripts/ifcfg-enp0s3中所包含的内容相同的信息。

使用箭头键在屏幕中导航,按回车选择值列表中的内容(或填入想要的内容),最后点击屏幕底部右侧的确定按钮。

最后,重启网络服务。

# systemctl restart network.service

好了,现在一切都搞定了。


via: http://ask.xmodulo.com/configure-static-ip-address-centos7.html

译者:GOLinux 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

在Linux里,由于对安全的考虑,我们允许任何人按下Ctrl-Alt-Del重启系统。但是在生产环境中,应该停用按下Ctrl-Alt-Del 重启系统的功能。

在这篇文章里,我们将要介绍如何在RHEL和CentOS下停用该热键。

在RHEL 5.X和CentOS 5.X下

保护init进程免于Ctrl-Alt-Del,像下面一样编辑'/etc/inittab'里由'ca::ctrlaltdel:'开头的一行:

[root@localhost ~]# cat /etc/inittab
# Trap CTRL-ALT-DELETE
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

我们还可以改变'ca::ctrlaltdel:'这行来输出日志 ,如果任何人想用该热键重启服务器,就会有日志,

[root@localhost ~]# cat /etc/inittab
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/bin/logger -p authpriv.warning -t init "Console-invoked Ctrl-Alt-Del was ignored"

在RHEL6.X和CentOS 6.X下

在RHEL6.X和CentOS 6.X下, 该热键的行为由'/etc/init/control-alt-delete.conf'控制.

第一步 在变化之前,先用下列命令备份配置

[root@localhost ~]# cp -v /etc/init/control-alt-delete.conf /etc/init/control-alt-delete.override

第二步编辑文件,把'exec /sbin/shutdown'这一行用下方配置代替,这个配置会在每次按下Ctrl-Alt-Del 时输出日志:

[root@localhost ~]# cat /etc/init/control-alt-delete.conf
exec /usr/bin/logger -p authpriv.notice -t init "Ctrl-Alt-Del was pressed and ignored" 

via: http://www.linuxtechi.com/disable-reboot-using-ctrl-alt-del-keys/

作者:Pradeep Kumar 译者:2q1w2007 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

问题:我在配置一个需要访问我的亚马逊AWS帐号的应用时被要求提供AWS访问密钥ID秘密访问密钥,我怎样创建一个新的AWS访问密钥呢?

亚马逊AWS安全凭证用于验证你以及授权任何第三方应用访问你的AWS帐号,有各种不同的AWS安全凭证可用,如密码、访问密钥、多因素身份验证、X.509证书等。

如果你想要创建新的访问密钥(访问密钥ID和秘密访问密钥),请按一下步骤进行。

首先,登录到AWS控制台

从顶部栏选择“安全凭证”菜单(图中红色方框所示)。

在下一页中,选择“访问密钥(访问密钥ID和秘密访问密钥)”选项(图中红色方框所示)。

在下一页中,你将看到一个现存访问密钥ID列表(如果有的话)。注意,你不能恢复现存访问密钥ID的“秘密访问密钥”。出于安全的原因,秘密访问密钥只能在你创建新访问密钥时才可见。

点击“创建新访问密钥”(见图示),将会立即创建一个新的访问密钥ID和密码访问密钥对。

要么下载一个包含有新访问密钥的密钥文件,要么复制并粘贴新访问密钥信息。再次提请牢记,一旦你关闭该窗口,秘密访问密钥将不再可用,除非你下载一个密钥文件。

多用户AWS帐号

如果你是作为公司身份创建的帐号,多个雇员共享这一公司帐号,你可能想要使用身份和访问管理(IAM)来创建并管理他们的访问密钥。

IAM是一个web服务,它允许一个公司管理多个用户及其与一个AWS帐号关联的安全凭证。使用IAM,多个用户可以作为不同身份登入单一的AWS帐号,并管理他们的安全凭证而不会相互干预对方的密钥。

要管理IAM用户,点击“安全凭证”页面上的“用户”菜单(见图示)。

然后,你就可以创建一个新的IAM用户并管理他们的安全凭证,比如访问密钥之类的东西。


via: http://ask.xmodulo.com/create-amazon-aws-access-key.html

译者:GOLinux 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

前面我们已经了解了怎样使用LVM创建弹性的磁盘存储。这里,我们将了解怎样来扩展卷组,扩展和缩减逻辑卷。在这里,我们可以缩减或者扩展逻辑卷管理(LVM)中的分区,LVM也可称之为弹性卷文件系统。

前置需求

什么时候我们需要缩减卷?

或许我们需要创建一个独立的分区用于其它用途,或者我们需要扩展任何空间低的分区。遇到这种情况时,使用 LVM我们可以很容易地缩减大尺寸的分区,以及扩展空间低的分区,只要按下面几个简易的步骤来即可。

我的服务器设置 —— 需求

  • 操作系统 – 安装有LVM的CentOS 6.5
  • 服务器IP – 192.168.0.200

如何扩展卷组以及缩减逻辑卷

扩展逻辑卷

目前,我们已经有一个PV,VG和2个LV。让我们用下面的命令来列出它们。

# pvs
# vgs
# lvs

Logical Volume Extending

逻辑卷扩展

在物理卷和卷组中没有空闲空间可用了,所以,现在我们不能扩展逻辑卷的大小。要扩展,我们需要添加一个物理卷(PV),然后通过扩展vg来扩展卷组,这样我们就会得到足够大的空间来扩展逻辑卷大小了。所以,首先我们应该去添加一个物理卷。

要添加一个新PV,我们必须使用fdisk来创建一个LVM分区。

# fdisk -cu /dev/sda
  • 选择n来创建新分区。
  • 选择p来创建主分区。
  • 选择我们需要创建的分区号。
  • 如果有其它可用磁盘,请按1
  • 使用t来修改分区类型。
  • 输入8e来将分区类型修改为Linux LVM。
  • 使用p来打印创建的分区(这里我们没有使用该选项)。
  • w写入修改。

完成后重启系统。

Create LVM Partition

创建LVM分区

使用fdisk列出并检查我们创建的分区。

# fdisk -l /dev/sda

Verify LVM Partition

验证LVM分区

接下来,使用下列命令来创建新PV(物理卷)。

# pvcreate /dev/sda1

使用下面的命令来验证pv。

# pvs

Create Physical Volume

创建物理卷

扩展卷组

添加该pv到vg\_tecmint卷组来扩展卷组的大小,以获取更多空间来扩展lv

# vgextend vg_tecmint /dev/sda1

让我们检查现在正在使用的卷组的大小。

# vgs

Extend Volume Group

扩展卷组

我们甚至可以看到哪个PV用于创建使用中的特定卷组。

# pvscan

Check Volume Group

检查卷组

这里,我们可以看到卷组所处的物理卷。我们已经添加了一个pv,而且它完全空着。在扩展逻辑卷之前,让我们先看看我们所拥有的各个卷组的大小。

Check All Logical Volume

检查所有逻辑卷

  • LogVol00用于Swap。
  • LogVol01用于/。
  • 现在我们有16.50GB大小的空间用于/(root)。
  • 当前有4226物理扩展(PE)可用。

现在,我们打算去扩展/分区LogVol01。在扩展后,我们可以像上面那样列出它的大小以确认。我们能可以使用GB或PE来扩展,这一点我已经在LVM第一部分解释过了,这里我使用PE来扩展。

要获取可用的物理扩展大小,运行以下命令。

# vgdisplay

Check Available Physical Size

检查可用的物理扩展

总共有4607空闲PE可用,亦即有18GB空间空间可用。因此,我们可以将我们的逻辑卷扩展到18GB这么大。让我们使用PE大小来扩展。

# lvextend -l +4607 /dev/vg_tecmint/LogVol01

使用+来添加更多空间。在扩展后,我们需要改变文件系统大小,使用以下命令。

# resize2fs /dev/vg_tecmint/LogVol01

Expand Logical Volume 扩展逻辑卷

  • 用来使用物理扩展扩展逻辑卷的命令。
  • 这里我们可以看到它从16.51GB扩展到了34GB。
  • 如果文件系统已被挂载并处于使用中,改变文件系统大小。
  • 要扩展逻辑卷,我们不需要卸载文件系统

现在,让我们看看当前使用的改变大小后的逻辑卷。

# lvdisplay

Resize Logical Volume

改变逻辑卷大小

  • LogVol01用于扩展的卷 /。
  • 扩展后,从16.50GB上升到了34.50GB。
  • C当前扩展,在扩展前有4226,我们已经添加了4607个扩展,因此现在有8833。

现在,如果我们检查可用的vg的话,空闲PE将会是0。

# vgdisplay

查看扩展的结果。

# pvs
# vgs
# lvs

Verify Resize Partition

验证分区大小改变

  • 添加的新物理卷。
  • 卷组vg\_tecmint从17.51GB扩展到了35.50GB。
  • 逻辑卷LogVol01从16.51GB扩展到了34.50GB。

这里,我们已经完成扩展卷组和逻辑卷的过程。让我们一起迈向逻辑卷管理中一些有趣的部分。

缩减逻辑卷(LVM)

这里,我们将了解如何缩减逻辑卷。人人都说它很危险,在缩减lvm的时候可能会导致灾难。缩减lvm在逻辑卷管理中比其它部分要来得确实有趣得多。

  • 在开始之前,备份好数据总是对的,这样如果出错,就不会头痛了。
  • 要缩减逻辑卷,需要小心翼翼地完成5个步骤。
  • 在扩展一个卷的时候,我们可以在该卷挂载时扩展它(在线),但对于缩减,我们必须在缩减前卸载文件系统。

让我们来了解一下下面这5个步骤。

  • 卸载文件系统以便缩减。
  • 在卸载后检查文件系统。
  • 缩减文件系统。
  • 5减少当前逻辑卷大小。
  • 再检查文件系统以防出错。
  • 将文件系统再次挂载回去。

为了演示,我已经创建了独立的卷组和逻辑卷。这里,我将缩减逻辑卷tecmintreducetest。现在它有18GB大小,我们需要将它缩减到10GB而不丢失数据。也就是说,我们需要从18GB中减少8GB。卷中已经有4GB被使用。

18GB ---> 10GB

在缩减大小的时候,我们只需要缩减8GB,所以在缩减后它总计会有10GB。

# lvs

Reduce Logical Volume

缩减逻辑卷

这里,我们可以看到文件系统信息。

# df -h

Check File System Size

检查文件系统大小

  • 卷大小是18GB。
  • 它已经使用了3.9GB。
  • 可用空间是13GB。

首先,卸载挂载点。

# umount -v /mnt/tecmint_reduce_test/

Unmount Parition

卸载分区

然后,使用以下命令来检查文件系统错误。

# e2fsck -ff /dev/vg_tecmint_extra/tecmint_reduce_test

Scan Parition for Errors

扫描分区错误

注意:必须通过所有文件系统检查的5个步骤,若未完全通过,则你的文件系统可能存在问题。

接下来,缩减文件系统。

# resize2fs /dev/vg_tecmint_extra/tecmint_reduce_test 8GB

Reduce File System

缩减文件系统

使用GB来缩减逻辑卷。

# lvreduce -L -8G /dev/vg_tecmint_extra/tecmint_reduce_test

Reduce Logical Partition

缩减逻辑分区

要使用PE来缩减逻辑卷,我们需要知道默认PE大小和卷组的总PE大小,以进行一次小小的计算来得出准确的缩减大小。

# lvdisplay vg_tecmint_extra

这里,我们需要使用bc命令来做一些小计算来获得10GB的PE大小。

1024MB x 10GB = 10240MB or 10GB

10240MB / 4PE = 2048PE

CTRL+D来退出BC。

Calculate PE Size

计算PE大小

使用PE来缩减大小。

# lvreduce -l -2048 /dev/vg_tecmint_extra/tecmint_reduce_test

Reduce Size Using PE

使用PE来缩减大小

将文件系统大小调整回去。在这一步中,如果发生任何错误,这就意味着我们已经将文件系统搞乱了。

# resize2fs /dev/vg_tecmint_extra/tecmint_reduce_test

Resize File System

将文件系统挂载回同样的挂载点。

# mount /dev/vg_tecmint_extra/tecmint_reduce_test /mnt/tecmint_reduce_test/

Mount File System

挂载文件系统

检查分区和文件的大小。

# lvdisplay vg_tecmint_extra

这里,我们可以看到最后的结果,逻辑已经被缩减到10GB。

Verify Logical Volume Size

在本文中,我们已经了解了如何来扩增卷组、逻辑卷以及缩减逻辑卷。在下一部分(第三部分)中,我们将了解如何为逻辑卷做快照并将它恢复到更早的状态。


via: http://www.tecmint.com/extend-and-reduce-lvms-in-linux/

作者:Babin Lonston 译者:GOLinux 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出