方枪枪的java世界

不要因为风雨飘落就停止了你的脚步,真正的得失就在你的心中。 做喜欢做的事,不轻言放弃!

2017年1月7日 #

Centos6.4_Hadoop2.6.0 环境搭建_Centos6.4下安装配置FTP Server


1、service iptables off
     参考命令:
     service iptables stop

     service iptables start
     service iptables restart

2、yum  install  vsftpd   -y

3
、yum  install  db4  -y







posted @ 2017-01-07 19:44 做强大的自己 阅读(84) | 评论 (0)编辑 收藏

Centos6.4_Hadoop2.6.0 环境搭建_Centos6.4下安装配置FTP Server


1、service iptables off
     参考命令:
     service iptables stop

     service iptables start
     service iptables restart

2、yum  install  vsftpd   -y

3
、yum  install  db4  -y







posted @ 2017-01-07 19:44 做强大的自己 阅读(98) | 评论 (0)编辑 收藏

2017年1月1日 #

Linux入门教程(六)linux磁盘管理

     摘要: 第八章 Linux磁盘管理【查看磁盘或者目录的容量 df 和 du】df 查看已挂载磁盘的总容量、使用容量、剩余容量等,可以不加任何参数,默认是按k为单位显示的df常用参数有 –i -h -k –m等-i 使用inodes 显示结果-h 使用合适的单位显示,例如G-k -m ...  阅读全文

posted @ 2017-01-01 14:44 做强大的自己 阅读(131) | 评论 (0)编辑 收藏

Linux入门教程(五)linux系统用户以及用户组管理

第七章 linux系统用户以及用户组管理
认识/etc/passwd/etc/shadow】

这两个文件可以说是linux系统中最重要的文件之一如果没有这两个文件或者这两个文件出问题,则你是无法正常登录linux系统的

[image]

/etc/passwd’:’分割成7个字段,每个字段的具体含义是:

1)用户名(如第一行中的root就是用户名),代表用户账号的字符串用户名字符可以是大小写字母数字减号(不能出现在首位)点以及下划线,其他字符不合法虽然用户名中可以出现点,但不建议使用,尤其是首位为点时,另外减号也不建议使用,因为容易造成混淆

2)存放的就是该账号的口令,为什么是’x’呢?早期的unix系统口令确实是存放在这里,但基于安全因素,后来就将其存放到/etc/shadow中了,在这里只用一个’x’代替

3)这个数字代表用户标识号,也叫做uid。系统识别用户身份就是通过这个数字来的,0就是root,也就是说你可以修改test用户的uid0,那么系统会认为roottest为同一个账户通常uid的取值范围是0~655350是超级用户(root)的标识号,1~499由系统保留,作为管理账号,普通用户的标识号从500开始,如果我们自定义建立一个普通用户,你会看到该账户的标识号是大于或等于500

4)表示组标识号,也叫做gid。这个字段对应着/etc/group 中的一条记录,其实/etc/group/etc/passwd基本上类似

5)注释说明,该字段没有实际意义,通常记录该用户的一些属性,例如姓名电话地址等等不过,当你使用finger的功能时就会显示这些信息的(稍后做介绍)

6)用户的家目录,当用户登录时就处在这个目录下。root的家目录是/root,普通用户的家目录则为/home/username,这个字段是可以自定义的,比如你建立一个普通用户test1,要想让test1的家目录在/data目录下,只要修改/etc/passwd文件中test1那行中的该字段为/data即可

7shell,用户登录后要启动一个进程,用来将用户下达的指令传给内核,这就是shell。Linuxshell有很多种sh, csh, ksh, tcsh, bash等,而Redhat/CentOSshell就是bash。查看/etc/passwd文件,该字段中除了/bin/bash外还有/sbin/nologin比较多,它表示不允许该账号登录如果你想建立一个账号不让他登录,那么就可以把该字段改成/sbin/nologin,默认是/bin/bash。

[image]

再来看看/etc/shadow这个文件,和/etc/passwd类似,用”:”分割成9个字段

1)用户名,跟/etc/passwd对应

2)用户密码,这个才是该账号的真正的密码,不过这个密码已经加密过了,但是有些黑客还是能够解密的所以为了安全,该文件属性设置为600,只允许root读写

3)上次更改密码的日期,这个数字是这样计算得来的,距离197011日到上次更改密码的日期,例如上次更改密码的日期为201211日,则这个值就是365*2012-1970+1=15331。

4)要过多少天才可以更改密码,默认是0,即不限制

5)密码多少天后到期即在多少天内必须更改密码,例如这里设置成30,则30天内必须更改一次密码,否则将不能登录系统,默认是99999,可以理解为永远不需要改

6)密码到期前的警告期限,若这个值设置成7,则表示当7天后密码过期时,系统就发出警告告诉用户,提醒用户他的密码将在7天后到期

7)账号失效期限你可以这样理解,如果设置这个值为3,则表示:密码已经到期,然而用户并没有在到期前修改密码,那么再过3天,则这个账号就失效了,即锁定了

8)账号的生命周期,跟第三段一样,是按距离197011日多少天算的它表示的含义是,账号在这个日期前可以使用,到期后账号作废

9)作为保留用的,没有什么意义

新增/删除用户和用户组

a. 新增一个组 groupadd [-g GID] groupname

[image]

不加-g 则按照系统默认的gid创建组,跟用户一样,gid也是从500开始的

[image]

-g选项可以自定义gid

b. 删除组 gropudel groupname

[image]

没有特殊选项

c. 增加用户 useradd [-u UID] [-g GID] [-d HOME] [-M] [-s]

-u 自定义UID

-g 使其属于已经存在的某个GID

-d 自定义用户的家目录

-M 不建立家目录

-s 自定义shell

[image]

你会发现,创建test11时,加上了-M选项后,在/etc/passwd文件中test11那行的第六字段依然有/home/test11,可是ls查看该目录时,会提示该目录不存在

[image]

-M选项的作用就是不创建用户的家目录

-d. 删除用户 userdel [-r] username

[image]

-r 选项的作用是删除用户时,连同用户的家目录一起删除

【chfn 更改用户的finger (不常用)

前面内容中提到了findger,即在/etc/passwd文件中的第5个字段中所显示的信息,那么如何去设定这个信息呢?

[image]

就是chfn这个命令了修改完后,就会在/etc/passwd文件中的test的那一行第五个字段中看到相关信息了,默认是空的

创建/修改一个用户的密码 “passwd [username]”】

等创建完账户后,默认是没有设置密码的,虽然没有密码,但该账户同样登录不了系统只有设置好密码后方可登录系统

为用户创建密码时,为了安全起见,请尽量设置复杂一些你可以按照这样的规则来设置密码:a. 长度大于10个字符;b. 密码中包含大小写字母数字以及特殊字符(*&等);c. 不规则性(不要出现root, happy, love, linux, 123456, 111111等等单词或者数字);d. 不要带有自己名字公司名字自己电话自己生日等

[image]

passwd 后面不跟用户名则是更改当前用户的密码,当前用户为root,所以此时修改的是root的密码,后面跟test则修改的是test的密码

用户身份切换

Linux系统中,有时候普通用户有些事情是不能做的,除非是root用户才能做到这时就需要临时切换到root身份来做事了

[image]

test账号登录linux系统,然后使用su - 就可以切换成root身份,前提是知道root的密码

[image]

你可以使用echo $LOGNAME来查看当前登录的用户名

[image]

su 的语法为: su [-] username

后面可以跟”-”也可以不跟,普通用户su不加username时就是切换到root用户,当然root用户同样可以su到普通用户

[image]

”-“后会连同用户的环境变量一起切换过来。su test 后虽然切换到了test用户,但是当前目录还是切换前的/root目录,然后当用su - test时切换用户后则到了test的家目录/home/test。当用root切换普通用户时,是不需要输入密码的这也体现了root用户至高无上的权利

su是可以切换用户身份,如果每个普通用户都能切换到root身份,如果某个用户不小心泄漏了root的密码,那岂不是系统非常的不安全?没有错,为了改进这个问题,产生了sudo这个命令使用sudo执行一个root才能执行的命令是可以办到的,但是需要输入密码,这个密码并不是root的密码而是用户自己的密码默认只有root用户能使用sudo命令,普通用户想要使用sudo,是需要root预先设定的,即,使用visudo命令去编辑相关的配置文件/etc/sudoers。如果没有visudo这个命令,请使用” yum install -y sudo”安装

[image]

默认root能够sudo是因为这个文件中有一行” root ALL=(ALL) ALL” 在该行下面加入” test ALL=(ALL) ALL”就可以让test用户拥有了sudo的权利如果每增加一用户就设置一行,这样太麻烦了所以你可以这样设置

[image]

把这一行前面的”#”去掉,让这一行生效它的意思是,wheel这个组的所有用户都拥有了sudo的权利接下来就需要你把想让有sudo权利的所有用户加入到wheel这个组中即可

[image]

你不妨跟笔者试一下,非常有意思

posted @ 2017-01-01 14:42 做强大的自己 阅读(122) | 评论 (0)编辑 收藏

Linux入门教程(四)文件与目录管理

     摘要: 第六章 Linux文件与目录管理在linux中什么是一个文件的路径呢,说白了就是这个文件存在的地方,例如在上一章提到的/root/.ssh/authorized_keys 这就是一个文件的路径。如果你告诉系统这个文件的路径,那么系统就可以找到这个文件。在linux的世界中,存在着绝对路径和相对路径。绝对路径:路径的写法一定由根目录”/”写起,例如/usr...  阅读全文

posted @ 2017-01-01 14:40 做强大的自己 阅读(144) | 评论 (0)编辑 收藏

2016年12月28日 #

Docker 在windows上安装运行

Windows用户使用Docker ToolBox来安装Docker软件。
Windows上运行Docker,必须是64位的win7或者更高的64位版本

Docker ToolBox安装
需要安装如下部分:
Docker Client for Windows
Docker Toolbox management tool and ISO
Oracle VM VirtualBox
Git MSYS-git UNIX tools

安装完成后会生成三个快捷方式,分别为:
(1) Docker Quickstart Terminal: 提供Docker的命令行操作
(2) Oracle VM VirtualBox: 打开可以看到有一个虚拟机,里面安装了Core Linux机器,名字为default。
(3) Kitematic (Alpha):图形化的docker工具

启动Terminal窗口工具之后,我运行hello world报错了
$ docker run hello-world
docker: An error occurred trying to connect: Post http://127.0.0.1:2375/v1.22/co
ntainers/create: dial tcp 127.0.0.1:2375: connectex: No connection could be made
because the target machine actively refused it..
See 'C:\Program Files\Docker Toolbox\docker.exe run --help'.
上面问题的解决办法:
经过多方查资料,可能的原因是本机安装的其他虚拟网络,如VMWare, VPN等可能造成网络冲突导致。
因此我打算重建自定义网络,在重建之前,我打开"Oracle VM VirtualBox",删除了默认的default虚拟机和两个Host-only网络。
本来打算执行一个命令来自定义创建的的,结果当我启动"Docker Quickstart Terminal"时,系统自动重建了虚拟机和网络,然后进入结果就OK了。
因此,解决办法就是删除默认的虚拟机和网络,让系统帮你重建一次。

default虚拟机
可以直接从"Oracle VM VirtualBox"界面进入default虚拟机,不需要输入密码即可进入root环境,输入ifconfig命令可以看到default有三个网段的IP地址,分别为:
docker0: 172.17.0.1,这个是docker的网桥。
eth0:10.0.2.15,这个网段在Ubuntu环境中是没有的,暂不知道为什么会多这一个。
eth1:192.168.99.100,这个数宿主机的IP地址。

windows环境部分docker命令
$ docker-machine env
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="C:\Users\dhu\.docker\machine\machines\default"
export DOCKER_MACHINE_NAME="default"
$ docker info
Containers: 2
Running: 0
Paused: 0
Stopped: 2
Images: 1
Server Version: 1.10.3
Storage Driver: aufs
Root Dir: /mnt/sda1/var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 6
Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Plugins:
Volume: local
Network: bridge null host
Kernel Version: 4.1.19-boot2docker
Operating System: Boot2Docker 1.10.3 (TCL 6.4.1); master : 625117e - Thu Mar 10
22:09:02 UTC 2016
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 996.1 MiB
Name: default
ID: PKEB:7MPC:BCKW:4RCR:JLMF:OMOO:ZY5T:O2W2:3LLX:OXDM:DD56:I4B7
Debug mode (server): true
File Descriptors: 10
Goroutines: 22
System Time: 2016-04-09T15:39:25.323452975Z
EventsListeners: 0
Init SHA1:
Init Path: /usr/local/bin/docker
Docker Root Dir: /mnt/sda1/var/lib/docker
Labels:
provider=virtualbox
docker-machine rm default 删除一个虚拟机

打开"Oracle VM VirtualBox",进入File->Preferences->Network->Host-only Networks,删除两个默认的网络。
docker-machine create --driver virtualbox --virtualbox-hostonly-cidr "25.0.1.100/24" dev

总结一下:Docker在windows上运行其本质是运行在Windows上的虚拟机里面的Linux上,实质上还是运行在Linux,因为Docker是建立在Linux内核基础上的,Windows无法适应。

参考资料:
[1] https://docs.docker.com/windows/
[2] http://docs.docker.com/windows/started/

posted @ 2016-12-28 21:52 做强大的自己 阅读(369) | 评论 (0)编辑 收藏

2016年12月27日 #

Thinkpad T410 安装 Ubuntu10.04

http://blog.sina.com.cn/s/blog_5038ce7a0100qfyj.html

Thinkpad T410 安装 Ubuntu10.04 (2011-03-06 14:43:06)转载▼
标签: linux ubuntu 10.04 thinkpadt410 杂谈 分类: Linux
Thinkpad T410 下安装 Ubuntu10.04 

移动硬盘上安装Ubuntu备忘

========================================
1. 系统安装
========================================

    下载安装镜像一步步装即可,没有太多复杂的,安装完后系统后:

******************************
1.1 更改源
******************************
    编辑/etc/apt/sources.list 文件,网上有好多源,比如163,骨头源等,注意先把官方默认的源备份一下
    sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
    以便日后要用。网络不受限制的话默认的源速度就可以了。

******************************
1.2 更新语文支持
******************************
    更新语文支持,把oOo什么的汉化

******************************
1.3 更新系统
******************************
    用更新管理器更新系统内核,模块,软件等

========================================
2. 安装必要驱动
========================================

    ubuntu10.04 对 ThinkpadT410 大部分硬件支持良好,但无线网络能发现却不能用

******************************
2.1 无线网卡驱动安装
******************************
    参考网址:http://www.realtek.com.tw/downloads/
    T410无线网卡型号:
    * Chipset: Realtek RTL8192SE
    * IEEE Standards: 802.11b, 802.11g, 802.11n
    * 1x2 MIMO
    * PCI ID: 10ec:8172 
    到realtek 官网下载RTL8192SE对应的linux驱动,之后安装重启就可以了。安装过程见安装包中的readme.txt,很简单。

******************************
2.2 安装电源软件和硬盘保护
******************************
    参考文献:http://www.thinkwiki.org/wiki/Tp_smapi
    到thinkwiki上下载安装tp_smapi,安装过程可参考网页说明,可从源码安装,对ubuntu10.04,也可用apt-get install安装。
    
    源码安装方式:
    # tar xzvf tp_smapi-0.40.tgz
    # cd tp_smapi-0.40
    # make install
    如果你使用HDAPS驱动(HDAPS - IBM Active Protection System Linux Driver),因为tp_smapi已经patch了与其相容的模块,所以安装方式改为:
    # make install HDAPS=1
    按官方的说明下述安装不是必须的,hdaps已集成在tp_smapi中,但装一下也无妨
    sudo apt-get install hdaps-utils hdapsd
    
    查看模块是否运行:
    lsmod | grep hdaps
    
    对于ubuntu10.04,可按如下安装:
    # aptitude install tp-smapi-dkms
    # modprobe tp_smapi
    
    设置充电阈值:
    # echo 40 > /sys/devices/platform/smapi/BAT0/start_charge_thresh
    # echo 70 > /sys/devices/platform/smapi/BAT0/stop_charge_thresh
    # cat /sys/devices/platform/smapi/BAT0/*_charge_thresh
    注意:运行以上命令时即使用sudo,也可能提示权限不够,可先执行: sudo -i
    
    其它设置:
    17 分钟后禁止充电(不论充电阈值为多少):
    # echo 17 > /sys/devices/platform/smapi/BAT0/inhibit_charge_minutes
    取消充电保护:
    # echo 0 > /sys/devices/platform/smapi/BAT0/inhibit_charge_minutes
    强制停止充电(即使连接了AC):
    # echo 1 > /sys/devices/platform/smapi/BAT0/force_discharge
    取消强制停止充电:
    # echo 0 > /sys/devices/platform/smapi/BAT0/force_discharge
    
    开机时自动加载官方方法:
    it is not necessary to create your own init.d script or modify /etc/rc.local - you just need the package sysfsutils:
    # apt-get install sysfsutils
    # sudo gedit /etc/sysfs.conf
    修改文件 /etc/sysfs.conf 即可:
    # cat >> /etc/sysfs.conf << EOF
    # For a LiIon battery in a Thinkpad
    devices/platform/smapi/BAT0/start_charge_thresh = 50
    devices/platform/smapi/BAT0/stop_charge_thresh = 80
    EOF
    
    开机时自动加载其它方法:
    增加开机启动模块
    sudo gedit /etc/modules
    添加以下内容:
    thinkpad_ec
    tp_smapi
    hdaps
    另外编辑文件:
    sudo gedit /etc/rc.local
    加入:
    # Make battery live longer
    echo 50 > /sys/devices/platform/smapi/BAT0/start_charge_thresh
    echo 80 > /sys/devices/platform/smapi/BAT0/stop_charge_thresh
    上面方法未经试验,还是用官方方法好
    
    问题:重启后在platform下没有发现smpi文件夹,在源码包里执行make load HDAPS=1后方出现,是否需在启动模块中加载?已解决,见上。
    
******************************
2.3 显卡驱动
******************************

    注意:不要更新显卡驱动,用开源驱动即可,更新后可能会出现一系列的问题,如开机画面LOGO分辨率,亮度调节等,并且感觉看字的时候分辨率不对了,网上的解决方案不是很完美,有好几次按网上的更改后直接黑屏进不去系统了,默认驱动除了不能开启特效外也没什么不好的,再说特效这东西是给别看的,不用无所谓。官方还没有 NVS 3100M 相对应的显卡程序,所以还是等等吧。

经后来测试可以装,但得做一些设置,查看博文: http://blog.sina.com.cn/s/blog_5038ce7a0100r8lf.html

2.3.1 调节屏幕亮度方法:

A:(快捷的方法,临时的)
    a. 按Ctrl+Alt+F1进入命令行
    b. 用快捷键调节亮度
    c. 按Ctrl+Alt+F7回到GUI

B:nvclock
    sudo apt-get install nvclock
    nvclock -S -10

C:/etc/X11/xorg.conf
    添加Option "RegistryDwords" "EnableBrightnessControl=1"

2.3.2 开关机分辨率:

A. 确认grub和plymouth的系统配置文件是原始状态,没有应用过其它的修改方案。
    
B. 安装v86d和hwinfo包
    sudo apt-get install v86d hwinfo
    
C. 查看自己显卡支持的分辨率:
    sudo hwinfo --framebuffer
    显示的结果中没有支持的最大分辨率1440x900,但下面设置了是可以启用的。
    
D. 修改/etc/default/grub文件,使用uvesafb的framebuffer来启动
    sudo gedit /etc/default/grub
    把下面的两行:
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    #GRUB_GFXMODE=640x480
    修改为:
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset video=uvesafb:mode_option=1440x900-24,mtrr=3,scroll=ywrap"
    GRUB_GFXMODE=1440x900
    
E. 修改/etc/initramfs-tools/modules文件
    sudo gedit /etc/initramfs-tools/modules
    添加下面这行:
    uvesafb mode_option=1440x900-24 mtrr=3 scroll=ywrap
    
F. 运行下面的命令,启用framebuffer:
    代码:
    echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash
    
G. 运行下面的命令,更新grub配置文件:
    sudo update-grub
    sudo update-initramfs -u

H. 重启,开关机分辨率,tty1-tty6分辨率问题均得到解决。

******************************
2.4 安装小红点驱动
******************************
    sudo apt-get install gpointing-device-settings


******************************
2.5 安装thinkfan
******************************
    打开thingkpad_acpi的风扇控制
    
    首先要打开thinpad_acpi的风扇控制支持,具体做法是在加载这个内核模块的时候给它传递一
    个打开风扇控制的变量。具体做法如下:
    
    modprobe thinkpad_acpi fan_control=1 experimental=1
    
    要实现开机加载模块时设置,则需要在/etc/modprobe.d/下增加一个配置文件thinkpad-acpi.conf,内容:
    
    options thinkpad_acpi experimental=1 fan_control=1
    
    安装ubuntu软件仓库里面的thinkfan和sysfsutils(读取和设置sysfs属性)。
    
    sudo aptitude install thinkfan sysfsutils
    
    thinkfan会在系统的运行级别中添加thinkfan的后台服务,这样就可实现开机运行。
    
    配置和激活thinkfan
    
    阅读/etc/thinkfan.conf可以知道它是通过thinkpad_acpi提供的风扇控制接口来实现风扇控制的,它给风扇的转速级别对应了一个上下限温度,在这个上下限内就设置对应的转速。
    
    安装后发现thinkfan并没有直接生效,
    脚本:/etc/init.d/thinkfan 查看怎样设置自动启动
    自动启动:/etc/default/thinkfan 文件中的START=yes。
    风扇控制温度输入为:/proc/acpi/ibm/thermal
    cat /proc/acpi/ibm/fan可以得到控制风扇的方法

    安装完成后手动更新下载后的源码版本:0.7.1
    sudo make 
    将开机自动运行关闭,重启后进入源码文件夹,执行
    sudo cp thinkfan /usr/sbin
    然后运行thinkfan, 并将开机自运行打开。

    手动更改风扇转速:
    sudo -i 
    echo "level 6" > /proc/acpi/ibm/fan
    但过几秒钟后会变为自动控制。

    重新加载配置文件
    # kill -HUP $(</var/run/thinkfan.pid)
    
    卸载:
    sudo aptitude remove thinkfan,注意不要把sysfsutils也卸载了
    rm /etc/modprobe.d/thinkpad-acpi.conf
    其余配置文件可暂时保留
    
    参考网址:  http://vmlinz.is-programmer.com/posts/25834.html
                http://sourceforge.net/projects/thinkfan/
                http://www.thinkwiki.org/wiki/Fan_control_scripts
    
******************************
2.6 配置laptop-model
******************************
    sudo apt-get install laptop-mode-tools
    
    修改文件: /etc/laptop-mode/laptop-mode.conf
    
    ENABLE_LAPTOP_MODE_ON_AC=1
    ENABLE_LAPTOP_MODE_WHEN_LID_CLOSED=1
    CONTROL_HD_IDLE_TIMEOUT=0
    # ArchLinux/Debian 默认 20 ,导致硬盘经常停转起转,Ubuntu 默认 60 ,用了几天没感觉。总之我关掉了这项功能。
    
    即在使用交流电源和合上盖时启用LatTopMode,关于LapTopMode信息查看
    http://hi.baidu.com/skubuntu/blog/item/c70ad563e1bf93d38db10d07.html
    另外可解决发热大的问题:
    http://www.cnblogs.com/droi/archive/2011/01/20/1940300.html
    
******************************
2.7 安装sensors
******************************
    参考文献:http://forum.ubuntu.org.cn/viewtopic.php?t=55438
    sudo apt-get install lm-sensors sensors-applet
    sudo sensors-detect 并一路YES 回车
    找到确认添加的模块
    sudo gedit /etc/modules 添加进去,但我的没有找到
    安装界面显示程序:
    sudo apt-get install xsensors
    sudo apt-get install gdesklets gkrellm
    安装硬盘温度监控:
    sudo apt-get install hddtemp

******************************
2.8 安装cpufrequtils
******************************
    因为Ubuntu 默认的 CPU 式作方式为ondemand,这样只要一有 cpu 计算量的任务,就会立即达到最大频率运行,等执行完后立即回到最低频率,因此会出现 cpu 温度的急骤升高,如果采用 tinkfan 控制风扇转速,则风扇会再现突然猛转的情况。右键单击面板,选择“添加到面板”,里面找到“cpu频率范围监视器”, cpu 有几个核就加几个,单击可改变 cpu 工作模式,几种工作模式分别如下:
    powersave,是无论如何都只会保持最低频率的所谓“省电”模式;
  ondemand,默认模式.一有cpu计算量的任务,就会立即达到最大频率运行,等执行完毕就立即回到最低频率;
  conservative,翻译成保守(中庸)模式,会自动在频率上下限调整,和ondemand的区别在于它会按需分配频率,而不是一味追求最高频率;
  performance,顾名思义只注重效率,无论如何一直保持以最大频率运行.
    将四个核均改为 conservative 后,cpu 温度降到了 46 度左右,比以前有大大降低。
    
    另外,安装:
    sudo apt-get install cpufrequtils

    用法:
    代码:cpufreq-info, cpufreq-selector, cpufreq-set
    具体用法可以用 -h 或 man 查看。
    A. 查看cpu类型、当前频率、支持频率、运行模式等
        cpufreq-info 
    B. 选择需要调整的cpu
        sudo cpufreq-selector -c cpu号
        sudo cpufreq-set -c cpu号
    C. 调整cpu频率
        sudo cpufreq-selector -f 你所需要的频率
        sudo cpufreq-set -f 你所需要的频率
        注意,此处的频率必须是以KHz为单位,并且是可以达到的频率(也就是用cpufreq-info查看到的各个频率),cpu频率=倍频x外频。以下凡是涉及频率的一律如此。
    D. 调整cpu频率上下限
        sudo cpufreq-set -d 频率下限
        sudo cpufreq-set -u 频率上限
        因此,可能可以对cpu进行降频或者超频
    E. 调整cpu运行模式
        sudo cpufreq-selecotr -g 模式
        sudo cpufreq-set -g 模式
        eg: sudo cpufreq-set -c 0 -g powersave
        这里,模式就是执行cpufreq-info后看到的所支持的模式。比如我的支持以下几种:powersave, userspace, ondemand, conservative, performance。
        powersave,是无论如何都只会保持最低频率的所谓“省电”模式;
        userspace,是自定义频率时的模式,这个是当你设定特定频率时自动转变的;
        ondemand,默认模式。一有cpu计算量的任务,就会立即达到最大频率运行,等执行完毕就立即回到最低频率;
        conservative,翻译成保守(中庸)模式,会自动在频率上下限调整,和ondemand的区别在于它会按需分配频率,而不是一味追求最高频率;
        performance,顾名思义只注重效率,无论如何一直保持以最大频率运行。
     F. 添加cpu监视器
        监视cpu频率,右键单击面板,选择“添加到面板”,里面找到“cpu频率范围监视器”。
        另外,如果嫌命令行麻烦,可以这么做
        sudo chmod +s /usr/bin/cpufreq-selector
        然后,cpu频率范围监视器的首选项里会多出一个“频率选择器”,显示菜单选择“频率和调速器”。鼠标左键单击cpu频率范围监视器,会发现“频率”和“调速器”两个菜单,就可以随便调了。当然不需要随便调,这里只是说明一下方法。
    
    添加开机自启动:修改/etc/rc.local 文件,在 exit 0 前面增加如下内容:
    cpufreq-set -c 0 -g conservative
    cpufreq-set -c 1 -g conservative
    cpufreq-set -c 2 -g conservative
    cpufreq-set -c 3 -g conservative
    但开机后不久会自动改为ondemand, 这时再运行桌面脚本即可

    laptop-mode 下的配置文件位置:
    /etc/laptop-mode/conf.d/cpufreq.conf 
    可更改是否启用及CPU工作模式。
    更改后发现启动后频率监视器上仍为ondemand, 但cpu温度降低了,是不是在内部自己调整的,因为启用了ac-laptopmod


========================================
3. 主要应用软件安装
========================================

******************************
3.1 安装方式
******************************
    sudo apt-get install ...
    软件中心
    新立得软件包

******************************
3.2 主要软件列表
******************************
    ubuntu-restricted-extras   其他Ubuntu应用程序可能需要的软件或者编码器
    audacious           注:需装音频解码器(打开文件自动安装),乱码问题:播放列表,自定义:%f
    mplayer             注:需装解码器
    stardict
    发音不好,干脆卸载了:
    sudo apt-get install stardict-plugin-espeak  stardict-plugin-festival 
    goldendict          注:推荐,有好多词典
    g++
    vim                 注:用源码编译时gvim 有问题。另screen下不同标签间的"*"寄存器可用,太好了
    cscope
    ctags
    cgdb
    rar unrar p7zip
    flashplayer
    fonts               注:将Win下的TrueType字体放入$HOME/.fonts目录即可,也可打开安装
    xrgsu->mentohust
    scilab
    octave
    pdf comment: xournal,okular
    FoxitReader
    texlive
    OpenFOAM            注:源码编译,安装方式见别一文档
    gnuplot             注:画图程序,octave用的就是她
    octave
    noflushd            注:硬盘控制程序
    ailurus             注:推荐
    Jabref
    Bibus
    
========================================
4. 主要问题
========================================

******************************
4.1 中文支持
******************************
    pdf中文支持:sudo apt-get install xpdf-chinese-simplified xpdf-chinese-traditional poppler-data
    gedit乱码:运行 gconf-editor,在/apps/gedit-2/preferences/encodings/auto_detected 下面加入 GB18030,GB2312 ,GBK( GB18030 兼容GB2312 ,GBK的,所以只添加有一个 GB18030就可以了的)

******************************
4.2 Chrome中一旦退格IBus无法输入
******************************
    一旦按了backspace删除之前输入的文字,就要重新启动ibus才能输入,不然输入什么都是不能显示的,
    已经证实是iBus的key snooper特性导致了这个问题。可以考虑将iBus升级到1.3.5以上(添加PPA)

    $sudo add-apt-repository ppa:shawn-p-huang/ppa
    $sudo apt-get update
    $sudo apt-get dist-upgrade

******************************
4.3 更改密码问题
******************************
    密码太短或太简单,用sudo更改:
    sudo passwd terry
    
******************************
4.4 面版重置
******************************
    打开终端,终端窗口打开之后,立即在提示符后面输入下列命令: gconftool --recursive-unset /apps/panel (注意:每个斜杠 “/” 后面没有空格)接下来输入下列命令: rm -rf ~/.gconf/apps/panel 最后还需要执行: pkill gnome-panel 接下来,Ubuntu 默认的上下两栏面板就会恢复默认值,出现顶部+底部各一面板的默认布局。

******************************
4.5. 安装出错
******************************
    dpkg:处理 tex-common (--configure)时出错:
     子进程 已安装的 post-installation 脚本 返回了错误号 1
    dpkg:依赖关系问题使得 texlive-binaries 的配置工作不能继续:
     texlive-binaries 依赖于 tex-common (>= 2.00);然而:
      软件包 tex-common 还没有被配置。
    dpkg:处理 texlive-binaries (--configure)时出错:
     依赖关系问题 - 仍未被配置
    在处理时有错误发生:
     tex-common
     texlive-binaries
    解决办法: 直接去掉那两个包

******************************
4.6 时区设置问题
******************************
    解决linux与windows的时间同步问题
    sudo vim /etc/default/rcS
    设置 UTC=no

******************************
4.7 修改默认打开程序
******************************
    这个问题跟两个文件有关: 
    /etc/gnome/defaults.list (这个文件保存了全局的打开方式)
    ~/.local/share/applications/mimeapps.list (这个文件保存了个人的打开方式) 
   建议只更改当前用户的配置文件
   也可用在Nautilus中选择属性,从打开方式标签更改

******************************
4.8 相关命令
******************************
    查看uvesafb支持的分辨率:/sys/bus/platform/drivers/uvesafb/uvesafb.0/vbe_modes
    关于framebuffer的说明可以查看Gentoo文档,另外/usr/src/linux/Documentation/fb/uvesafb.txt列出了所有变量
    /etc/X11/xorg.conf可查看显卡驱动及相关信息
    让硬盘进入休眠:sudo hdparm -Y /dev/sda

posted @ 2016-12-27 21:51 做强大的自己 阅读(278) | 评论 (0)编辑 收藏

Docker学习笔记(八)构建私有库

十、构建私有库

Docker 官方提供了 docker registry 的构建方法 docker-registry

10.1 快速构建

快速构建 docker registry 通过以下两步:

  • 安装 docker
  • 运行 registry:docker run -p 5000:5000 registry

这种方法通过 Docker hub 使用官方镜像 official image from the Docker hub

10.2 不使用容器构建 registry

安装必要的软件

$ sudo apt-get install build-essential python-dev libevent-dev python-pip liblzma-dev

配置 docker-registry

sudo pip install docker-registry

或者 使用 github clone 手动安装

$ git clone https://github.com/dotcloud/docker-registry.git
$ cd docker-registry/
$ cp config/config_sample.yml config/config.yml
$ mkdir /data/registry -p
$ pip install .

运行

docker-registry

高级启动方式 [不推荐]

使用gunicorn控制:

gunicorn -c contrib/gunicorn_config.py docker_registry.wsgi:application

或者对外监听开放

gunicorn --access-logfile - --error-logfile - -k gevent -b 0.0.0.0:5000 -w 4 --max-requests 100 docker_registry.wsgi:application

10.3 提交指定容器到私有库

$ docker tag ubuntu:12.04 私有库IP:5000/ubuntu:12.04
$ docker push 私有库IP:5000/ubuntu

更多的配置选项推荐阅读官方文档:

posted @ 2016-12-27 21:41 做强大的自己 阅读(104) | 评论 (0)编辑 收藏

Docker学习笔记(七)链接容器

九、链接容器

docker 允许把多个容器连接在一起,相互交互信息。docker 链接会创建一种容器父子级别的关系,其中父容器可以看到其子容器提供的信息。

9.1 容器命名

在创建容器时,如果不指定容器的名字,则默认会自动创建一个名字,这里推荐给容器命名:

  • 1、给容器命名方便记忆,如命名运行 web 应用的容器为 web
  • 2、为 docker 容器提供一个参考,允许方便其他容器调用,如把容器 web 链接到容器 db

可以通过--name选项给容器自定义命名:

$ sudo docker run -d -t -i --name test ubuntu:14.04 bash              
$ sudo docker  inspect --format="{{ .Nmae }}" test
/test

注:容器名称必须唯一,即你只能命名一个叫test的容器。如果你想复用容器名,则必须在创建新的容器前通过docker rm删除旧的容器或者创建容器时添加--rm选项。

9.2 链接容器

链接允许容器间安全通信,使用--link选项创建链接。

$ sudo docker run -d --name db training/postgres

基于 training/postgres 镜像创建一个名为 db 的容器,然后下面创建一个叫做 web 的容器,并且将它与 db 相互连接在一起

$ sudo docker run -d -P --name web --link db:db training/webapp python app.py

--link <name or id>:alias选项指定链接到的容器。

查看 web 容器的链接关系:

$ sudo docker inspect -f "{{ .HostConfig.Links }}" web
[/db:/web/db]

可以看到 web 容器被链接到 db 容器为/web/db,这允许 web 容器访问 db 容器的信息。

容器之间的链接实际做了什么?一个链接允许一个源容器提供信息访问给一个接收容器。在本例中,web 容器作为一个接收者,允许访问源容器 db 的相关服务信息。Docker 创建了一个安全隧道而不需要对外公开任何端口给外部容器,因此不需要在创建容器的时候添加-p或-P指定对外公开的端口,这也是链接容器的最大好处,本例为 PostgreSQL 数据库。

Docker 主要通过以下两个方式提供连接信息给接收容器:

  • 环境变量
  • 更新/etc/hosts文件

环境变量

当两个容器链接,Docker 会在目标容器上设置一些环境变量,以获取源容器的相关信息。

首先,Docker 会在每个通过--link选项指定别名的目标容器上设置一个<alias>_NAME环境变量。如果一个名为 web 的容器通过--link db:webdb被链接到一个名为 db 的数据库容器,那么 web 容器上会设置一个环境变量为WEBDB_NAME=/web/webdb.

以之前的为例,Docker 还会设置端口变量:

$ sudo docker run --rm --name web2 --link db:db training/webapp env
. . .
DB_NAME=/web2/db
DB_PORT=tcp://172.17.0.5:5432           
DB_PORT_5432_TCP=tcp://172.17.0.5:5432  # <name>_PORT_<port>_<protocol> 协议可以是 TCP 或 UDP
DB_PORT_5432_TCP_PROTO=tcp
DB_PORT_5432_TCP_PORT=5432
DB_PORT_5432_TCP_ADDR=172.17.0.5
. . .

注:这些环境变量只设置给容器中的第一个进程,类似一些守护进程 (如 sshd ) 当他们派生 shells 时会清除这些变量

更新/etc/hosts文件

除了环境变量,Docker 会在目标容器上添加相关主机条目到/etc/hosts中,上例中就是 web 容器。

$ sudo docker run -t -i --rm --link db:db training/webapp /bin/bash
root@aed84ee21bde:/opt/webapp# cat /etc/hosts
172.17.0.7  aed84ee21bde
. . .
172.17.0.5  db

/etc/host文件在源容器被重启之后会自动更新 IP 地址,而环境变量中的 IP 地址则不会自动更新的。

posted @ 2016-12-27 21:40 做强大的自己 阅读(115) | 评论 (0)编辑 收藏

Docker学习笔记(六)容器数据管理

八、容器数据管理

docker管理数据的方式有两种:

  • 数据卷
  • 数据卷容器

8.1 数据卷

数据卷是一个或多个容器专门指定绕过Union File System的目录,为持续性或共享数据提供一些有用的功能:

  • 数据卷可以在容器间共享和重用
  • 数据卷数据改变是直接修改的
  • 数据卷数据改变不会被包括在容器中
  • 数据卷是持续性的,直到没有容器使用它们

添加一个数据卷

你可以使用-v选项添加一个数据卷,或者可以使用多次-v选项为一个 docker 容器运行挂载多个数据卷。

$ sudo docker run --name data -v /data -t -i ubuntu:14.04 /bin/bash # 创建数据卷绑定到到新建容器,新建容器中会创建 /data 数据卷 bash-4.1# ls -ld /data/
drwxr-xr-x 2 root root 4096 Jul 23 06:59 /data/
bash-4.1# df -Th
Filesystem    Type    Size  Used Avail Use% Mounted on
... ...
              ext4     91G  4.6G   82G   6% /data

创建的数据卷可以通过docker inspect获取宿主机对应路径

$ sudo docker inspect data
... ... "Volumes": { "/data": "/var/lib/docker/vfs/dir/151de401d268226f96d824fdf444e77a4500aed74c495de5980c807a2ffb7ea9" }, # 可以看到创建的数据卷宿主机路径 ... ...

或者直接指定获取

$ sudo docker inspect --format="{{ .Volumes }}" data
map[/data: /var/lib/docker/vfs/dir/151de401d268226f96d824fdf444e77a4500aed74c495de5980c807a2ffb7ea9]

挂载宿主机目录为一个数据卷

-v选项除了可以创建卷,也可以挂载当前主机的一个目录到容器中。

$ sudo docker run --name web -v /source/:/web -t -i ubuntu:14.04 /bin/bash
bash-4.1# ls -ld /web/
drwxr-xr-x 2 root root 4096 Jul 23 06:59 /web/
bash-4.1# df -Th
... ...
              ext4     91G  4.6G   82G   6% /web
bash-4.1# exit 

默认挂载卷是可读写的,可以在挂载时指定只读

$ sudo docker run --rm --name test -v /source/:/test:ro -t -i ubuntu:14.04 /bin/bash

8.2 创建和挂载一个数据卷容器

如果你有一些持久性的数据并且想在容器间共享,或者想用在非持久性的容器上,最好的方法是创建一个数据卷容器,然后从此容器上挂载数据。

创建数据卷容器

$ sudo docker run -t -i -d -v /test --name test ubuntu:14.04 echo hello

使用--volumes-from选项在另一个容器中挂载 /test 卷。不管 test 容器是否运行,其它容器都可以挂载该容器数据卷,当然如果只是单独的数据卷是没必要运行容器的。

$ sudo docker run -t -i -d --volumes-from test --name test1 ubuntu:14.04 /bin/bash

添加另一个容器

$ sudo docker run -t -i -d --volumes-from test --name test2 ubuntu:14.04 /bin/bash

也可以继承其它挂载有 /test 卷的容器

$ sudo docker run -t -i -d --volumes-from test1 --name test3 ubuntu:14.04 /bin/bash

非常详细的 Docker 学习笔记

8.3 备份、恢复或迁移数据卷

备份

$ sudo docker run --rm --volumes-from test -v $(pwd):/backup ubuntu:14.04 tar cvf /backup/test.tar /test
tar: Removing leading `/' from member names
/test/
/test/b
/test/d
/test/c
/test/a

启动一个新的容器并且从test容器中挂载卷,然后挂载当前目录到容器中为 backup,并备份 test 卷中所有的数据为 test.tar,执行完成之后删除容器--rm,此时备份就在当前的目录下,名为test.tar。

$ ls # 宿主机当前目录下产生了 test 卷的备份文件 test.tar test.tar

恢复

你可以恢复给同一个容器或者另外的容器,新建容器并解压备份文件到新的容器数据卷

$ sudo docker run -t -i -d -v /test --name test4 ubuntu:14.04  /bin/bash $ sudo docker run --rm --volumes-from test4 -v $(pwd):/backup ubuntu:14.04 tar xvf /backup/test.tar -C / # 恢复之前的文件到新建卷中,执行完后自动删除容器 test/ test/b test/d test/c test/a

8.4 删除 Volumes

Volume 只有在下列情况下才能被删除:

  • docker rm -v删除容器时添加了-v选项
  • docker run --rm运行容器时添加了--rm选项

否则,会在/var/lib/docker/vfs/dir目录中遗留很多不明目录。

参考文档:

posted @ 2016-12-27 21:39 做强大的自己 阅读(110) | 评论 (0)编辑 收藏

仅列出标题  下一页