博文

目前显示的是标签为“ubuntu”的博文

Ubuntu下安装Docker

1.安装Docker        sudo apt-get install curl    curl -fsSL https://get.docker.com/ | sh   安装好后有如下提示:   If you would like to use Docker as a non-root user, you should now consider   adding your user to the "docker" group with something like:     sudo usermod -aG docker guochongxin   Remember that you will have to log out and back in for this to take effect!   可根据实际需要执行上面提示中的命令,将当前用户加到docker用户组里,避免后期需要加sudo执行。   接下来执行sudo docker run hello-world命令来验证安装情况,如有下面提示则表示安装成功:   Hello from Docker.      This message shows that your installation appears to be working correctly.       To generate this message, Docker took the following steps:        1. The Docker client contacted the Docker daemon.      2. The Docker daemon pulled the "hello-world" image from the Docker Hub.      3. The Docker daemon created a new container from ...

shell脚本实现键盘LED灯闪烁

很幸运,在Ubuntu13.10的Terminal下发现了setleds命令,直接运行该命令后有如下输出: xinu@slam:~$ setleds KDGKBLED: Inappropriate ioctl for device Error reading current flags setting. Maybe you are not on the console? 查了一会资料,发现在Gnome界面下的Terminal执行该命令有问题,需要切换到TTY界面下(按CTRL+ALT+F1至F6),再切换回Gnome则按CTRL+ALT+F7组合键即可,该Bug已在http://askubuntu.com/questions/339028/caps-lock-indicator-not-synced,我们先不管,直接按CTRL+ALT+F1组合键切换至tty0,使用同样的帐号和密码登录,此时输入setleds命令会有如下提示: xinu@slam:~$ setleds Current default flags: NumLock off CapsLock off ScrollLock off Current flags: NumLock off CapsLock off ScrollLock off Current leds: NumLock off CapsLock off ScrollLock off 而相应的帮助信息查看man setleds命令,其中主要的使用格式和参数如下: setleds [-v] [-L] [-D] [-F] [{+|-}num] [{+|-}caps] [{+|-}scroll] 从上面资料可以看到其实际上只控制Number Lock、Caps Lock、Scroll Lock三个灯的状态,分别控制如下: 1.控制单个灯 Number Lock亮:setleds +num Number Lock灭:setleds -num Caps Lock亮:setleds +caps Caps Lock灭:setleds -caps Scroll Lock亮:setleds +scroll Scroll Lock灭:setleds -scroll 2.控制组合灯 任意两灯: setleds +num -...

Ubuntu13.10下eclipse主菜单下拉菜单无显示

     最近在Ubuntu13.10(64位)系统下使用eclipse,发现运行该软件后,主菜单是有显示出来,但是点击主菜单的任一项,均无下拉菜单项显示,找了一些资料,这是一个BUG,待Ubuntu更新处理吧,我们可先采用一些措施处理:       0.实验环境            Ubuntu13.10,64位;            eclipse是从官网下载解压出来的,目录在/home/xinu/dev_tools/eclipse。       1.临时方法            运行Terminal后进入eclipse根目录下:            cd /home/xinu/dev_tools/eclipse            然后运行如下命令:            UBUNTU_MENUPROXY= ./eclipse            (注意=后面有空格)            如果后期一直使用终端来启动,可将上面的操作写成一个SHELL脚本,这样就不需要每次运行多加那么些语句了。       2.长久之计             创建eclipse.destop文件来处理该问题(如果未使用Ubuntu系统来安装eclipse时是不存在该文件,即需要自己创建一个):      ...

学习GPG

0. 前言 在使用 repo 下载 android 源码和 git 下载 kernel 源码里会使用到 gpg ,那 gpg 是什么?该如何使用?这里说到的 GPG 是 GnuPG ,是 Gnu Privacy Guard 的缩写,它提供钥匙管理、加解密和数字签名等功能,其涉及到非对称加密算法,在学习每一项新技术时都先学会用再去深究其实现,故而我们在这里简说原理后立马学习如何用,品尝非对称加密算法应用下的 GPG 味道。 非对称加密算法使用公钥和密钥两个配对的钥匙,公钥加密,密钥解密,公钥加密后的信息只能由配对的密钥来解密还原信息,而对称加密算法则只有一个钥匙,加解密用同一把很不安全。数字签名一般是在发送的信息后面添加签名(即一堆处理后的字符),该签名是根据发送方的密钥和信息内容进行处理得出,而接收方在收到信息后使用发送方的公钥就可以验证接收到的信息的正确性,确认有没有被篡改过。 我们使用的环境是: Ubuntu13.10 ( 64 位, Kernel : 3.13.6 ) 1. 安装 GPG sudo apt-get install gnupg 一般 Ubuntu 都安装好了。 2. 生成钥匙对 gpg --gen-key 运行该命令后有如下提示内容需确认: Please select what kind of key you want: (1) RSA and RSA (default) (2) DSA and Elgamal (3) DSA (sign only) (4) RSA (sign only) Your selection? 这里采用默认的 RSA 就可以,直接回车后有如下内容: RSA keys may be between 1024 and 4096 bits long. What keysize do you want? (2048) 这里是配置产生的 KEY 的位数,在 1024 到 4096 之间,我们采用默认的 2048 即可( KEY 的位数越多越安全,但加解密的速度则会越慢),直接回车后有如下内容: Please specify how long the key should be valid. 0 = key does not expire ...

Ubuntu下安装JDK和切换默认JAVA版本

    由于Android6.0和7.0分别需要OpenJDK7和OpenJDK8,而Ubuntu的apt源码搜索不到,故执行如下命令即可搜索并安装上:        sudo add - apt - repository ppa : openjdk - r / ppa        sudo apt - get update        sudo apt - get install openjdk - 8 - jdk       安装成功后,可以执行命令sudo update-alternatives --config java来查看当前机器安装的JDK版本信息和切换默认的JDK版本。

VI改造计划补充篇

在《VI改造计划》一文中讲述到了ctags和cscope两个工具,在使用Linux Kernel源码进行实操时需要使用:cs add cscope.out去加载cscope数据库,每次这样操作会让我们抓狂,那我们修改下~/.vimrc吧,在该文件里加入如下内容: if filereadable("cscope.out") cs add cscope.out endif 这样以后进入Kernel源码打开文件后就可以直接使用:cs f g start_kernel等查找语句了。  关于ctags,我们在vim的normal模式下使用:tag tagname查找定位tag时可能有好几个,那么我们还可以使用如下指令来定位: :tfirst    跳转到第一个 :tnext    跳转到下一个 :tlast     跳转到最后一个  关于cscope,我们使用:cs help可以看到如下帮助信息: cscope commands: add : Add a new database (Usage: add file|dir [pre-path] [flags]) find : Query for a pattern (Usage: find c|d|e|f|g|i|s|t name) c: Find functions calling this function d: Find functions called by this function e: Find this egrep pattern f: Find this file g: Find this definition i: Find files #including this file s: Find this C symbol t: Find this text string help : Show this message (Usage: help) kill : Kill a connection (Usage: kill #) reset: Reinit all connections (Usage: reset) show : Show connections (Usage: show) 其大概翻译如下: ...