mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-01-25 23:11:02 +08:00
Merge branch 'master' of https://github.com/LCTT/TranslateProject
This commit is contained in:
commit
23e294a170
@ -0,0 +1,202 @@
|
||||
在linux中如何通过nload来监控网络使用情况
|
||||
================================================================================
|
||||
nload 是一个 linux 自由软件工具,通过提供两个简单的图形来帮助linux用户和系统管理员来实时监控网络流量以及宽带使用情况:一个是进入流量,一个是流出流量。
|
||||
|
||||
我真的很喜欢用**nload**来在屏幕上显示当前的下载速度、总的流入量和平均下载速度等信息。nload工具的报告图非常容易理解,最重要的是这些信息真的非常有用。
|
||||
|
||||
在其使用手册上说到,在默认情况下它会监控所有网络设备。但是你可以轻松地指定你想要监控的设备,而且可以通过方向键在不同的网络设备之间进行转换。另外还有很多的选项可用,例如 ‘-t’选项以毫秒来设定刷新显示时间间隔(默认时间间隔值是500毫秒),‘-m’选项用来同时显示多个设备(在使用该选项时不会显示流量图),‘-u’选项用来设置显示流量数字的单位,另外还有许多其他的选项将会在本教程中探索和练习。
|
||||
|
||||
### 如何将 nload安装到你的linux机器上 ###
|
||||
|
||||
**Ubuntu** 和 **Fedora** 用户可以从默认的软件仓库中容易地安装。
|
||||
|
||||
在Ubuntu上使用以下命令进行安装。
|
||||
|
||||
sudo apt-get install nload
|
||||
|
||||
在Fedora上使用以下命令进行安装。
|
||||
|
||||
sudo yum install nload
|
||||
|
||||
**CentOS**用户该怎么办呢? 只需要在你的机器上输入以下命令就可以安装成功。
|
||||
|
||||
sudo yum install nload
|
||||
|
||||
以下的命令会帮助你在OpenBSD系统中安装nload。
|
||||
|
||||
sudo pkg_add -i nload
|
||||
|
||||
在 linux 机器上的另外一个非常有效的安装软件的方式就是编译源代码,下载并安装最新的版本意味着能够获得更好地性能、更酷的特性以及更少的bug。
|
||||
|
||||
### 如何通过源代码安装nload ###
|
||||
|
||||
在从源代码安装nload之前,你需要首先下载源代码。 我通常使用wget工具来进行下载--该工具在许多linux机器上默认可用。该免费工具帮助用户以非交互式的方式从网络上下载文件,并支持以下协议:
|
||||
|
||||
- HTTP
|
||||
- HTTPS
|
||||
- FTP
|
||||
|
||||
通过以下命令来进入到**/tmp**目录中。
|
||||
|
||||
cd /tmp
|
||||
|
||||
然后在你的终端中输入以下命令就可以将最新版本的nload下载到你的linux机器上了。
|
||||
|
||||
wget http://www.roland-riegel.de/nload/nload-0.7.4.tar.gz
|
||||
|
||||
如果你不喜欢使用wget工具,也可以通过简单的一个鼠标点击轻松地从[官网][1]上下载其源代码。
|
||||
|
||||
由于该软件非常轻巧,其下载过程几乎在瞬间就会完成。接下来的步骤就是通过**tar**工具来将下载的源代码包进行解压。
|
||||
|
||||
tar归档工具可以用来从磁带或硬盘文档中存储或解压文件,该工具有许多可用的选项,但是我们只需要下面的几个选项来执行我们的操作。
|
||||
|
||||
1. **-x** 从归档中解压文件
|
||||
1. **-v** 使用繁琐模式运行--用来显示详细信息
|
||||
1. **-f** 用来指定归档文件
|
||||
|
||||
例如(LCTT 译注:tar 命令的参数前的“-”可以省略):
|
||||
|
||||
tar xvf example.tar
|
||||
|
||||
现在你学会了如何使用tar工具,我可以非常肯定你知道了如何从命令行中解压这个.tar文档。
|
||||
|
||||
tar xvf nload-0.7.4.tar.gz
|
||||
|
||||
之后使用cd命令来进入到nload*目录中:
|
||||
|
||||
cd nload*
|
||||
|
||||
在我的系统上看起来是这样的:
|
||||
|
||||
oltjano@baby:/tmp/nload-0.7.4$
|
||||
|
||||
然后运行下面这个命令来为你的系统配置该软件包:
|
||||
|
||||
./configure
|
||||
|
||||
此时会有“一大波僵尸”会在你的屏幕上显示出来,下面的一个屏幕截图描述了它的样子。
|
||||
|
||||
![configuring packages for nload](http://blog.linoxide.com/wp-content/uploads/2015/01/nload1.png)
|
||||
|
||||
在上述命令完成之后,通过下面的命令来编译nload。
|
||||
|
||||
make
|
||||
|
||||
![compiling nload](http://blog.linoxide.com/wp-content/uploads/2015/01/nload2.png)
|
||||
|
||||
好了,终于....,通过以下命令可以将nload安装在你的机器上了。
|
||||
|
||||
sudo make install
|
||||
|
||||
![installing nload from source](http://blog.linoxide.com/wp-content/uploads/2015/01/nload3.png)
|
||||
|
||||
安装好nload之后就是让你学习如何使用它的时间了。
|
||||
|
||||
###如何使用nload###
|
||||
|
||||
我喜欢探索,所以在你的终端输入以下命令.
|
||||
|
||||
nload
|
||||
|
||||
看到了什么?
|
||||
|
||||
我得到了下面的结果。
|
||||
|
||||
![running nload](http://blog.linoxide.com/wp-content/uploads/2015/01/nload4.png)
|
||||
|
||||
如上述截图可以看到,我得到了以下信息:
|
||||
|
||||
#### 流入量####
|
||||
|
||||
**当前下载速度**
|
||||
|
||||
![nload running on linux](http://blog.linoxide.com/wp-content/uploads/2015/01/nload4.1.png)
|
||||
|
||||
**平均下载速度**
|
||||
|
||||
![nload running on linux](http://blog.linoxide.com/wp-content/uploads/2015/01/nload4.2.png)
|
||||
|
||||
**最小下载速度**
|
||||
|
||||
![nload running on linux](http://blog.linoxide.com/wp-content/uploads/2015/01/nload4.3.png)
|
||||
|
||||
**最大下载速度**
|
||||
|
||||
![nload running on linux](http://blog.linoxide.com/wp-content/uploads/2015/01/nload4.4.png)
|
||||
|
||||
**总的流入量按字节进行显示**
|
||||
|
||||
![](http://blog.linoxide.com/wp-content/uploads/2015/01/nload4.5.png)
|
||||
|
||||
#### 流出量 ####
|
||||
|
||||
类似的同样适用于流出量
|
||||
|
||||
#### 一些nload有用的选项####
|
||||
|
||||
使用选项
|
||||
|
||||
-u
|
||||
|
||||
用来设置显示流量单位。
|
||||
|
||||
下面的命令会帮助你使用MBit/s显示单元
|
||||
|
||||
nload -u m
|
||||
|
||||
下面的屏幕截图显示了上述命令的结果。
|
||||
|
||||
![nload running on linux](http://blog.linoxide.com/wp-content/uploads/2015/01/nload5.png)
|
||||
|
||||
尝试以下命令然后看看有什么结果。
|
||||
|
||||
nload -u g
|
||||
|
||||
![nload running on linux](http://blog.linoxide.com/wp-content/uploads/2015/01/nload6.png)
|
||||
|
||||
同时还有一个**-U**选项。根据手册描述,该选项基本上与-u选项类似,只是用在合计数据。 我测试了这个命令,老实说,当你需要检查总的流入与流出量时非常有用。
|
||||
|
||||
nload -U G
|
||||
|
||||
![nload running on linux](http://blog.linoxide.com/wp-content/uploads/2015/01/nload7.png)
|
||||
|
||||
从上面的截图中可以看到,**nload -U G** 使用Gbyte来显示数据总量。
|
||||
|
||||
另外一个我喜欢使用的有用选项是 **-t**。 该选项用来设置刷新显示事件间隔,单位为毫秒,默认值为500毫秒。
|
||||
|
||||
我会通过下面的命令做一些小的实验。
|
||||
|
||||
nload -t 130
|
||||
|
||||
那么上述命令做了什么呢?它将刷新显示时间间隔设置为130毫秒。 通常推荐不要将该时间间隔值设置为小于100毫秒,因为nload在生成报告时计算错误。
|
||||
|
||||
另外的一个选项为 **-a**, 在你想要设置计算平均值的时间窗口的秒数时使用,默认该值为300秒。
|
||||
|
||||
那么当你想要监控指定的网络设备该如何呢? 非常容易, 像下面这样简单地指定设备或者列出想要监控的设备列表即可。
|
||||
|
||||
nload wlan0
|
||||
|
||||
![nload monitoring wlan0 on linux](http://blog.linoxide.com/wp-content/uploads/2015/01/nload8.png)
|
||||
|
||||
下面的语法可帮助你监控指定的多个设备。
|
||||
|
||||
nload [options] device1 device2 devicen
|
||||
|
||||
例如,使用下面的命令来监控eth0和eth1。
|
||||
|
||||
nload wlan0 eth0
|
||||
|
||||
如果不带选项来运行nload,那么它会监控所有自动检测到的设备,你可以通过左右方向键来显示其中的任何一个设备的信息。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/monitoring-2/monitor-network-usage-nload/
|
||||
|
||||
作者:[Oltjano Terpollari][a]
|
||||
译者:[theo-l](https://github.com/theo-l)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://linoxide.com/author/oltjano/
|
||||
[1]:http://www.roland-riegel.de/nload/nload-0.7.4.tar.gz
|
@ -1,39 +1,38 @@
|
||||
在linux中4个lvcreate命令例子
|
||||
4 个 lvcreate 常用命令举例
|
||||
================================================================================
|
||||
逻辑卷管理(LVM)是广泛使用的技术,并拥有极其灵活磁盘管理方案。主要包含3个基础命令:
|
||||
|
||||
a. 创建物理卷使用**pvcreate**
|
||||
b. 创建卷组并给卷组增加分区**vgcreate**
|
||||
c. 创建新的逻辑卷使用**lvcreate**
|
||||
1. 创建物理卷使用**pvcreate**
|
||||
2. 创建卷组并给卷组增加分区**vgcreate**
|
||||
3. 创建新的逻辑卷使用**lvcreate**
|
||||
|
||||
![](http://www.ehowstuff.com/wp-content/uploads/2015/01/lvm-diagram1.jpg)
|
||||
|
||||
随后的例子着重在已经存在的卷组上使用**lvcreate**创建逻辑卷。**lvcreate**命令可以在来自自由物理扩展池的卷组分配逻辑扩展。通常,逻辑卷可以随意使用底层逻辑卷上的任意空间。修改逻辑卷将释放或重新分配在物理卷空间。这些例子已经在CentOS 5, CentOS 6, CentOS 7, RHEL 5, RHEl 6 和 RHEL 7 版本中测试通过。
|
||||
下列例子主要讲述在已经存在的卷组上使用**lvcreate**创建逻辑卷。**lvcreate**命令可以在卷组的可用物理扩展池中分配逻辑扩展。通常,逻辑卷可以随意使用底层逻辑卷上的任意空间。修改逻辑卷将释放或重新分配物理卷的空间。这些例子已经在CentOS 5, CentOS 6, CentOS 7, RHEL 5, RHEl 6 和 RHEL 7 版本中测试通过。
|
||||
|
||||
### 4个lvcreate命令例子 ###
|
||||
|
||||
1. 在名为vg_newlvm卷组中创建15G大小的逻辑卷:
|
||||
1. 在名为vg_newlvm的卷组中创建15G大小的逻辑卷:
|
||||
|
||||
[root@centos7 ~]# lvcreate -L 15G vg_newlvm
|
||||
[root@centos7 ~]# lvcreate -L 15G vg_newlvm
|
||||
|
||||
2. 在名为vg_newlvm中创建大小为2500MB的逻辑卷并命名centos7_newvol,创建块设备/dev/vg_newlvm/centos7_newvol:
|
||||
2. 在名为vg_newlvm的卷组中创建大小为2500MB的逻辑卷,并命名为centos7_newvol,这样就创建了块设备/dev/vg_newlvm/centos7_newvol:
|
||||
|
||||
[root@centos7 ~]# lvcreate -L 2500 -n centos7_newvol vg_newlvm
|
||||
[root@centos7 ~]# lvcreate -L 2500 -n centos7_newvol vg_newlvm
|
||||
|
||||
3.可以使用**lvcreate**命令的参数-l,能指定一些特别的逻辑卷扩展大小。也可以使用这个参数以卷组的大小百分比来扩展逻辑卷。这下列的命令创建了centos7_newvol卷组的50%大小的逻辑卷vg_newlvm:
|
||||
3. 可以使用**lvcreate**命令的参数-l来指定逻辑卷扩展的大小。也可以使用这个参数以卷组的大小百分比来扩展逻辑卷。这下列的命令创建了centos7_newvol卷组的50%大小的逻辑卷vg_newlvm:
|
||||
|
||||
[root@centos7 ~]# lvcreate -l 50%VG -n centos7_newvol vg_newlvm
|
||||
[root@centos7 ~]# lvcreate -l 50%VG -n centos7_newvol vg_newlvm
|
||||
|
||||
4. 使用卷组剩下的所有空间创建逻辑卷
|
||||
|
||||
[root@centos7 ~]# lvcreate --name centos7_newvol -l 100%FREE vg_newlvm
|
||||
[root@centos7 ~]# lvcreate --name centos7_newvol -l 100%FREE vg_newlvm
|
||||
|
||||
更多帮助,使用**lvcreate**命令--help选项来查看:
|
||||
|
||||
[root@centos7 ~]# lvcreate --help
|
||||
|
||||
----------
|
||||
以下空号中是帮助字面翻译
|
||||
|
||||
lvcreate: Create a logical volume(创建逻辑卷)
|
||||
|
||||
@ -46,8 +45,8 @@ c. 创建新的逻辑卷使用**lvcreate**
|
||||
[-C|--contiguous {y|n}]
|
||||
[-d|--debug]
|
||||
[-h|-?|--help]
|
||||
[--ignoremonitoring](忽略监听)
|
||||
[--monitor {y|n}](监听)
|
||||
[--ignoremonitoring](忽略监控)
|
||||
[--monitor {y|n}](监控)
|
||||
[-i|--stripes Stripes [-I|--stripesize StripeSize]]
|
||||
[-k|--setactivationskip {y|n}]
|
||||
[-K|--ignoreactivationskip]
|
||||
@ -66,7 +65,7 @@ c. 创建新的逻辑卷使用**lvcreate**
|
||||
[--discards {ignore|nopassdown|passdown}]
|
||||
[--poolmetadatasize MetadataSize[bBsSkKmMgG]]]
|
||||
[--poolmetadataspare {y|n}]
|
||||
[--thinpool ThinPoolLogicalVolume{Name|Path}]精简池逻辑卷
|
||||
[--thinpool ThinPoolLogicalVolume{Name|Path}] (精简池逻辑卷)
|
||||
[-t|--test]
|
||||
[--type VolumeType](卷类型)
|
||||
[-v|--verbose]
|
||||
@ -75,18 +74,14 @@ c. 创建新的逻辑卷使用**lvcreate**
|
||||
[--version]
|
||||
VolumeGroupName [PhysicalVolumePath...]
|
||||
|
||||
lvcreate
|
||||
{ {-s|--snapshot} OriginalLogicalVolume[Path] |
|
||||
[-s|--snapshot] VolumeGroupName[Path] -V|--virtualsize VirtualSize}
|
||||
{-T|--thin} VolumeGroupName[Path][/PoolLogicalVolume]
|
||||
-V|--virtualsize VirtualSize}(
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.ehowstuff.com/4-lvcreate-command-examples-on-linux/
|
||||
|
||||
作者:[skytech][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[Vic020](https://github.com/Vic020)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -0,0 +1,107 @@
|
||||
性能优化:使用ramlog将日志文件转移到内存中
|
||||
================================================================================
|
||||
Ramlog 以系统守护进程的形式运行。在系统启动时它创建虚拟磁盘(ramdisk),将 /var/log 下的文件复制到虚拟磁盘中,同时把虚拟磁盘挂载为/var/log。然后所有的日志就会更新到虚拟磁盘上。而当 ramlog 重启或停止时,需要记录到硬盘上的日志就会保留在目录/var/log.hdd中。而关机的时候,(ramdisk上的)日志文件会重新保存到硬盘上,以确保日志一致性。Ramlog 2.x默认使用tmpfs文件系统,同时也可以支持ramfs和内核ramdisk。使用rsync(译注:Linux数据镜像备份工具)这个工具来同步日志。
|
||||
|
||||
注意:如果突然断电或者内核崩溃(kernel panic)时,没有保存进硬盘的日志将会丢失。
|
||||
|
||||
如果你拥有够多的可用内存,而又想把日志放进虚拟磁盘,就安装ramlog吧。它是笔记本用户、带有UPS的系统或是直接在flash中运行的系统的优良选择,可以节省日志的写入时间。
|
||||
|
||||
Ramlog的运行机制以及步骤如下:
|
||||
|
||||
1. Ramlog 由第一个守护进程(这取决于你所安装过的其它守护进程)启动。
|
||||
|
||||
2. 然后创建目录/var/log.hdd并将其硬链至/var/log。
|
||||
|
||||
3. 如果使用的是tmpfs(默认)或者ramfs 文件系统,将其挂载到/var/log上。
|
||||
|
||||
4. 而如果使用的是内核ramdisk,ramdisk会在/dev/ram9中创建,并将其挂载至/var/log。默认情况下ramlog会占用所有ramdisk的内存,其大小由内核参数"ramdisk_size"指定。
|
||||
|
||||
5. 接着其它的守护进程被启动,并在ramdisk中更新日志。Logrotate(译注:Linux日志轮替工具)和 ramdisk 配合的也很好。
|
||||
|
||||
6. 重启(默认一天一次)ramlog时,目录/var/log.hdd将借助rsync与/var/log保持同步。日志自动保存的频率可以通过cron(译注:Linux例行性工作调度)来控制。默认情况下,ramlog 的调度任务放置在目录/etc/cron.daily下。
|
||||
|
||||
7. 系统关机时,ramlog在最后一个守护进程关闭之前关闭。
|
||||
|
||||
8. 在ramlog关闭期间,/var/log.hdd中的文件将被同步至/var/log,接着/var/log和/var/log.hdd都被卸载,然后删除空目录/var/log.hdd。
|
||||
|
||||
**注意:- 此文仅面向高级用户**
|
||||
|
||||
### 在Ubuntu中安装Ramlog ###
|
||||
|
||||
首先需要用以下命令,从[这里][1]下载.deb安装包:
|
||||
|
||||
wget http://www.tremende.com/ramlog/download/ramlog_2.0.0_all.deb
|
||||
|
||||
下载ramlog\_2.0.0\_all.deb安装包完毕,使用以下命令进行安装:
|
||||
|
||||
sudo dpkg -i ramlog_2.0.0_all.deb
|
||||
|
||||
这一步会完成整个安装,现在你需要运行以下命令:
|
||||
|
||||
sudo update-rc.d ramlog start 2 2 3 4 5 . stop 99 0 1 6 .
|
||||
|
||||
现在,在更新sysklogd的初始化顺序,使之能在ramlog停止运行前正确关闭:
|
||||
|
||||
sudo update-rc.d -f sysklogd remove
|
||||
|
||||
sudo update-rc.d sysklogd start 10 2 3 4 5 . stop 90 0 1 6 .
|
||||
|
||||
然后重启系统:
|
||||
|
||||
sudo reboot
|
||||
|
||||
系统重启完毕,运行'ramlog getlogsize'来获取你当前的/var/log的空间大小。在此基础之上多分配40%的空间,确保ramdisk有足够的空间(这整个都将作为ramdisk的空间大小)。
|
||||
|
||||
编辑引导配置文件,如/etc/grub.conf,、/boot/grub/menu.lst 或/etc/lilo.conf(译注:具体哪个配置文件视不同引导加载程序而定),给你的当前内核的新增选项 'ramdisk_size=xxx' ,其中xxx是ramdisk的空间大小。
|
||||
|
||||
### 配置Ramlog ###
|
||||
|
||||
基于deb的系统中,Ramlog的配置文件位于/etc/default/ramlog,你可以在该配置文件中设置以下变量:
|
||||
|
||||
RAMDISKTYPE=0
|
||||
# 取值:
|
||||
# 0 -- tmpfs (可被交换到交换分区) -- 默认
|
||||
# 1 -- ramfs (旧内核不能设置最大空间大小,
|
||||
# 不能被交换到交换分区,和 SELinux 不兼容)
|
||||
# 2 -- 老式的内核 ramdisk
|
||||
TMPFS_RAMFS_SIZE=
|
||||
# 可以用于 tmpfs 或 ramfs 的最大内存大小
|
||||
# 这个值可以是百分比或数值(单位是 Mb),例如:
|
||||
# TMPFS_RAMFS_SIZE=40%
|
||||
# TMPFS_RAMFS_SIZE=100m
|
||||
# 该值为空表示 tmpfs/ramfs 的大小是全部内存的 50%
|
||||
# 更多选项可以参考 ‘man mount' 中的‘Mount options for tmpfs' 一节
|
||||
# (补充,在较新的内核中,ramfs 支持大小限制,
|
||||
# 虽然 man 中说没有这个挂载选项)
|
||||
# 该选项仅用于 RAMDISKTYPE=0 或 1 时
|
||||
KERNEL_RAMDISK_SIZE=MAX
|
||||
#以 kb 为单位指定的内核 ramdisk 大小,或者使用 MAX 来使用整个 ramdisk。
|
||||
#该选项仅用于 RAMDISKTYPE=2 时
|
||||
LOGGING=1
|
||||
# 0=关闭, 1=打开 。记录自身的日志到 /var/log/ramdisk
|
||||
LOGNAME=ramlog
|
||||
# 自身的日志文件名 (用于 LOGGING=1时)
|
||||
VERBOSE=1
|
||||
# 0=关闭, 1=打开 (设置为 1时,启动或停止失败时会调用 teststartstop 将细节
|
||||
# 写到日志中)
|
||||
|
||||
### 在Ubuntu中卸载ramlog ###
|
||||
|
||||
打开终端运行以下命令:
|
||||
|
||||
sudo dpkg -P ramlog
|
||||
|
||||
注意:如果ramlog卸载之前仍在运行,需要重启系统完成整个卸载工作。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.ubuntugeek.com/improve-system-performance-by-moving-your-log-files-to-ram-using-ramlog.html
|
||||
|
||||
作者:[ruchi][a]
|
||||
译者:[soooogreen](https://github.com/soooogreen)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.ubuntugeek.com/author/ubuntufix
|
||||
[1]:http://www.tremende.com/ramlog/download/ramlog_2.0.0_all.deb
|
@ -0,0 +1,57 @@
|
||||
Papyrus: An Open Source Note Manager
|
||||
================================================================================
|
||||
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/03/Papyrus_Linux_4.jpeg)
|
||||
|
||||
In last post, we saw an [open source to-do app Go For It!][1]. In a similar article, today we’ll see an **open source note taking application Papyrus**.
|
||||
|
||||
[Papyrus][2] is a fork of [Kaqaz note manager][3] and is built on QT5. It brings a clean, polished user interface and is security focused (as it claims). Emphasizing on simplicity, I find Papyrus similar to OneNote. You organize your notes in ‘paper’ and add them a label for grouping those papers. Simple enough!
|
||||
|
||||
### Papyrus features: ###
|
||||
|
||||
Though Papyrus focuses on simplicity, it still has plenty of features up its sleeves. Some of the main features are:
|
||||
|
||||
- Note management with labels and categories
|
||||
- Advanced search options
|
||||
- Touch mode available
|
||||
- Full screen option
|
||||
- Back up to Dropbox/hard drive/external
|
||||
- Password protection for selective papers
|
||||
- Sharing papers with other applications
|
||||
- Encrypted synchronization via Dropbox
|
||||
- Available for Android, Windows and OS X apart from Linux
|
||||
|
||||
### Install Papyrus ###
|
||||
|
||||
Papyrus has APK available for Android users. There are installer files for Windows and OS X. Linux users can get source code of the application. Ubuntu and other Ubuntu based distributions can use the .deb packages. Based on your OS and preference, you can get the respective files from the Papyrus download page:
|
||||
|
||||
- [Download Papyrus][4]
|
||||
|
||||
### Screenshots ###
|
||||
|
||||
Here are some screenshots of the application:
|
||||
|
||||
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/03/Papyrus_Linux_3-700x450_c.jpeg)
|
||||
|
||||
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/03/Papyrus_Linux_2-700x450_c.jpeg)
|
||||
|
||||
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/03/Papyrus_Linux_1-700x450_c.jpeg)
|
||||
|
||||
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/03/Papyrus_Linux-700x450_c.jpeg)
|
||||
|
||||
Give Papyrus a try and see if you like it. Do share your experience with it with the rest of us here.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://itsfoss.com/papyrus-open-source-note-manager/
|
||||
|
||||
作者:[Abhishek][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://itsfoss.com/author/abhishek/
|
||||
[1]:http://itsfoss.com/go-for-it-to-do-app-in-linux/
|
||||
[2]:http://aseman.co/en/products/papyrus/
|
||||
[3]:https://github.com/sialan-labs/kaqaz/
|
||||
[4]:http://aseman.co/en/products/papyrus/
|
@ -0,0 +1,52 @@
|
||||
Red Hat Developer Toolset 3.1 beta arrives
|
||||
================================================================================
|
||||
> **Summary**:Want the newest developer tools for Red Hat Enterprise Linux 6 or 7? The beta's ready for you now.
|
||||
|
||||
It's one of those eternal problems between developers and operators that even [DevOps][1] can't entirely solve. System administrators want the most stable operating system possible, while programmers want the latest and greatest development tools. [Red Hat][2]'s solution for this dilemma has been to take those brand spanking-new tools, test them out on the latest stable [Red Hat Enterprise Linux (RHEL)][3], and then release them to developers.
|
||||
|
||||
![Red Hat Developer Toolset](http://zdnet4.cbsistatic.com/hub/i/2015/03/18/d92b1067-6b36-4ff0-ac9e-608fbe3e8c5d/ae80362df5401a37e3cbcd2598f33370/rhel-dev-tools.png)
|
||||
Red Hat Developer Toolset
|
||||
|
||||
So it is that Red Hat has just announced its latest toys for developers, [Red Hat Developer Toolset 3.1][4]. This packaging of the hottest new tools is now available in beta.
|
||||
|
||||
This update includes:
|
||||
|
||||
[GNUCompiler Collection (GCC) 4.9][5]: the latest stable upstream version of GCC, which provides numerous improvements and bug fixes
|
||||
|
||||
[Eclipse 4.4.1][6]: with support for Java 8 and updated versions of Eclipse CDT (8.5), Eclipse Linux Tools (3.1), Eclipse Mylyn (3.14), and Eclipse Egit/Jgit (3.6.1)
|
||||
|
||||
Numerous additional updated packages: These include GDB 7.8.2, elfutils 0.161, memstomp 0.1.5, SystemTap 2.6, Valgrind 3.10.1, Dyninst 8.2.1, and ltrace 0.7.91.
|
||||
|
||||
With these development programs, you'll be able to create applications for RHEL 6 and 7.x. These apps will then run on RHEL regardless of whether you're running it on a physical, virtual or cloud environments. They will also run on Red Hat's [OpenShift][7], its Platform-as-a-Service (PaaS) offering.
|
||||
|
||||
This new set of developer programs includes packages for both RHEL 7 and 7 running on [AMD64 and Intel 64 architectures][8]. Although the tools are 64-bit you can use them to create and modify 32-bit binaries.
|
||||
|
||||
Before you try running any of these programs, you should patch RHEL with all the latest updates. To install the beta Toolset, your systems need to be subscribed to the Optional channel to access all the required Red Hat Developer Toolset tool-chain packages.
|
||||
|
||||
In addition, if you've installed earlier Toolkits you may run into some [problems while installing Toolkit 3.1][9]. While these difficulties are easy enough to fix, you should go over these possible hiccups before trying to install the new Toolkit.
|
||||
|
||||
Finally, you may notice that some of the most exciting of the new tools, such as Docker, Kubernetes, and other container tools aren't here. That's because they're in the newly released [RHEL 7.1][10] and [Red Hat Enterprise Linux 7 Atomic Host (RHELAH)][11]. [Red Hat has partnered with Docker][12], but you'll need to move to a Docker-friendly version of RHEL to get at these container-friendly programs.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.zdnet.com/article/red-hat-developer-toolset-3-1-beta-arrives/
|
||||
|
||||
作者:[Steven J. Vaughan-Nichols][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.zdnet.com/meet-the-team/us/sjvn/
|
||||
[1]:http://blogs.csc.com/2015/02/03/devops-theory-for-beginners/
|
||||
[2]:http://www.redhat.com/en
|
||||
[3]:http://www.redhat.com/en/technologies/linux-platforms/enterprise-linux
|
||||
[4]:http://www.redhat.com/en/about/blog/red-hat-developer-toolset-31-beta-now-available
|
||||
[5]:https://gcc.gnu.org/gcc-4.9/
|
||||
[6]:https://projects.eclipse.org/projects/eclipse/releases/4.4.1
|
||||
[7]:https://www.openshift.com/
|
||||
[8]:https://access.redhat.com/documentation/en-US/Red_Hat_Developer_Toolset/3-Beta/html/3.1_Release_Notes/System_Requirements.html
|
||||
[9]:https://access.redhat.com/documentation/en-US/Red_Hat_Developer_Toolset/3-Beta/html/3.1_Release_Notes/DTS3.1_Release.html#Known_Issues
|
||||
[10]:http://www.zdnet.com/article/red-hat-7-1-is-here-centos-7-1-is-coming-soon/
|
||||
[11]:http://www.zdnet.com/article/red-hat-buys-into-docker-containers-with-atomic-host/
|
||||
[12]:http://www.zdnet.com/article/red-hat-partners-with-docker-to-create-linuxdocker-software-stack/
|
@ -0,0 +1,56 @@
|
||||
Square 2.0 Icon Pack Is Twice More Beautiful
|
||||
================================================================================
|
||||
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/03/Square_Icon_Pack_Linux_3.jpeg)
|
||||
|
||||
Elegant, modern looking [Square icon theme][1] has recently been upgraded to version 2.0, which makes it more beautiful than ever. Square icon packs are compatible with all major desktop environments such as **Unity, GNOME, KDE, MATE** etc. Which means that you can use them for all popular Linux distributions such as Ubuntu, Fedora, Linux Mint, elementary OS etc. The vastness of this icon pack can be estimated from the fact it contains over 15,000 icons.
|
||||
|
||||
### Install and use Square icon pack 2.0 in Linux ###
|
||||
|
||||
There are two variants of Square icons, dark and light. Based on your preference, you can choose either of the two. For experimentation sake, I would advise you to download both variants of the icon theme.
|
||||
|
||||
You can download the icon pack from the link below. The files are stored in Google Drive, so don’t be suspicious if you don’t see a standard website like [SourceForge][2].
|
||||
|
||||
- [Square Dark Icons][3]
|
||||
- [Square Light Icons][4]
|
||||
|
||||
To use the icon theme, extract the downloaded files in ~/.icons directory. If this doesn’t exist, create it. Once you have the files in the right place, based on your desktop environment, use a tool to change the icon theme. I have written some small tutorials in the past on this topic. Feel free to refer to them if you need further help:
|
||||
|
||||
- [How to change themes in Ubuntu Unity][5]
|
||||
- [How to change themes in GNOME Shell][6]
|
||||
- [How to change themes in Linux Mint][7]
|
||||
- [How to change theme in Elementary OS Freya][8]
|
||||
|
||||
### Give it a try ###
|
||||
|
||||
Here is what my Ubuntu 14.04 looks like with Square icons. I am using [Ubuntu 15.04 default wallpaper][9] in the background.
|
||||
|
||||
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/03/Square_Icon_Pack_Linux_2.jpeg)
|
||||
|
||||
A quick look at several icons in the Square theme:
|
||||
|
||||
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/03/Square_Icon_Pack_Linux.jpeg)
|
||||
|
||||
How do you find it? Do you think it can be considered as one of the [best icon themes for Ubuntu 14.04][10]? Do share your thoughts and stay tuned for more articles on customizing your Linux desktop.
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://itsfoss.com/square-2-0-icon-pack-linux/
|
||||
|
||||
作者:[Abhishek][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://itsfoss.com/author/abhishek/
|
||||
[1]:http://gnome-look.org/content/show.php/Square?content=163513
|
||||
[2]:http://sourceforge.net/
|
||||
[3]:http://gnome-look.org/content/download.php?content=163513&id=1&tan=62806435
|
||||
[4]:http://gnome-look.org/content/download.php?content=163513&id=2&tan=19789941
|
||||
[5]:http://itsfoss.com/how-to-install-themes-in-ubuntu-13-10/
|
||||
[6]:http://itsfoss.com/install-switch-themes-gnome-shell/
|
||||
[7]:http://itsfoss.com/install-icon-linux-mint/
|
||||
[8]:http://itsfoss.com/install-themes-icons-elementary-os-freya/
|
||||
[9]:http://itsfoss.com/default-wallpapers-ubuntu-1504/
|
||||
[10]:http://itsfoss.com/best-icon-themes-ubuntu-1404/
|
@ -0,0 +1,132 @@
|
||||
How to Install Telegram Messenger Application on Linux
|
||||
================================================================================
|
||||
Telegram is an Instant Messaging (IM) application similar to whatsapp. It has a very large user base. It has a lot of features that differentiate it from other messaging application.
|
||||
|
||||
![Install Telegram in Linux](http://www.tecmint.com/wp-content/uploads/2015/03/Install-Telegram-in-Linux.png)
|
||||
Telegram Messenger for Linux
|
||||
|
||||
This article aims at making you aware of telegram application followed by detailed installation instructions on Linux Box.
|
||||
|
||||
#### Features of Telegram ####
|
||||
|
||||
- Implementation for mobile devices
|
||||
- Available for Desktop.
|
||||
- Application Program Interface (API) of Telegram can be Accessed by third party developers.
|
||||
- Available for Android, iphone/ipad, Windows Phone, Web-Version, PC, Mac and Linux
|
||||
- The above application provides Heavily Encrypted and self destruct messages.
|
||||
- Lets you access your message from multiple devices and platform.
|
||||
- The overall processing and message delivery is lightening fast.
|
||||
- Distributed server across the globe for security and speed.
|
||||
- Open API and Free Protocol
|
||||
- NoAds, No Subscription charge. – Free forever.
|
||||
- Powerful – No limit to media and chats
|
||||
- Several security measures that make it safe from Hackers.
|
||||
- Reply to Specific message in group. Mention @username to notify multiple users in group.
|
||||
|
||||
#### Why Telegram? ####
|
||||
|
||||
When Applications like whatsapp and other IM are providing almost same things in bag, why should someone opt for Telegram?
|
||||
|
||||
Well Availability of API to third party developer is enough to say. Moreover availability for PC which means you won’t have to struggle typing message using your mobile, but you can use your PC and that is pretty more than sufficient.
|
||||
|
||||
Also The option to connect on remote locations, Co-ordinate – Group of upto 200 Members, Sync all your devices, Send – Documents of all kind, Encrypt message, Self destruction of message, Storage of Media in Cloud, Build own tool on freely available API and what not.
|
||||
|
||||
**Testing Environment**
|
||||
|
||||
We have used Debian GNU/Linux, x86_64 architecture to test it and the overall process went very smooth for us. Here what we did stepwise.
|
||||
|
||||
### Installation of Telegram Messenger in Linux ###
|
||||
|
||||
First go to the official Telegram site, and download Telegram source package ([tsetup.0.7.23.tar.xz][1]) for Linux system or you may use following wget command to download directly.
|
||||
|
||||
# wget https://updates.tdesktop.com/tlinux/tsetup.0.7.23.tar.xz
|
||||
|
||||
Once package has been downloaded, unpack the tarball and switch from current working directory to the extracted directory.
|
||||
|
||||
# tar -xf tsetup.0.7.23.tar.xz
|
||||
# cd Telegram/
|
||||
|
||||
Next, execute the binary file ‘Telegram’ from the command line as shown below.
|
||||
|
||||
# ./Telegram
|
||||
|
||||
1. The first Impression. Click “START MESSAGING”.
|
||||
|
||||
![Start Messaging](http://www.tecmint.com/wp-content/uploads/2015/03/Start-Messaging.jpeg)
|
||||
Start Messaging
|
||||
|
||||
2. Enter Your phone Number. Click “NEXT”. If you have not registered for telegram before this, using the same number as entered above you will get a warning that you don’t have a telegram account yet. Click “Register Here”.
|
||||
|
||||
![Signup for Telegram](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Register.png)
|
||||
Signup for Telegram
|
||||
|
||||
3. After submitting your phone number, telegram will send you a verification code, shortly. You need to Enter it.
|
||||
|
||||
![Telegram Verification Code](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Verfication-Code.png)
|
||||
Telegram Verification Code
|
||||
|
||||
4. Enter your First_Name, Last_name and pics and click “SIGNUP”.
|
||||
|
||||
![Enter Account Details](http://www.tecmint.com/wp-content/uploads/2015/03/Enter-Account-Details.jpeg)
|
||||
Enter Account Details
|
||||
|
||||
5. After account creation, I got this interface. Everything seems at its place, even when I am new to telegram Application. The interface is really simple.
|
||||
|
||||
![Telegram Interface](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Interface.jpeg)
|
||||
Telegram Interface
|
||||
|
||||
6. Click Add a contact and Enter Their first_name, last_name and Phone number. Click create when done!.
|
||||
|
||||
![Add New Telegram Contact](http://www.tecmint.com/wp-content/uploads/2015/03/Add-New-Telegram-Contact.png)
|
||||
Add New Telegram Contact
|
||||
|
||||
7. If the contact you added is not on telegram already, You get a warning message and telegram will acknowledge you when your contact joins telegram.
|
||||
|
||||
![Telegram Contact Notification](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Contact-Notification.jpeg)
|
||||
Telegram Contact Notification
|
||||
|
||||
8. As soon as the contact joins telegram you get a message (pop-out like) that reads [YOUR_CONTACT] joined telegram.
|
||||
|
||||
9. A formal chat window on Linux Machine. Nice experience…
|
||||
|
||||
![Telegram Contact Join Message](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Contact-Join-Message.jpeg)
|
||||
Telegram Contact Join Message
|
||||
|
||||
10. At the same time, I’ve tried messaging from my android mobile device, the interface looks similar on both.
|
||||
|
||||
![Telegram Mobile Interface](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Mobile-Interface.png)
|
||||
Telegram Mobile Interface
|
||||
|
||||
11. Telegram settings page. You have a lot of options to configure.
|
||||
|
||||
![Telegram Settings](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Settings.png)
|
||||
Telegram Settings
|
||||
|
||||
12. About Telegram.
|
||||
|
||||
![About Telegram](http://www.tecmint.com/wp-content/uploads/2015/03/About-Telegram.jpeg)
|
||||
About Telegram
|
||||
|
||||
#### Less Interesting Points ####
|
||||
|
||||
- Telegram usage protocol MTProto Mobile protocol.
|
||||
- Released Initially for iPhone in the year 2013 (August 14)..
|
||||
- People Behind this Amazing Project: Pavel and Nikolai Durov..
|
||||
|
||||
That’s all for now. I’ll be here again with another interesting article you will love to read. I take the pleasure on behalf of Tecmint to thank all our valuable readers and critics who made us stand where we are now through continuous self evolving process. Keep Connected! Keep Commenting. Share if you care for us.
|
||||
|
||||
- [https://telegram.org/][2]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.tecmint.com/install-telegram-in-linux/
|
||||
|
||||
作者:[Avishek Kumar][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.tecmint.com/author/avishek/
|
||||
[1]:https://tdesktop.com/linux
|
||||
[2]:https://telegram.org/
|
@ -1,99 +0,0 @@
|
||||
johnhoow translating...
|
||||
How to Install Lightweight Budgie ( v8) Desktop in Ubuntu 14.04
|
||||
================================================================================
|
||||
Budgie is the flagship desktop of the Evolve OS Linux Distribution, and is an Evolve OS project. Designed with the modern user in mind, it focuses on simplicity and elegance. A huge advantage for the Budgie desktop is that it is not a fork of another project, but rather one written from scratch with integration in mind.
|
||||
|
||||
The [Budgie Desktop][1] tightly integrates with the GNOME stack, employing underlying technologies to offer an alternative desktop experience. In the spirit of open source, the project is compatible with and available for other Linux distributions.
|
||||
|
||||
Also note that Budgie can now emulate the look and feel of the GNOME 2 desktop, optionally, via a setting in the panel preferences.
|
||||
|
||||
### Features in the 0.8 release ###
|
||||
|
||||
- IconTasklist: Add pinning support
|
||||
- IconTasklist: Use .desktop files for quicklists
|
||||
- IconTasklist: Use .desktop files for icon resolution
|
||||
- IconTasklist: Support “attention” hint (blue blink)
|
||||
- Panel: Support dark theme (used by default)
|
||||
- Add Menubar applet
|
||||
- Panel: Initial autohide support (manual, not automatic)
|
||||
- Panel: Support shadow onall screen edges
|
||||
- Panel: Dynamic support for gnome panel theming
|
||||
- RunDialog: Complete visual refresh (bootiful)
|
||||
- BudgieMenu: Add compact mode, use by default
|
||||
- BudgieMenu: Sort items by usage
|
||||
- BudgieMenu: Remove old power option
|
||||
- Editor: Add all menu options to UI
|
||||
- Support from GNOME 3.10 up to 3.16 (unreleased, git)
|
||||
- wm: Kill workspace animation (resolve after v8)
|
||||
- wm: Better animations for changing of wallpapers
|
||||
|
||||
### Important information ###
|
||||
|
||||
- Budgie [released version 0.8][2] so it is still in development and a beta.
|
||||
- No nnative network management; can be fixed by using Ubuntu's applet.
|
||||
- Budgie is intended for the Evolve OS so even with this PPA it might be buggy.
|
||||
- GNOME themes work better than the native Ubuntu themes.
|
||||
- Ubuntu’s overlay scrollbars are not working.
|
||||
- If you want to read more visit the Evolve OS website.
|
||||
|
||||
### Installation ###
|
||||
|
||||
Now, we'll install our Lightweight Budgie Desktop in our Ubuntu 14.04 LTS "Trusty" distribution of Linux Operating System. First of all, we'll need to add ppa repository to our Ubuntu PC. To do so, we'll need to execute the below command in a shell or terminal.
|
||||
|
||||
$ sudo add-apt-repository ppa:evolve-os/ppa
|
||||
|
||||
![Add Budgie Desktop PPA Repo](http://blog.linoxide.com/wp-content/uploads/2015/01/budgie-desktop-ppa.png)
|
||||
|
||||
Now, after we finish adding PPA to our Ubuntu Computer, we'll need to update the local repository index in it. It can be done by running the following command in the same terminal or shell after above is done.
|
||||
|
||||
$ sudo apt-get update
|
||||
|
||||
Then, finally, we'll install the one and only Budgie Desktop Environment in our Ubuntu machine running the latest version 14.04 LTS.
|
||||
|
||||
$ sudo apt-get install budgie-desktop
|
||||
|
||||
![Install Budgie Desktop](http://blog.linoxide.com/wp-content/uploads/2015/02/install-budgie-desktop.png)
|
||||
|
||||
**Notes**
|
||||
|
||||
It is in active development and features remain missing, including, but not limited to: no network management support, no volume control applet (keyboard keys will work fine), no notification system and no way to ‘pin’ apps to the task bar.
|
||||
|
||||
As a workaround you can disable overlay scrollbars, set a different default theme and quit a session from the terminal using the following command:
|
||||
|
||||
$ gnome-session-quit
|
||||
|
||||
![Quitting Gnome Session](http://blog.linoxide.com/wp-content/uploads/2015/02/gnome-seesion-quit.png)
|
||||
|
||||
### Log into the Budgie Session ###
|
||||
|
||||
After installation is completed, we’ll be able to select ‘Budgie’ from the session selector of the Unity Greeter. For that, we'll need to logout the current user and get back to the login screen. Then, we'll be able to switch to Budgie Desktop Environment.
|
||||
|
||||
![Select Desktop Session](http://blog.linoxide.com/wp-content/uploads/2015/02/session-select.png)
|
||||
|
||||
### Budgie Desktop Environment ###
|
||||
|
||||
![Budgie Desktop Environment](http://blog.linoxide.com/wp-content/uploads/2015/02/budgie-desktop.png)
|
||||
|
||||
### Logging Out ###
|
||||
|
||||
You can simply execute **budgie-session --logout** in a shell or terminal to logout it.
|
||||
|
||||
$ budgie-sessioon --logout
|
||||
|
||||
### Conclusion ###
|
||||
|
||||
Hurray! We have successfully installed our Lightweight Budgie Desktop Environment in our Ubuntu 14.04 LTS "Trusty" box. As we know, Budgie Desktop is still underdevelopment which makes it a lot of stuffs missing. Though it’s based on Gnome’s GTK3, it’s not a fork. The desktop is written completely from scratch, and the design is elegant and well thought out. If you have any questions, comments, feedback please do write on the comment box below and let us know what stuffs needs to be added or improved. Thank You! Enjoy Budgie Desktop 0.8 :-)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/ubuntu-how-to/install-lightweight-budgie-v8-desktop-ubuntu/
|
||||
|
||||
作者:[Arun Pyasi][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://linoxide.com/author/arunp/
|
||||
[1]:https://evolve-os.com/budgie/
|
||||
[2]:https://evolve-os.com/2014/11/16/courageous-budgie-v8-released/
|
@ -0,0 +1,41 @@
|
||||
How to enable ssh login without entering password
|
||||
================================================================================
|
||||
Assume that you are a user "aliceA" on hostA, and wish to ssh to hostB as user "aliceB", without entering her password on hostB. You can follow this guide to **enable ssh login without entering a password**.
|
||||
|
||||
First of all, you need to be logged in as user "aliceA" on hostA.
|
||||
|
||||
Generate a public/private rsa key pair by using ssh-keygen. The generated key pair will be stored in ~/.ssh directory.
|
||||
|
||||
$ ssh-keygen -t rsa
|
||||
|
||||
Then, create ~/.ssh directory on aliceB account at the destination hostB by running the following command. This step can be omitted if there is already .ssh directory at aliceB@hostB.
|
||||
|
||||
$ ssh aliceB@hostB mkdir -p .ssh
|
||||
|
||||
Finally, copy the public key of user "aliceA" on hostA to aliceB@hostB to enable password-less ssh.
|
||||
|
||||
$ cat .ssh/id_rsa.pub | ssh aliceB@hostB 'cat >> .ssh/authorized_keys'
|
||||
|
||||
From this point on, you no longer need to type in password to ssh to aliceB@hostB from aliceA@hostA.
|
||||
|
||||
### Troubleshooting ###
|
||||
|
||||
1. You are still asked for an SSH password even after enabling key authentication. In this case, check for system logs (e.g., /var/log/secure) to see if you see something like the following.
|
||||
|
||||
Authentication refused: bad ownership or modes for file /home/aliceB/.ssh/authorized_keys
|
||||
|
||||
In this case, failure of key authentication is due to the fact that the permission or ownership ~/.ssh/authorized_keys file is not correct. Typically this error can happen if ~/.ssh/authorized_keys is read accessible to anyone but yourself. To fix this problem, change the file permission as follows.
|
||||
|
||||
$ chmod 700 ~/.ssh/authorized_keys
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/how-to-enable-ssh-login-without.html
|
||||
|
||||
作者:[Dan Nanni][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://xmodulo.com/author/nanni
|
@ -0,0 +1,160 @@
|
||||
How to set up networking between Docker containers
|
||||
================================================================================
|
||||
As you may be aware, Docker container technology has emerged as a viable lightweight alternative to full-blown virtualization. There are a growing number of use cases of Docker that the industry adopted in different contexts, for example, enabling rapid build environment, simplifying configuration of your infrastructure, isolating applications in multi-tenant environment, and so on. While you can certainly deploy an application sandbox in a standalone Docker container, many real-world use cases of Docker in production environments may involve deploying a complex multi-tier application in an ensemble of multiple containers, where each container plays a specific role (e.g., load balancer, LAMP stack, database, UI).
|
||||
|
||||
There comes the problem of **Docker container networking**: How can we interconnect different Docker containers spawned potentially across different hosts when we do not know beforehand on which host each container will be created?
|
||||
|
||||
One pretty neat open-source solution for this is [weave][1]. This tool makes interconnecting multiple Docker containers pretty much hassle-free. When I say this, I really mean it.
|
||||
|
||||
In this tutorial, I am going to demonstrate **how to set up Docker networking across different hosts using weave**.
|
||||
|
||||
### How Weave Works ###
|
||||
|
||||
![](https://farm8.staticflickr.com/7288/16662287067_27888684a7_b.jpg)
|
||||
|
||||
Let's first see how weave works. Weave creates a network of "peers", where each peer is a virtual router container called "weave router" residing on a distinct host. The weave routers on different hosts maintain TCP connections among themselves to exchange topology information. They also establish UDP connections among themselves to carry inter-container traffic. A weave router on each host is then connected via a bridge to all other Docker containers created on the host. When two containers on different hosts want to exchange traffic, a weave router on each host captures their traffic via a bridge, encapsulates the traffic with UDP, and forwards it to the other router over a UDP connection.
|
||||
|
||||
Each weave router maintains up-to-date weave router topology information, as well as container's MAC address information (similar to switch's MAC learning), so that it can make forwarding decision on container traffic. Weave is able to route traffic between containers created on hosts which are not directly reachable, as long as two hosts are interconnected via an intermediate weave router on weave topology. Optionally, weave routers can be set to encrypt both TCP control data and UDP data traffic based on public key cryptography.
|
||||
|
||||
### Prerequisite ###
|
||||
|
||||
Before using weave on Linux, of course you need to set up Docker environment on each host where you want to run [Docker][2] containers. Check out [these][3] [tutorials][4] on how to create Docker containers on Ubuntu or CentOS/Fedora.
|
||||
|
||||
Once Docker environment is set up, install weave on Linux as follows.
|
||||
|
||||
$ wget https://github.com/zettio/weave/releases/download/latest_release/weave
|
||||
$ chmod a+x weave
|
||||
$ sudo cp weave /usr/local/bin
|
||||
|
||||
Make sure that /usr/local/bin is include in your PATH variable by appending the following in /etc/profile.
|
||||
|
||||
export PATH="$PATH:/usr/local/bin"
|
||||
|
||||
Repeat weave installation on every host where Docker containers will be deployed.
|
||||
|
||||
Weave uses TCP/UDP 6783 port. If you are using firewall, make sure that these port numbers are not blocked by the firewall.
|
||||
|
||||
### Launch Weave Router on Each Host ###
|
||||
|
||||
When you want to interconnect Docker containers across multiple hosts, the first step is to launch a weave router on every host.
|
||||
|
||||
On the first host, run the following command, which will create and start a weave router container.
|
||||
|
||||
$ sudo weave launch
|
||||
|
||||
The first time you run this command, it will take a couple of minutes to download a weave image before launching a router container. On successful launch, it will print the ID of a launched weave router.
|
||||
|
||||
To check the status of the router, use this command:
|
||||
|
||||
$ sudo weave status
|
||||
|
||||
![](https://farm9.staticflickr.com/8632/16249607573_4514790cf5_c.jpg)
|
||||
|
||||
Since this is the first weave router launched, there will be only one peer in the peer list.
|
||||
|
||||
You can also verify the launch of a weave router by using docker command.
|
||||
|
||||
$ docker ps
|
||||
|
||||
![](https://farm8.staticflickr.com/7655/16681964438_51d8b18809_c.jpg)
|
||||
|
||||
On the second host, run the following command, where we specify the IP address of the first host as a peer to join.
|
||||
|
||||
$ sudo weave launch <first-host-IP-address>
|
||||
|
||||
When you check the status of the router, you will see two peers: the current host and the first host.
|
||||
|
||||
![](https://farm8.staticflickr.com/7608/16868571891_e66d4b8841_c.jpg)
|
||||
|
||||
As you launch more routers on subsequent hosts, the peer list will grow accordingly. When launching a router, just make sure that you specify any previously launched peer's IP address.
|
||||
|
||||
At this point, you should have a weave network up and running, which consists of multiple weave routers across different hosts.
|
||||
|
||||
### Interconnect Docker Containers across Multiple Hosts ###
|
||||
|
||||
Now it is time to launch Docker containers on different hosts, and interconnect them on a virtual network.
|
||||
|
||||
Let's say we want to create a private network 10.0.0.0/24, to interconnect two Docker containers. We will assign random IP addressses from this subnet to the containers.
|
||||
|
||||
When you create a Docker container to deploy on a weave network, you need to use weave command, not docker command. Internally, the weave command uses docker command to create a container, and then sets up Docker networking on it.
|
||||
|
||||
Here is how to create a Ubuntu container on hostA, and attach the container to 10.0.0.0/24 subnet with an IP addresss 10.0.0.1.
|
||||
|
||||
hostA:~$ sudo weave run 10.0.0.1/24 -t -i ubuntu
|
||||
|
||||
On successful run, it will print the ID of a created container. You can use this ID to attach to the running container and access its console as follows.
|
||||
|
||||
hostA:~$ docker attach <container-id>
|
||||
|
||||
Move to hostB, and let's create another container. Attach it to the same subnet (10.0.0.0/24) with a different IP address 10.0.0.2.
|
||||
|
||||
hostB:~$ sudo weave run 10.0.0.2/24 -t -i ubuntu
|
||||
|
||||
Let's attach to the second container's console as well:
|
||||
|
||||
hostB:~$ docker attach <container-id>
|
||||
|
||||
At this point, those two containers should be able to ping each other via the other's IP address. Verify that from each container's console.
|
||||
|
||||
![](https://farm9.staticflickr.com/8566/16868571981_d73c8e401b_c.jpg)
|
||||
|
||||
If you check the interfaces of each container, you will see an interface named "ethwe" which is assigned an IP address (e.g., 10.0.0.1 and 10.0.0.2) you specified.
|
||||
|
||||
![](https://farm8.staticflickr.com/7286/16681964648_013f9594b1_b.jpg)
|
||||
|
||||
### Other Advanced Usages of Weave ###
|
||||
|
||||
Weave offers a number of pretty neat features. Let me briefly cover a few here.
|
||||
|
||||
#### Application Isolation ####
|
||||
|
||||
Using weave, you can create multiple virtual networks and dedicate each network to a distinct application. For example, create 10.0.0.0/24 for one group of containers, and 10.10.0.0/24 for another group of containers, and so on. Weave automatically takes care of provisioning these networks, and isolating container traffic on each network. Going further, you can flexibly detach a container from one network, and attach it to another network without restarting containers. For example:
|
||||
|
||||
First launch a container on 10.0.0.0/24:
|
||||
|
||||
$ sudo weave run 10.0.0.2/24 -t -i ubuntu
|
||||
|
||||
Detach the container from 10.0.0.0/24:
|
||||
|
||||
$ sudo weave detach 10.0.0.2/24 <container-id>
|
||||
|
||||
Re-attach the container to another network 10.10.0.0/24:
|
||||
|
||||
$ sudo weave attach 10.10.0.2/24 <container-id>
|
||||
|
||||
![](https://farm8.staticflickr.com/7639/16247212144_c31a49714d_c.jpg)
|
||||
|
||||
Now this container should be able to communicate with other containers on 10.10.0.0/24. This is a pretty useful feature when network information is not available at the time you create a container.
|
||||
|
||||
#### Integrate Weave Networks with Host Network ####
|
||||
|
||||
Sometimes you may need to allow containers on a virtual weave network to access physical host network. Conversely, hosts may want to access containers on a weave network. To support this requirement, weave allows weave networks to be integrated with host network.
|
||||
|
||||
For example, on hostA where a container is running on network 10.0.0.0/24, run the following command.
|
||||
|
||||
hostA:~$ sudo weave expose 10.0.0.100/24
|
||||
|
||||
This will assign IP address 10.0.0.100 to hostA, so that hostA itself is also connected to 10.0.0.0/24 network. Obviously, you need to choose an IP address which is not used by any other containers on the network.
|
||||
|
||||
At this point, hostA should be able to access any containers on 10.0.0.0/24, whether or not the containers are residing on hostA. Pretty neat!
|
||||
|
||||
### Conclusion ###
|
||||
|
||||
As you can see, weave is a pretty useful Docker networking tool. This tutorial only covers a glimpse of [its powerful features][5]. If you are more ambitious, you can try its multi-hop routing, which can be pretty useful in multi-cloud environment, dynamic re-routing, which is a neat fault-tolerance feature, or even its distributed DNS service which allows you to name containers on weave networks. If you decide to use this gem in your environment, feel free to share your use case!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/networking-between-docker-containers.html
|
||||
|
||||
作者:[Dan Nanni][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://xmodulo.com/author/nanni
|
||||
[1]:https://github.com/zettio/weave
|
||||
[2]:http://xmodulo.com/recommend/dockerbook
|
||||
[3]:http://xmodulo.com/manage-linux-containers-docker-ubuntu.html
|
||||
[4]:http://xmodulo.com/docker-containers-centos-fedora.html
|
||||
[5]:http://zettio.github.io/weave/features.html
|
@ -0,0 +1,102 @@
|
||||
Vic020
|
||||
|
||||
Linux FAQs with Answers--How to compress JPEG images from the command line on Linux
|
||||
================================================================================
|
||||
> **Question**: I have several JPEG photo images I have taken using a digital camera. I would like to optimize and compress the JPEG pictures before uploading them to Dropbox. What is the easiest way to compress JPEG images without losing their quality on Linux?
|
||||
|
||||
Image resolution of today's picture taking gadgets (e.g., smartphones, digital cameras) keeps increasing. Even 36.3 Megapixel Nikon D800 recently hit the consumer market, and this trend will continue. While modern gadgets continue to produce increasingly high resolution images, we may often want to post-process and compress their sizes before uploading them to a storage-limited and bandwidth-restricted cloud.
|
||||
|
||||
In fact, there is a way to compress JPEG images easily on Linux. A command-line tool called jpegoptim allows you do "lossless" optimization on JPEG images, so you can compress JPEG pictures without sacrificing their quality. In case your storage or bandwidth budget is really low, jpegoptim allows you to do "lossy" compression as well by adjusting image quality.
|
||||
|
||||
For those interested in compressing PNG images, refer to [this guideline][1] instead.
|
||||
|
||||
### Install Jpegoptim on Linux ###
|
||||
|
||||
To install jpegoptim on Ubuntu, Debian or Linux Mint:
|
||||
|
||||
$ sudo apt-get install jpegoptim
|
||||
|
||||
To install jpegoptim on Fedora:
|
||||
|
||||
$ sudo yum install jpegoptim
|
||||
|
||||
To install jpegoptim on CentOS/RHEL, first enable [EPEL repo][2], and then run:
|
||||
|
||||
$ sudo yum install jpegoptim
|
||||
|
||||
### Compress JPEG Images Losslessly ###
|
||||
|
||||
To compress a JPG picture losslessly, simply run:
|
||||
|
||||
$ jpegoptim photo.jpg
|
||||
|
||||
----------
|
||||
|
||||
photo.jpg 2048x1536 24bit N ICC JFIF [OK] 882178 --> 821064 bytes (6.93%), optimized.
|
||||
|
||||
Note that the original input image will be overwritten with a compressed impage.
|
||||
|
||||
If jpegoptim is not able to further optimize an image losselessly, it will skip overwriting it.
|
||||
|
||||
$ jpegoptim -v photo.jpg
|
||||
|
||||
----------
|
||||
|
||||
photo.jpg 2048x1536 24bit N ICC JFIF [OK] 821064 --> 821064 bytes (0.00%), skipped.
|
||||
|
||||
If you want to preserve an original image, use "-d" option to specify a target directory.
|
||||
|
||||
$ jpegoptim -d ./compressed photo.jpg
|
||||
|
||||
An compressed image will then be placed (with the same name as the input file) in ./compressed directory.
|
||||
|
||||
If you want to preserve file creation/modification time, use "-p" option as follows. Then a compressed image will be placed with the same date and time as the original image.
|
||||
|
||||
$ jpegoptim -d ./compressed -p photo.jpg
|
||||
|
||||
If you simply check out possible lossless compression ratio without actually compressing it, use "-n" option to "simulate" compression. Then it will simply print results without actually performing compression.
|
||||
|
||||
$ jpegoptim -n photo.jpg
|
||||
|
||||
### Compress JPEG Images Lossily ###
|
||||
|
||||
In case you really want to save storage space, you can do lossy compression on large JPEG pictures.
|
||||
|
||||
In this case, use "-m<maximum-quality>" option, where maximum quality is specified in the range of 0 and 100 (0 is the highest quality, and 100 is the lowest quality).
|
||||
|
||||
For example, to compress an image with 50% quality:
|
||||
|
||||
$ jpegoptim -m50 photo.jpg
|
||||
|
||||
----------
|
||||
|
||||
photo.jpg 2048x1536 24bit N ICC JFIF [OK] 882178 --> 301780 bytes (65.79%), optimized.
|
||||
|
||||
You will get a smaller image at the cost of reduced quality.
|
||||
|
||||
![](https://farm9.staticflickr.com/8707/16260736234_6d6f1d2434_c.jpg)
|
||||
|
||||
### Compress Multiple JPEG Images in a Batch ###
|
||||
|
||||
Often times you need to compress many JPEG image files in a directory. In that case, you can use the following shell script.
|
||||
|
||||
#!/bin/sh
|
||||
|
||||
# compress all *.jpg files in the current directory
|
||||
# and place them in ./compressed directory
|
||||
# with the same modification date as original files.
|
||||
for i in *.jpg; do jpegoptim -d ./compressed -p "$i"; done
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://ask.xmodulo.com/compress-jpeg-images-command-line-linux.html
|
||||
|
||||
作者:[Dan Nanni][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://ask.xmodulo.com/author/nanni
|
||||
[1]:http://xmodulo.com/how-to-compress-png-files-on-linux.html
|
||||
[2]:http://xmodulo.com/how-to-set-up-epel-repository-on-centos.html
|
@ -0,0 +1,121 @@
|
||||
Linux FAQs with Answers--How to install and access CentOS remote desktop on VPS
|
||||
================================================================================
|
||||
> **Question**: I want to install CentOS desktop on VPS, and be able to access the desktop GUI remotely from home. What is a recommended way to set up and access CentOS-based remote desktop on VPS?
|
||||
|
||||
Nowadays teleworking or remote working with flexible hours is increasingly popular in tech industry. One of the enabling technologies behind this trend is remote desktop. Your desktop environment is in the cloud, and you can access the remote desktop anywhere you go, either from home or at your workplace.
|
||||
|
||||
This tutorial describes how you can set up CentOS based remote desktop on VPS. Here we are going to demonstrate CentOS 7 based environment.
|
||||
|
||||
We assume that you already created a CentOS 7 VPS instance somewhere (e.g., using [DigitalOcean][1] or Amazon EC2). Make sure that the VPS instance has at least 1GB memory. Otherwise, CentOS desktop will crash when you try to access remote desktop.
|
||||
|
||||
### Step One: Install CentOS Desktop ###
|
||||
|
||||
If an available CentOS image is a minimal version of CentOS without desktop, you will need to install desktop (e.g., GNOME) on your CentOS VPS before proceeding. For example, DigitalOcean's CentOS image is such a minimal version, which requires [desktop GUI installation][2] as follows.
|
||||
|
||||
# yum groupinstall "GNOME Desktop"
|
||||
|
||||
Reboot a VPS after finishing installation.
|
||||
|
||||
### Step Two: Install and Configure VNC Server ###
|
||||
|
||||
The next step is to install and configure VNC server. We are going to use TigerVNC, an open-source VNC server implementation.
|
||||
|
||||
# yum install tigervnc-server
|
||||
|
||||
Now create a user account (e.g., xmodulo) which will be used to access remote desktop.
|
||||
|
||||
# useradd xmodulo
|
||||
# passwd xmodulo
|
||||
|
||||
When a user tries to access remote desktop using VNC, a dedicated VNC server daemon will be launched to handle its requests. This means that you will need to create a separate VNC server configuration for each user.
|
||||
|
||||
CentOS 7 relies on systemd to manage and configure system services. So we are going to configure VNC server for xmodulo user using systemd.
|
||||
|
||||
Let's first check the status of VNC server by running either command below:
|
||||
|
||||
# systemctl status vncserver@:.service
|
||||
# systemctl is-enabled vncserver@.service
|
||||
|
||||
By default, freshly installed VNC service is not active (disabled).
|
||||
|
||||
![](https://farm8.staticflickr.com/7613/16877514732_8ccffe7b6b_b.jpg)
|
||||
|
||||
Now create a VNC service configuration for xmodulo user by copying a generic VNC service unit file as follows.
|
||||
|
||||
# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
|
||||
|
||||
Open the configuration file with a text editor, and replace <USER> with an actual user name (e.g., xmodulo) under [Service] section. Also, append "-geometry <resolution>" parameter in ExecStart. In the end, the following two lines with bold font will be modified.
|
||||
|
||||
# vi /etc/systemd/system/vncserver@:1.service
|
||||
|
||||
----------
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
# Clean any existing files in /tmp/.X11-unix environment
|
||||
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
|
||||
ExecStart=/sbin/runuser -l xmodulo -c "/usr/bin/vncserver %i -geometry 1024x768"
|
||||
PIDFile=/home/xmodulo/.vnc/%H%i.pid
|
||||
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
|
||||
|
||||
Now set up (optional) VNC password for xmodulo user for security. For this, switch to the user, and run vncserver command.
|
||||
|
||||
# su - xmodulo
|
||||
# vncserver
|
||||
|
||||
You will be prompted to enter a VNC password for the user. Once the password is set, you will need to use this password to gain access to remote desktop.
|
||||
|
||||
![](https://farm9.staticflickr.com/8752/16692564599_9c4e5da1b6_b.jpg)
|
||||
|
||||
Finally, reload services to activate the new VNC configuration:
|
||||
|
||||
# systemctl daemon-reload
|
||||
|
||||
and enable VNC service to make it start automatically upon boot:
|
||||
|
||||
# systemctl enable vncserver@:1.service
|
||||
|
||||
Check the port number that a VNC server is listening on by running:
|
||||
|
||||
# netstat -tulpn | grep vnc
|
||||
|
||||
![](https://farm8.staticflickr.com/7625/16692646729_7bb16c4897_b.jpg)
|
||||
|
||||
Port 5901 is the default port number for VNC client to connect to a VNC server.
|
||||
|
||||
### Step Three: Connect to Remote Desktop over SSH ###
|
||||
|
||||
By design, Remote Frame Buffer (RFB) protocol used by VNC is not a secure protocol. Thus it is not a good idea to directly connect to a remote VNC server running on VPS using a VNC client. Any sensitive information such as password could easily be leaked from VNC traffic. So instead, I strongly recommend that you [tunnel VNC traffic][3] over a secure SSH tunnel, as described here.
|
||||
|
||||
On a local host where you want to run VNC client, create an SSH tunnel to a remote VPS using the following command. When prompted for SSH password, type the password of the user.
|
||||
|
||||
$ ssh xmodulo@<VPS-IP-address> -L 5901:127.0.0.1:5901
|
||||
|
||||
Replace "xmodulo" with your own VNC user, and fill in the IP address of your VPS instance.
|
||||
|
||||
Once an SSH tunnel is established, remote VNC traffic will be routed over the SSH tunnel, and be sent to 127.0.0.1:5901.
|
||||
|
||||
Now go ahead and launch your favorite VNC client (e.g., vinagre), and connect to 127.0.0.1:5901.
|
||||
|
||||
![](https://farm8.staticflickr.com/7639/16691289910_fae83510fb_o.png)
|
||||
|
||||
You will be asked to enter a VNC password. When you type a correct VNC password, you will finally be able to CentOS remote desktop on VPS securely.
|
||||
|
||||
![](https://farm8.staticflickr.com/7614/16877678411_aa8349f6b1_c.jpg)
|
||||
|
||||
![](https://farm9.staticflickr.com/8702/16256320434_81f9b5b70c_c.jpg)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://ask.xmodulo.com/centos-remote-desktop-vps.html
|
||||
|
||||
作者:[Dan Nanni][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://ask.xmodulo.com/author/nanni
|
||||
[1]:http://xmodulo.com/go/digitalocean
|
||||
[2]:http://xmodulo.com/how-to-install-gnome-desktop-on-centos.html
|
||||
[3]:http://xmodulo.com/how-to-set-up-vnc-over-ssh.html
|
@ -0,0 +1,130 @@
|
||||
4 Tools to Securely Delete Files from Linux
|
||||
================================================================================
|
||||
Any computer user with normal level skill set knows that any data removed from computer system can be recovered later with little bit of efforts. This is a good thing in the scenario when you have accidentally deleted your critical data. But in most cases, you don't want your private data to be recovered easily. Whenever we remove anything, the operating system deletes just the index of the particular data. It means that data is still there somewhere on the disk, this method is insecure, as any smart computer hacker can use any good data recovery tool to easily recover your deleted data. Linux users utilizes the well know “**rm**” command to remove data from their operating system, but “rm” command works in the conventional fashion. Data removed using this command can be recovered by special file recovery tools.
|
||||
|
||||
Let’s see how we can safely and completely remove files/folders from our Linux system. The methods mentioned below remove data completely so it becomes very hard for recovery tools to find traces of the actual data and recover it.
|
||||
|
||||
### Secure-Delete ###
|
||||
|
||||
Secure-Delete is a set of tools for Linux operating system and they provide advanced techniques for permanent removal of files. Once Secure-Delete has been installed on any Linux system, it provides following four commands:
|
||||
|
||||
- srm
|
||||
- smem
|
||||
- sfill
|
||||
- sswap
|
||||
|
||||
Run following command in the terminal to install it in ubuntu:
|
||||
|
||||
sudo apt-get install secure-delete
|
||||
|
||||
![secure delete](http://blog.linoxide.com/wp-content/uploads/2015/03/secure-delete.png)
|
||||
|
||||
Run following command to install it in RHEL, Fedora or Centos:
|
||||
|
||||
sudo yum install secure-delete
|
||||
|
||||
“**srm**” command works similarly to “rm” command, but instead of just deleting the file, it first overwrites it multiple times with some random data and then removes the file permanently. The syntax for this command is pretty simply, just specify the file or directory to remove and it will take care of the task.
|
||||
|
||||
sudo srm /home/aun/Documents/xueo/1.png
|
||||
|
||||
"**sfill**" checks the specified partition/directories for space marked as free or available, and then uses its algorithm to fill it up with some random data. In this way it ensures that there are no more recoverable files/folders on the partition.
|
||||
|
||||
sudo sfill /home
|
||||
|
||||
"**sswap**" command is used to securely wipe your swap partitions. Swap partition is used to store data for running programs. First of all find out your swap partition by running the following command:
|
||||
|
||||
cat /proc/swaps
|
||||
|
||||
Example output of above command is show below:
|
||||
|
||||
aun@eagle:~$ cat /proc/swaps
|
||||
Filename Type Size Used Priority
|
||||
/dev/sda5 partition 2084860 71216 -1
|
||||
|
||||
From here, you can see that swap is set to which partition, and then securely clean it by running the following command. Replace the "/dev/sda5" part with your partition name.
|
||||
|
||||
sudo sswap /dev/sda5
|
||||
|
||||
“**smem**” is used to clean the contents of memory, its true that RAM contents are cleaned when system is rebooted or powered off, but some residual traces of data still remain in the memory. This command provides secure memory cleaning, simly run smem command on the terminal.
|
||||
|
||||
smem
|
||||
|
||||
### Shred ###
|
||||
|
||||
"shred" command destroys files/folder’s contents in a way that it is impossible to recover. It keeps overwriting the files with randomly generated data patterns so in this way it becomes very hard to recover any data from them even if hackers or thief uses high level of data recovery tools/equipments. Shred is installed by default on all Linux distributions, if you want, you can find its installation path by running following command:
|
||||
|
||||
aun@eagle:~$ whereis shred
|
||||
|
||||
shred: /usr/bin/shred /usr/share/man/man1/shred.1.gz
|
||||
|
||||
Run following command to remove file using shred utility.
|
||||
|
||||
shred /home/aun/Documents/xueo/1.png
|
||||
|
||||
Run following command to securely remove any partition using shred ; Replace partition name with your desired partition.
|
||||
|
||||
shred /dev/sda5
|
||||
|
||||
Shred by default overwrites file with random contents 25 times. If you want it to overwrite file more than this, simply specify the desired number with "shred -n" option.
|
||||
|
||||
shred -n 100 filename
|
||||
|
||||
If you want to truncate and remove file after overwriting, use "shred -u" option
|
||||
|
||||
shred -u filename
|
||||
|
||||
### dd ###
|
||||
|
||||
This command is originally used for Disk Cloning. It is used to copy contents of one partition or disk to another. But it is also used for securely wiping out the contents of a hard disk or partitions. Run following command to overwrite your current data with random data.You don't need to install dd command, all Linux distributions include this command already.
|
||||
|
||||
sudo dd if=/dev/random of=/dev/sda
|
||||
|
||||
You can also overwrite the contents of hard disk or partitions by simply replacing everything with “zero”.
|
||||
|
||||
sudo dd if=/dev/zero of=/dev/sda
|
||||
|
||||
### Wipe ###
|
||||
|
||||
Wipe was originally developed to securely erase files from magnetic media. This command line utility writes special patterns to the files repeatedly. It uses fsync() call and/or the O_SYNC bit to force disk access. It uses Gutmann algorithm for repeated writes. You can remove contents of single file, folder or entire hard disk with this command, but whole hard disk format using wipe command will take good amount of time. The installation and use of this utility is pretty easy.
|
||||
|
||||
Install wipe on ubuntu by running the following command on the terminal.
|
||||
|
||||
sudo aptitude install wipe
|
||||
|
||||
![Wipe Linux](http://blog.linoxide.com/wp-content/uploads/2015/03/wipe.png)
|
||||
|
||||
Install Wipe in Redhat Linux, Centos or Fedora by running the following command:
|
||||
|
||||
sudo yum install wipe
|
||||
|
||||
Once the installation is complete, run following command on the terminal to get complete list of its available options:
|
||||
|
||||
man wipe
|
||||
|
||||
Remove any file or directory as:
|
||||
|
||||
wipe filename
|
||||
|
||||
Securely remove your tmp partition by running following command:
|
||||
|
||||
wipe -r /tmp
|
||||
|
||||
Use following command to remove contents of complete partition (replace partition name with your desired partition).
|
||||
|
||||
wipe /dev/sda1
|
||||
|
||||
### Conclusion ###
|
||||
|
||||
We hope you find this article useful, the privacy of your data is critical, its important to have such secure file removal utilities installed on your system so you may be able to remove your private data without fear of being recovered easily. All of the above mentioned tools are pretty lightweight, they take minimum system resources to run, and does not affect performance of your system in anyway. Enjoy!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/security/delete-files-permanatly-linux/
|
||||
|
||||
作者:[Aun Raza][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://linoxide.com/author/arunrz/
|
@ -0,0 +1,163 @@
|
||||
7 Quirky ‘ls’ Command Tricks Every Linux User Should Know
|
||||
================================================================================
|
||||
We have covered most of the things on ‘ls‘ command in last two articles of our Interview series. This article is the last part of the ‘ls command‘ series. If you have not gone through last two articles of this series you may visit the links below.
|
||||
|
||||
注:以下三篇都做过源文,看看翻译了没有,如果发布了可适当改链接地址
|
||||
- [15 Basic ‘ls’ Command Examples in Linux][]
|
||||
- [15 Interview Questions on Linux “ls” Command – Part 1][]
|
||||
- [10 Useful ‘ls’ Command Interview Questions – Part 2][]
|
||||
|
||||
![7 Quirky ls Command Tricks](http://www.tecmint.com/wp-content/uploads/2015/03/ls-command-tricks.jpg)
|
||||
7 Quirky ls Command Tricks
|
||||
|
||||
### 1. List the contents of a directory with time using various time styles. ###
|
||||
|
||||
To list the contents of a directory with times using style, we need to choose any of the below two methods.
|
||||
|
||||
# ls -l –time-style=[STYLE] (Method A)
|
||||
|
||||
**Note** – The above switch (`--time` style must be run with switch `-l`, else it won’t serve the purpose).
|
||||
|
||||
# ls –full-time (Method B)
|
||||
|
||||
Replace `[STYLE]` with any of the below option.
|
||||
|
||||
full-iso
|
||||
long-iso
|
||||
iso
|
||||
locale
|
||||
+%H:%M:%S:%D
|
||||
|
||||
**Note** – In the above line H(Hour), M(Minute), S(Second), D(Date) can be used in any order.
|
||||
|
||||
Moreover you just choose those relevant and not all options. E.g., `ls -l --time-style=+%H` will show only hour.
|
||||
|
||||
`ls -l --time-style=+%H:%M:%D` will show Hour, Minute and date.
|
||||
|
||||
# ls -l --time-style=full-iso
|
||||
|
||||
![ls Command Full Time Style](http://www.tecmint.com/wp-content/uploads/2015/03/ls-Command-Full-Time-Style.gif)
|
||||
ls Command Full Time Style
|
||||
|
||||
# ls -l --time-style=long-iso
|
||||
|
||||
![Long Time Style Listing](http://www.tecmint.com/wp-content/uploads/2015/03/Long-Time-Listing-Format.gif)
|
||||
Long Time Style Listing
|
||||
|
||||
# ls -l --time-style=iso
|
||||
|
||||
![Time Style Listing](http://www.tecmint.com/wp-content/uploads/2015/03/Local-Time-Style-Listing.gif)
|
||||
Time Style Listing
|
||||
|
||||
# ls -l --time-style=locale
|
||||
|
||||
![Locale Time Style Listing](http://www.tecmint.com/wp-content/uploads/2015/03/Hour-Mintue-Time-Style-Listing.gif)
|
||||
Locale Time Style Listing
|
||||
|
||||
# ls -l --time-style=+%H:%M:%S:%D
|
||||
|
||||
![Date and Time Style Listing](http://www.tecmint.com/wp-content/uploads/2015/03/Full-Time-Style-Listing.gif)
|
||||
Date and Time Style Listing
|
||||
|
||||
# ls --full-time
|
||||
|
||||
![Full Style Time Listing](http://www.tecmint.com/wp-content/uploads/2015/03/Full-Style-Time-Listing.gif)
|
||||
|
||||
Full Style Time Listing
|
||||
|
||||
### 2. Output the contents of a directory in various formats such as separated by commas, horizontal, long, vertical, across, etc. ###
|
||||
|
||||
Contents of directory can be listed using ls command in various format as suggested below.
|
||||
|
||||
- across
|
||||
- comma
|
||||
- horizontal
|
||||
- long
|
||||
- single-column
|
||||
- verbose
|
||||
- vertical
|
||||
|
||||
# ls –-format=across
|
||||
# ls --format=comma
|
||||
# ls --format=horizontal
|
||||
# ls --format=long
|
||||
# ls --format=single-column
|
||||
# ls --format=verbose
|
||||
# ls --format=vertical
|
||||
|
||||
![Listing Formats of ls Command](http://www.tecmint.com/wp-content/uploads/2015/03/ls-command-Listing-Formats.gif)
|
||||
Listing Formats of ls Command
|
||||
|
||||
### 3. Use ls command to append indicators like (/=@|) in output to the contents of the directory. ###
|
||||
|
||||
The option `-p` with ‘ls‘ command will server the purpose. It will append one of the above indicator, based upon the type of file.
|
||||
|
||||
# ls -p
|
||||
|
||||
![Append Indicators to Content](http://www.tecmint.com/wp-content/uploads/2015/03/Append-Indicators.gif)
|
||||
Append Indicators to Content
|
||||
|
||||
### 4. Sort the contents of directory on the basis of extension, size, time and version. ###
|
||||
|
||||
We can use options like `--extension` to sort the output by extension, size by extension `--size`, time by using extension `-t` and version using extension `-v`.
|
||||
|
||||
Also we can use option `--none` which will output in general way without any sorting in actual.
|
||||
|
||||
# ls --sort=extension
|
||||
# ls --sort=size
|
||||
# ls --sort=time
|
||||
# ls --sort=version
|
||||
# ls --sort=none
|
||||
|
||||
![Sort Listing of Content by Options](http://www.tecmint.com/wp-content/uploads/2015/03/Sort-Content-by-Extensions.gif)
|
||||
Sort Listing of Content by Options
|
||||
|
||||
### 5. Print numeric UID and GID for every contents of a directory using ls command. ###
|
||||
|
||||
The above scenario can be achieved using flag -n (Numeric-uid-gid) along with ls command.
|
||||
|
||||
# ls -n
|
||||
|
||||
![Print Listing of Content by UID and GID](http://www.tecmint.com/wp-content/uploads/2015/03/Print-UID-GID-of-Contents.gif)
|
||||
Print Listing of Content by UID and GID
|
||||
|
||||
### 6. Print the contents of a directory on standard output in more columns than specified by default. ###
|
||||
|
||||
Well ls command output the contents of a directory according to the size of the screen automatically.
|
||||
|
||||
We can however manually assign the value of screen width and control number of columns appearing. It can be done using switch ‘`--width`‘.
|
||||
|
||||
# ls --width 80
|
||||
# ls --width 100
|
||||
# ls --width 150
|
||||
|
||||
![List Content Based on Window Sizes](http://www.tecmint.com/wp-content/uploads/2015/03/List-Content-By-More-Column.gif)
|
||||
List Content Based on Window Sizes
|
||||
|
||||
**Note**: You can experiment what value you should pass with width flag.
|
||||
|
||||
### 7. Include manual tab size at the contents of directory listed by ls command instead of default 8. ###
|
||||
|
||||
# ls --tabsize=[value]
|
||||
|
||||
![List Content by Table Size](http://www.tecmint.com/wp-content/uploads/2015/03/List-Content-by-Table-Size.gif)
|
||||
List Content by Table Size
|
||||
|
||||
**Note**: Specify the `[Value]=` Numeric value.
|
||||
|
||||
That’s all for now. Stay tuned to Tecmint till we come up with next article. Do not forget to provide us with your valuable feedback in the comments below. Like and share us and help us get spread.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.tecmint.com/linux-ls-command-tricks/
|
||||
|
||||
作者:[Avishek Kumar][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.tecmint.com/author/avishek/
|
||||
[1]:http://www.tecmint.com/15-basic-ls-command-examples-in-linux/
|
||||
[2]:http://www.tecmint.com/ls-command-interview-questions/
|
||||
[3]:http://www.tecmint.com/ls-interview-questions/
|
@ -0,0 +1,113 @@
|
||||
How to Host Open Source Code Repository in github
|
||||
================================================================================
|
||||
Hi all, today we will be learning how to host Source Code of Open Source Software in the repository hosted by github.com . GitHub is a web-based Git repository hosting service, which offers all of the distributed revision control and source code management (SCM) functionality of Git as well as adding its own features. It provides a workplace to host powerful collaboration, code review, and code management for open source and private projects. Unlike Git, which is strictly a command-line tool, GitHub provides a web-based graphical interface and desktop as well as mobile integration. GitHub offers both paid plans for private repositories and free accounts, which are usually used to host open-source software projects.
|
||||
|
||||
![github universe logo](http://blog.linoxide.com/wp-content/uploads/2015/03/github-universe.jpg)
|
||||
|
||||
It is fast and more flexible web based hosting service which is easy to use and to manage distributed revision control. Anyone can host their software's source code in github's repository for the use, contribution, sharing, issue tracking and many more by millions of people across the globe. Here are some easy and quick steps to easily host software's source code.
|
||||
|
||||
### 1. Creating a new Github Account ###
|
||||
|
||||
First of all, open your favorite browser and go to Github's homepage url ie [github][1]. Then, the homepage will be opened as shown below.
|
||||
|
||||
![Github Homepage](http://blog.linoxide.com/wp-content/uploads/2015/03/github-homepage.png)
|
||||
|
||||
Now, after the homepage has been opened, please fill form shown to sign up for a new github account.
|
||||
|
||||
After the you entered the valid information required for sign up, you'll be redirected to the plan choosing step. We have 5 plans listed in this page. One can choose the plan according to their requirement. Here, we'll go for a free plan. So, click on Choose to the Free plan and click on Finish Sign up. If we are planning to create an organization then, we need to tick on Help me setup an organization next.
|
||||
|
||||
![choosing plan](http://blog.linoxide.com/wp-content/uploads/2015/03/choosing-plan.png)
|
||||
|
||||
### 2. Creating a New Repository ###
|
||||
|
||||
After we have successfully signed up a new account or logged in to Github, we'll now need to create a new Repository to get started.
|
||||
|
||||
Click on **(+)** button which is located at the top right near the account id. Then Click on New Repository .
|
||||
|
||||
![Add new repository](http://blog.linoxide.com/wp-content/uploads/2015/03/create-new-repository.png)
|
||||
|
||||
Now, after clicking on add a new repository, we'll now be directed to the page where we'll need to enter the required information.
|
||||
|
||||
![adding repository information](http://blog.linoxide.com/wp-content/uploads/2015/03/adding-information-repository.png)
|
||||
|
||||
Now, after entering the required information about the new repository, we'll need to click on green Create repository button.
|
||||
|
||||
After it is done, we'll get to see something similar like this image.
|
||||
|
||||
![repository github](http://blog.linoxide.com/wp-content/uploads/2015/03/repository-github.png)
|
||||
|
||||
### 3. Uploading an existing Project ###
|
||||
|
||||
If we want to share our existing project on Github, we'll surely need to push the codes to the repository we created. To do so, we'll first need to install git in our Linux machine. As I am running Ubuntu 14.04 LTS in my machine, I'll need to run **apt** manger to install it.
|
||||
|
||||
$ sudo apt-get install git
|
||||
|
||||
![installing git](http://blog.linoxide.com/wp-content/uploads/2015/03/install-git.png)
|
||||
|
||||
Now, as git is ready, we are now ready to upload the codes.
|
||||
|
||||
**Note**: To avoid errors, do not initialize the new repository with **README**, license, or gitignore files. You can add these files after your project has been pushed to GitHub.
|
||||
|
||||
In Terminal, we'll need to change the current working directory to your local project then initialize the local directory as a Git repository/
|
||||
|
||||
$ git init
|
||||
|
||||
We'll then add the files in our new local repository. This stages them for the first commit.
|
||||
|
||||
$ git add .
|
||||
|
||||
Now, we'll need to commit the files that we've staged in our local repository.
|
||||
|
||||
$ git commit -m 'First commit'
|
||||
|
||||
![git commit](http://blog.linoxide.com/wp-content/uploads/2015/03/git-commit.png)
|
||||
|
||||
In Terminal, we'll add the URL for the remote repository where our local repostory will be pushed.
|
||||
|
||||
$ git remote add origin remote Repository url
|
||||
$ git remote -v
|
||||
|
||||
![adding remote url](http://blog.linoxide.com/wp-content/uploads/2015/03/adding-remote-url.png)
|
||||
|
||||
Note: Please do replace remote Repository url to the url of the remote repo.
|
||||
|
||||
Now, to push the changes in our local repository to GitHub's repo we'll need to run as below and enter the required credential for the repository.
|
||||
|
||||
$ git push origin master
|
||||
|
||||
![pushing repo](http://blog.linoxide.com/wp-content/uploads/2015/03/pushing-repo.png)
|
||||
|
||||
### Cloning a Repo ###
|
||||
|
||||
If we want to download a code repository from github straight to our local drives with a single command then, we can simply use git clone command which will clone the current directory to the remote repository.
|
||||
|
||||
$ git clone https://github.com/aruntechgeek/linspeed.git
|
||||
|
||||
![cloning repo](http://blog.linoxide.com/wp-content/uploads/2015/03/cloning-repo.png)
|
||||
|
||||
Please change the above url to the repository you want to clone from.
|
||||
|
||||
### Updating a Change ###
|
||||
|
||||
If we made changes to our code and want to push them to our remote repository then after changing the changes, we should run the following commands inside that directory.
|
||||
|
||||
$ git add .
|
||||
$ git commit -m "Updating"
|
||||
$ git push
|
||||
|
||||
### Conclusion ###
|
||||
|
||||
Hurray! We have successfully hosted our Project Source Code in Github repository. Github is fast and more flexible web based hosting service which is easy to use and to manage distributed revision control. Millions of awesome Open Source projects are hosted in github. So, if you have any questions, suggestions, feedback please write them in the comment box below. Thank you ! Enjoy Github :-)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/usr-mgmt/host-open-source-code-repository-github/
|
||||
|
||||
作者:[Arun Pyasi][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://linoxide.com/author/arunp/
|
||||
[1]:http://github.com/
|
@ -0,0 +1,99 @@
|
||||
How to Interactively Create a Docker Container
|
||||
================================================================================
|
||||
Hi everyone, today we'll learn how we can interactively create a docker container using a docker image. Once we start a process in Docker from an Image, Docker fetches the image and its Parent Image, and repeats the process until it reaches the Base Image. Then the Union File System adds a read-write layer on top. That read-write layer, the information about its Parent Image and some other information like its unique id, networking configuration, and resource limits is called a **Container**. Containers has states as they can change from **running** to **exited** state. A container with state as **running** includes a tree of processes running on the CPU, isolated from the other processes running on the host where as **exited** is the state of the file system and its exit value is preserved. You can start, stop, and restart a container with it.
|
||||
|
||||
Docker Technology has brought a remarkable change in the field of IT enabling cloud service for sharing applications and automating workflows, enabling apps to be quickly assembled from components and eliminates the friction between development, QA, and production environments. In this article, we'll build CentOS Instance in which we'll host a website running under Apache Web Server.
|
||||
|
||||
Here is quick and easy tutorial on how we can create a container in an interactive method using an interactive shell.
|
||||
|
||||
### 1. Running a Docker Instance ###
|
||||
|
||||
Docker initially tries to fetch and run the required image locally and if its not found in local host the it pulls from the [Docker Public Registry Hub][1] . Here. we'll fetch and create a fedora instance in a Docker Container and attach a bash shell to the tty.
|
||||
|
||||
# docker run -i -t fedora bash
|
||||
|
||||
![Downloading Fedora Base Image](http://blog.linoxide.com/wp-content/uploads/2015/03/downloading-fedora-base-image.png)
|
||||
|
||||
### 2. Installing Apache Web Server ###
|
||||
|
||||
Now, after our Fedora base image with instance is ready, we'll now gonna install Apache Web Server interactively without creating a Dockerfile for it. To do so, we'll need to run the following commands in a terminal or shell.
|
||||
|
||||
# yum update
|
||||
|
||||
![Updating Fedora Base Image](http://blog.linoxide.com/wp-content/uploads/2015/03/updating-fedora-base-image.png)
|
||||
|
||||
# yum install httpd
|
||||
|
||||
![Installing httpd](http://blog.linoxide.com/wp-content/uploads/2015/03/installing-httpd2.png)
|
||||
|
||||
# exit
|
||||
|
||||
### 3. Saving the Image ###
|
||||
|
||||
Now, we'll gonna save the changes we made into the Fedora Instance. To do that, we'll first gonna need to know the Container ID of the Instance. To get that we'll need to run the following command.
|
||||
|
||||
# docker ps -a
|
||||
|
||||
![Docker Running Container](http://blog.linoxide.com/wp-content/uploads/2015/03/docker-running-container.png)
|
||||
|
||||
Then, we'll save the changes as a new image by running the below command.
|
||||
|
||||
# docker commit c16378f943fe fedora-httpd
|
||||
|
||||
![committing fedora httpd](http://blog.linoxide.com/wp-content/uploads/2015/03/committing-fedora-httpd.png)
|
||||
|
||||
Here, the changes are saved using the Container ID and image name fedora-httpd. To make sure that the new image is running or not, we'll run the following command.
|
||||
|
||||
# docker images
|
||||
|
||||
![view docker images](http://blog.linoxide.com/wp-content/uploads/2015/03/view-docker-images.png)
|
||||
|
||||
### 4. Adding the Contents to the new image ###
|
||||
|
||||
As we have our new Fedora Apache image running successfully, now we'll want to add the web contents which includes our website to Apache Web Server so that our website will run successfully out of the box. To do so, we'll need to create a new Dockerfile which will handle the operation from copying web contents to allowing port 80. To do so, we'll need to create a file Dockerfile using our favorite text editor as shown below.
|
||||
|
||||
# nano Dockerfile
|
||||
|
||||
Now, we'll need to add the following lines into that file.
|
||||
|
||||
FROM fedora-httpd
|
||||
ADD mysite.tar /tmp/
|
||||
RUN mv /tmp/mysite/* /var/www/html
|
||||
EXPOSE 80
|
||||
ENTRYPOINT [ "/usr/sbin/httpd" ]
|
||||
CMD [ "-D", "FOREGROUND" ]
|
||||
|
||||
![configuring Dockerfile](http://blog.linoxide.com/wp-content/uploads/2015/03/configuring-Dockerfile.png)
|
||||
|
||||
Here, in above Dockerfile, the web content which we have in mysite.tar will get automatically extracted to /tmp/ folder. Then, the entire site will move to the Apache Web root ie /var/www/html/ and the expose 80 will open port 80 so that the website will be available normally. Then, the entrypoint is set to /usr/sbin/httpd so that the Apache Server will execute.
|
||||
|
||||
### 5. Building and running a Container ###
|
||||
|
||||
Now, we'll build our Container using the Dockerfile we just created in order to add our website on it. To do so, we'll need to run the following command.
|
||||
|
||||
# docker build -rm -t mysite .
|
||||
|
||||
![Building mysite Image](http://blog.linoxide.com/wp-content/uploads/2015/03/building-mysite-image.png)
|
||||
|
||||
After building our new container, we'll want to run the container using the command below.
|
||||
|
||||
# docker run -d -P mysite
|
||||
|
||||
![Running mysite Container](http://blog.linoxide.com/wp-content/uploads/2015/03/running-mysite-container.png)
|
||||
|
||||
### Conclusion ###
|
||||
|
||||
Finally, we've successfully built a Docker Container interactively. In this method, we build our containers and image directly via interactive shell commands. This method is quite easy and quick to build and deploy our images and containers. If you have any questions, suggestions, feedback please write them in the comment box below so that we can improve or update our contents. Thank you ! Enjoy :-)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/linux-how-to/interactively-create-docker-container/
|
||||
|
||||
作者:[Arun Pyasi][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://linoxide.com/author/arunp/
|
||||
[1]:https://registry.hub.docker.com/
|
@ -0,0 +1,60 @@
|
||||
Prips – Print IP address on a given range
|
||||
================================================================================
|
||||
prips is a tool that can be used to print all of the IP address on a given range. It can enhance the usability of tools that are made to work on only one host at a time.
|
||||
|
||||
### Install Prips on ubuntu ###
|
||||
|
||||
Open the terminal and run the following command
|
||||
|
||||
sudo apt-get install prips
|
||||
|
||||
### Using prips ###
|
||||
|
||||
### prips syntax ###
|
||||
|
||||
prips [-c] [-d delim] [-e exclude] [-f format] [-i incr] start end
|
||||
prips [-c] [-d delim] [-e exclude] [-f format] [-i incr] CIDR-block
|
||||
|
||||
### Available Options ###
|
||||
|
||||
The prips tool accepts the following command-line options:
|
||||
|
||||
- -c -- Print the range in CIDR notation.
|
||||
- -d delim -- Set the delimiter to the character with ASCII code delim where 0 <= delim <= 255.
|
||||
- -e -- Exclude ranges from the output.
|
||||
- -f format -- Set the format of addresses (hex, dec, or dot).
|
||||
- -i incr -- Set the increment to ‘x'.
|
||||
|
||||
### Prips Examples ###
|
||||
|
||||
Display all the addresses in a reserved subnet:
|
||||
|
||||
prips 192.168.32.0 192.168.32.255
|
||||
|
||||
The same, using CIDR notation:
|
||||
|
||||
prips 192.168.32/24
|
||||
|
||||
Display only the usable addresses in a class A reserved subnet using a space instead of a newline for a delimiter:
|
||||
|
||||
prips -d 32 10.0.0.1 10.255.255.255
|
||||
|
||||
Display every fourth address in a weird block:
|
||||
|
||||
prips -i 4 192.168.32.7 192.168.33.5
|
||||
|
||||
Determine the smallest CIDR block containing two addresses:
|
||||
|
||||
prips -c 192.168.32.5 192.168.32.11
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.ubuntugeek.com/prips-print-ip-address-on-a-given-range.html
|
||||
|
||||
作者:[ruchi][a]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.ubuntugeek.com/author/ubuntufix
|
@ -1,196 +0,0 @@
|
||||
在linux中如何通过nload来监控网络使用情况
|
||||
================================================================================
|
||||
nload 是一个免费的linux工具,通过提供两个简单的图形化界面来帮助linux用户和系统管理员来实时监控网络流量以及宽带使用情况:一个作为进入流量,一个作为流出流量.
|
||||
|
||||
我是真的很喜欢用**nload**来在屏幕上显示当前的下载速度,总的流入量和平均下载速度等信息。nload工具的报告图非常容易理解,最重要的是这些信息真的非常有用。
|
||||
|
||||
|
||||
|
||||
在使用手册上说到,在默认情况下会监控所有网络设备。但是你可以轻松地指定你想要监控的设备,而且可以可以通过方向键头在不同的网络设备之间进行转换。另外还有很多的选项可用,例如 ‘-r’选项确定以毫秒来刷新显示时间间隔(默认时间间隔值是500毫秒),‘-m’选项用来实时显示多个设备(流量图在使用该选项时不会显示), ‘-u’选项用来设置显示流量数字的单元类型,另外还有许多其他的选项将会在该教程中探索和练习。
|
||||
|
||||
### 如何将 nload安装到你的linux机器上 ###
|
||||
|
||||
**Ubuntu** 和 **Fedora** 用户可以从默认的软件仓库中容易地安装。
|
||||
|
||||
在Ubuntu上使用以下命令进行安装。
|
||||
|
||||
sudo apt-get install nload
|
||||
|
||||
在Fedora上使用以下命令进行安装。
|
||||
|
||||
sudo yum install nload
|
||||
|
||||
**CentOS**用户该怎么办呢? 只需要在你的机器上输入以下命令,通用能够达到相同的结果--殊途同归。
|
||||
|
||||
sudo yum install nload
|
||||
|
||||
以下的命令会帮助你在OpenBSD系统中安装nload.
|
||||
|
||||
sudo pkg_add -i nload
|
||||
|
||||
linux机器上的另外一个非常有效的安装软件的方式就是编译源代码,通过下载并安装最新的版本意味着能够获得更好地性能,更酷的特性以及越少的bug数。
|
||||
|
||||
### 如何通过源代码安装nload ###
|
||||
|
||||
在从源代码安装nload之前,你需要首先下载源代码。 我通常使用wget工具来进行下载--该工具在许多linux机器上默认可用。该免费工具帮助用户以非交互式的方式从网络上下载文件,并支持以下协议:
|
||||
|
||||
- HTTP
|
||||
- HTTPS
|
||||
- FTP
|
||||
|
||||
通过以下命令来进入到**/tmp**目录中。
|
||||
|
||||
cd /tmp
|
||||
|
||||
然后在你的终端中输入以下命令就可以将最新版本的nload下载到你的linux机器上了。
|
||||
|
||||
wget http://www.roland-riegel.de/nload/nload-0.7.4.tar.gz
|
||||
|
||||
如果你不喜欢使用wget工具,也可以通过简单的一个鼠标点击轻松地从[官网][1]上下载源代码。
|
||||
|
||||
由于该软件非常轻巧,其下载过程几乎在瞬间就会完成。接下来的步骤就是通过**tar**工具来将下载的源代码包进行解压。
|
||||
|
||||
tar归档工具可以用来从磁带或硬盘文档中存储或解压文件,该工具具有许多可用的选项,但是我们只需要下面的几个选项来执行我们的操作。
|
||||
|
||||
1. **-x** to extract files from an archive
|
||||
1. **-x** 从文档中解压文件
|
||||
1. **-v** to run in verbose mode
|
||||
1. **-v** 使用繁琐模式运行--用来输入详细信息
|
||||
1. **-f** to specify the files
|
||||
1. **-f** 用来指定文件
|
||||
|
||||
例如:
|
||||
|
||||
tar xvf example.tar
|
||||
|
||||
现在你学会了如何使用tar工具,我可以非常肯定你会知道如何从命令行中解压.tar文档。
|
||||
|
||||
tar xvf nload-0.7.4.tar.gz
|
||||
|
||||
之后使用cd命令来进入到nload*目录中
|
||||
|
||||
cd nload*
|
||||
|
||||
在我的系统上看起来是这样的
|
||||
|
||||
oltjano@baby:/tmp/nload-0.7.4$
|
||||
|
||||
然后运行下面这个命令来为你的系统配置包
|
||||
|
||||
./configure
|
||||
|
||||
此时会有一大波僵尸会在你的屏幕上显示出来,下面的一个屏幕截图描述了它的样子。
|
||||
|
||||
![configuring packages for nload](http://blog.linoxide.com/wp-content/uploads/2015/01/nload1.png)
|
||||
|
||||
在上述命令完成之后,通过下面的命令来编译nload。
|
||||
|
||||
make
|
||||
|
||||
![compiling nload](http://blog.linoxide.com/wp-content/uploads/2015/01/nload2.png)
|
||||
|
||||
好了,终于....,下载通过以下命令可以将nload安装在你的机器上了。
|
||||
|
||||
sudo make install
|
||||
|
||||
![installing nload from source](http://blog.linoxide.com/wp-content/uploads/2015/01/nload3.png)
|
||||
|
||||
安装好nload之后就是时间来让你学习如何使用它了。
|
||||
|
||||
###如何使用nload###
|
||||
|
||||
我喜欢探索,所以在你的终端输入以下命令.
|
||||
|
||||
nload
|
||||
|
||||
看到了什么?
|
||||
|
||||
我得到了下面的结果。
|
||||
|
||||
![running nload](http://blog.linoxide.com/wp-content/uploads/2015/01/nload4.png)
|
||||
|
||||
如上述截图可以看到,我得到了以下信息:
|
||||
### 流入量###
|
||||
|
||||
#### 当前下载速度####
|
||||
![nload running on linux](http://blog.linoxide.com/wp-content/uploads/2015/01/nload4.1.png)
|
||||
|
||||
#### 平均下载速度####
|
||||
![nload running on linux](http://blog.linoxide.com/wp-content/uploads/2015/01/nload4.2.png)
|
||||
|
||||
#### 最小下载速度####
|
||||
![nload running on linux](http://blog.linoxide.com/wp-content/uploads/2015/01/nload4.3.png)
|
||||
|
||||
#### 最大下载速度####
|
||||
![nload running on linux](http://blog.linoxide.com/wp-content/uploads/2015/01/nload4.4.png)
|
||||
|
||||
#### 总的流入量按字节进行显示####
|
||||
![](http://blog.linoxide.com/wp-content/uploads/2015/01/nload4.5.png)
|
||||
|
||||
### 流出量 ###
|
||||
|
||||
类似的同样适用于流出量
|
||||
#### 一些nload有用的选项####
|
||||
|
||||
使用选项
|
||||
-u
|
||||
|
||||
用来设置显示流量单元的类型.
|
||||
|
||||
下面的命令会帮助你使用MBit/s显示单元
|
||||
nload -u m
|
||||
|
||||
下面的屏幕截图显示了上述命令的结果.
|
||||
![nload running on linux](http://blog.linoxide.com/wp-content/uploads/2015/01/nload5.png)
|
||||
|
||||
尝试以下命令然后看看有什么结果.
|
||||
|
||||
nload -u g
|
||||
|
||||
![nload running on linux](http://blog.linoxide.com/wp-content/uploads/2015/01/nload6.png)
|
||||
|
||||
同时还有一个**-U**选项.根据手册描述,该选项基本上与-u选项类似,只是用在合计数据. 我测试了这个命令,老实说,当你需要检查总的流入与流出量时非常有用.
|
||||
|
||||
nload -U G
|
||||
|
||||
![nload running on linux](http://blog.linoxide.com/wp-content/uploads/2015/01/nload7.png)
|
||||
|
||||
从上面的截图中可以看到,**nload -U G** 使用Gbyte来显示数据总量.
|
||||
|
||||
另外一个我喜欢使用的有用选项是 **-t**. 该选项用来设置刷新显示事件间隔为毫秒,默认值为500毫秒.
|
||||
|
||||
我会通过下面的命令做一些小的实验.
|
||||
nload -t 130
|
||||
|
||||
那么上述命令做了什么呢,它讲刷新显示时间间隔设置为130毫秒. 通常推荐不要讲该时间间隔值设置为小于100毫秒,因为nload在计算过程中可能会生成带错的报告.
|
||||
|
||||
另外的一个选项为 **-a**. 在你想要设置计算平均值的时间窗口秒数长度时使用,默认该值为300秒.
|
||||
|
||||
那么当你想要监控指定的网络设备该如何呢? 非常容易, 想下面这样简单地指定设备或者列出想要监控的设备列表.
|
||||
|
||||
nload wlan0
|
||||
|
||||
![nload monitoring wlan0 on linux](http://blog.linoxide.com/wp-content/uploads/2015/01/nload8.png)
|
||||
|
||||
下面的语法可帮助你监控指定的多个设备.
|
||||
|
||||
nload [options] device1 device2 devicen
|
||||
|
||||
例如,使用下面的命令来监控eth0和eth1.
|
||||
|
||||
nload wlan0 eth0
|
||||
|
||||
如果不带选项来运行nload,那么它会监控监控所有自动检测到的设备,你可以通过左右方向键来显示其中的任何一个设备的信息.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/monitoring-2/monitor-network-usage-nload/
|
||||
|
||||
作者:[Oltjano Terpollari][a]
|
||||
译者:[theo-l](https://github.com/theo-l)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://linoxide.com/author/oltjano/
|
||||
[1]:http://www.roland-riegel.de/nload/nload-0.7.4.tar.gz
|
@ -1,111 +0,0 @@
|
||||
系统性能优化支招:使用Ramlog将日志文件转移到RAM
|
||||
================================================================================
|
||||
Ramlog以系统守护进程的形式存在。它系统启动的时候创建了虚拟磁盘(ramdisk),将文件从目录/var/log复制到虚拟磁盘中,同时把虚拟磁盘挂载为/var/log。接着更新虚拟磁盘上所有的日志。硬盘上的日志会保留在目录/var/log中,直到ramlog重启或停止时被更新。而关机的时候,(ramdisk上的)日志文件会重新保存到硬盘上,以确保日志一致性。Ramlog 2.x默认使用tmpfs文件系统,同时也可以支持ramfs和内核ramdisk。使用rsync(译注:Linux数据镜像备份工具)这个工具来同步日志。
|
||||
|
||||
注意:没有保存进硬盘的日志将在断电或者内核混乱(kernel panic)的情况下丢失。
|
||||
|
||||
如果你拥有空间足够的可用内存,而又想把日志放进虚拟磁盘,就安装ramlog吧。它是笔记本用户、UPS系统或是直接在flash中运行的系统节省写周期的优良选择。
|
||||
|
||||
Ramlog的运行机制以及步骤:
|
||||
|
||||
1.Ramlog在第一个守护进程(这取决于你所安装过的其它守护进程)的基础上启动。
|
||||
|
||||
2.然后创建目录/var/log.hdd并将其硬链至/var/log。
|
||||
|
||||
3.如果使用的是tmpfs(默认)或者ramfs之一的文件系统,将其挂载到/var/log上。
|
||||
|
||||
而如果使用的是内核ramdisk,ramdisk将在/dev/ram9中创建,并将挂载至/var/log。默认情况下ramlog会占用所有ramdisk的内存,其大小由内核参数"ramdisk_size"指定。
|
||||
|
||||
5.接着其它的守护进程被启动,并在ramdisk中更新日志。Logrotate(译注:Linux日志轮替工具)也是在ramdiks之上运行。
|
||||
|
||||
6.重启(默认一天一次)ramlog时,目录/var/log.hdd将借助rsync与/var/log保持同步。日志自动保存的频率可以通过cron(译注:Linux例行性工作调度)来控制。默认情况下,ramlog文件放置在目录/etc/cron.daily下。
|
||||
|
||||
7.系统关机时,ramlog在最后一个守护进程关闭之前关闭。
|
||||
|
||||
在ramlog关闭期间,/var/log.hdd中的文件将被同步至/var/log,接着/var/log和/var/log.hdd都被卸载,然后删除空目录/var/log.hdd。
|
||||
|
||||
**注意:- 此文仅面向高级用户**
|
||||
|
||||
### 在Ubuntu中安装Ramlog ###
|
||||
|
||||
首先需要用以下命令,从[这里][1]下载.deb安装包:
|
||||
|
||||
wget http://www.tremende.com/ramlog/download/ramlog_2.0.0_all.deb
|
||||
|
||||
下载ramlog_2.0.0_all.deb安装包完毕,使用以下命令进行安装:
|
||||
|
||||
sudo dpkg -i ramlog_2.0.0_all.deb
|
||||
|
||||
这一步会完成整个安装,现在你需要运行以下命令:
|
||||
|
||||
sudo update-rc.d ramlog start 2 2 3 4 5 . stop 99 0 1 6 .
|
||||
|
||||
#现在,在初始状态下升级sysklogd,使之能在ramlog停止运行前正确关闭:
|
||||
|
||||
sudo update-rc.d -f sysklogd remove
|
||||
|
||||
sudo update-rc.d sysklogd start 10 2 3 4 5 . stop 90 0 1 6 .
|
||||
|
||||
然后重启系统:
|
||||
|
||||
sudo reboot
|
||||
|
||||
系统重启完毕,运行'ramlog getlogsize'获取/var/log的空间大小。在此基础之上多分配40%的空间,确保ramdisk有足够的空间(这整个都将作为ramdisk的空间大小)。
|
||||
|
||||
编辑引导配置文件,如/etc/grub.conf,、/boot/grub/menu.lst 或/etc/lilo.conf(译注:具体哪个配置文件视不同引导加载程序而定),kernel参数新增项'ramdisk_size=xxx'以更新当前内核,其中xxx是ramdisk的空间大小。
|
||||
|
||||
### 配置Ramlog ###
|
||||
|
||||
基于deb的系统中,Ramlog的配置文件位于/etc/default/ramlog,你可以在该目录下设置以下变量:
|
||||
|
||||
Variable (with default value):
|
||||
|
||||
Description:
|
||||
|
||||
RAMDISKTYPE=0
|
||||
# Values:
|
||||
# 0 -- tmpfs (can be swapped) -- default
|
||||
# 1 -- ramfs (no max size in older kernels,
|
||||
# cannot be swapped, not SELinux friendly)
|
||||
# 2 -- old kernel ramdisk
|
||||
TMPFS_RAMFS_SIZE=
|
||||
#Maximum size of memory to be used by tmpfs or ramfs.
|
||||
# The value can be percentage of total RAM or size in megabytes -- for example:
|
||||
# TMPFS_RAMFS_SIZE=40%
|
||||
# TMPFS_RAMFS_SIZE=100m
|
||||
# Empty value means default tmpfs/ramfs size which is 50% of total RAM.
|
||||
# For more options please check ‘man mount', section ‘Mount options for tmpfs'
|
||||
# (btw -- ramfs supports size limit in newer kernels
|
||||
# as well despite man says there are no mount options)
|
||||
# It has only effect if RAMDISKTYPE=0 or 1
|
||||
KERNEL_RAMDISK_SIZE=MAX
|
||||
#Kernel ramdisk size in kilobytes or MAX to use entire ramdisk.
|
||||
#It has only effect if RAMDISKTYPE=2
|
||||
LOGGING=1
|
||||
# 0=off, 1=on Logs can be found in /var/log/ramdisk
|
||||
LOGNAME=ramlog
|
||||
# name of the ramlog log file (makes sense if LOGGING=1)
|
||||
VERBOSE=1
|
||||
# 0=off, 1=on (if 1, teststartstop puts detials
|
||||
# to the logs and it is called after start or stop fails)
|
||||
|
||||
### 在Ubuntu中卸载ramlog ###
|
||||
|
||||
打开终端运行以下命令:
|
||||
|
||||
sudo dpkg -P ramlog
|
||||
|
||||
注意:如果ramlog卸载之前仍在运行,需要重启系统完成整个卸载工作。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.ubuntugeek.com/improve-system-performance-by-moving-your-log-files-to-ram-using-ramlog.html
|
||||
|
||||
作者:[ruchi][a]
|
||||
译者:[soooogreen](https://github.com/soooogreen)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://www.ubuntugeek.com/author/ubuntufix
|
||||
[1]:http://www.tremende.com/ramlog/download/ramlog_2.0.0_all.deb
|
@ -0,0 +1,97 @@
|
||||
如何在ubuntu14.04上安装轻量级的Budgie桌面(v8)
|
||||
================================================================================
|
||||
Budgie是为Linux发行版定制的旗舰桌面,也是一个定制工程。为思想前卫的用户设计,致力于简单和简洁。它的一个巨大优势是它不是别的项目的fork版本,是从都到尾都独立的。
|
||||
|
||||
[Budgie桌面][1]与GNOME栈紧密结合,使用先进的技术从而提供一个可选择的桌面体验。出于开源理念,这个桌面之后也能在别的Linux发行版中看到。
|
||||
|
||||
现在Budgie能够通过面板的设置达到和GNOME2桌面相似的使用体验。
|
||||
|
||||
### 0.8版的特点 ###
|
||||
|
||||
- 任务栏:支持应用锁定到任务栏
|
||||
- 任务栏:使用.desktop文件来配置quicklists菜单
|
||||
- 任务栏:使用.desktop文件来配置图标分辨率
|
||||
- 任务栏:支持有通知时蓝色闪烁
|
||||
- 面板:支持默认深色主体
|
||||
- 添加菜单条的小组件
|
||||
- 面板:自动隐藏菜单条和工具条(这配置为手动)
|
||||
- 面板:支持屏幕边缘处阴影
|
||||
- 面板:动态支持gnome面板主题
|
||||
- 运行对话框:虚拟刷新
|
||||
- Budgie菜单: 增加紧凑模式,并默认采用
|
||||
- Budgie菜单: 按照使用顺序排列菜单项
|
||||
- Budgie菜单: 移除旧的电源选项
|
||||
- 编辑器: 在UI中增加所有的菜单选项
|
||||
- 支持从GNOME 3.10 升级到3.16
|
||||
- wm: 关闭工作区的动画(v8之后)
|
||||
- wm: 改变壁纸时更好的动画
|
||||
|
||||
### 重要信息 ###
|
||||
|
||||
- Budgie [0.8版发行版][2]目前只是beta
|
||||
- 无本地网络管理;可以通过使用ubuntu的小组件解决
|
||||
- Budgie 是为Evolve OS设计的,因此这个PPA可能会有bug
|
||||
- GNOME 主题比Ubuntu本地的主题效果更好
|
||||
- Ubuntu的滚动栏将不在工作
|
||||
- 如果你想了解的更多可以访问Evolve OS网站
|
||||
|
||||
### 安装 ###
|
||||
|
||||
现在,我们将在Ubuntu14.04 LTS中安装我们自己的轻量级Budgie桌面。首先,我们要把PPA源添加到我们的Ubuntu中。执行以下命令:
|
||||
|
||||
$ sudo add-apt-repository ppa:evolve-os/ppa
|
||||
|
||||
![添加Budgie的ppa源](http://blog.linoxide.com/wp-content/uploads/2015/01/budgie-desktop-ppa.png)
|
||||
|
||||
添加完ppa之后,运行下面的命令更新本地软件仓库。
|
||||
|
||||
$ sudo apt-get update
|
||||
|
||||
然后只要执行下面的命令安装
|
||||
|
||||
$ sudo apt-get install budgie-desktop
|
||||
|
||||
![安装 Budgie Desktop](http://blog.linoxide.com/wp-content/uploads/2015/02/install-budgie-desktop.png)
|
||||
|
||||
**注意点**
|
||||
|
||||
这是一个活跃的开发版本,一些主要的特点可能还不是特别的完善,如:网络管理器,为数不多的控制组件,无通知系统斌并且无法将app锁定到任务栏。
|
||||
|
||||
作为工作区你能够禁用滚动栏,通过设置一个默认的主题并且通过下面的命令退出当前的会话
|
||||
|
||||
$ gnome-session-quit
|
||||
|
||||
![退出 Gnome 会话](http://blog.linoxide.com/wp-content/uploads/2015/02/gnome-seesion-quit.png)
|
||||
|
||||
### 登录Budgie会话 ###
|
||||
|
||||
安装完成之后,我们能在登录时选择机进入budgie桌面。
|
||||
|
||||
![选择桌面会话](http://blog.linoxide.com/wp-content/uploads/2015/02/session-select.png)
|
||||
|
||||
### Budgie 桌面环境 ###
|
||||
|
||||
![Budgie 桌面环境](http://blog.linoxide.com/wp-content/uploads/2015/02/budgie-desktop.png)
|
||||
|
||||
### 注销当前用户 ###
|
||||
|
||||
$ budgie-sessioon --logout
|
||||
|
||||
### 结论 ###
|
||||
|
||||
Hurray! We have successfully installed our Lightweight Budgie Desktop Environment in our Ubuntu 14.04 LTS "Trusty" box. As we know, Budgie Desktop is still underdevelopment which makes it a lot of stuffs missing. Though it’s based on Gnome’s GTK3, it’s not a fork. The desktop is written completely from scratch, and the design is elegant and well thought out. If you have any questions, comments, feedback please do write on the comment box below and let us know what stuffs needs to be added or improved. Thank You! Enjoy Budgie Desktop 0.8 :-)
|
||||
Budgie桌面当前正在开发过程中,因此有目前有很多功能的缺失。虽然它是基于Gnome,但不是完全的复制。Budgie是完全从零开始实现,它的设计是优雅的并且正在不断的完善。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/ubuntu-how-to/install-lightweight-budgie-v8-desktop-ubuntu/
|
||||
|
||||
作者:[Arun Pyasi][a]
|
||||
译者:[johnhoow](https://github.com/johnhoow)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[a]:http://linoxide.com/author/arunp/
|
||||
[1]:https://evolve-os.com/budgie/
|
||||
[2]:https://evolve-os.com/2014/11/16/courageous-budgie-v8-released/
|
Loading…
Reference in New Issue
Block a user