This mini-howto describes how to set up KeePass on Centos 6. It requires building mono from source and installing the "portable" version of KeePass. Finally there are a few tweaks that need to be done so that it can execute properly.

Building mono

To build mono, follow the steps described in Installing Mono in CentOS 5.x/6.x with the following modifications:

  • You are instructed to add the epel repository. I strongly recommend using the yum priorities plugin and setting the epel repo to lower priority.
  • Get the most recent mono source [tarball] from mono source directory The latest version as of this writing is 3.2.0. Also note that it is a bzip2 file. So that changes the steps to

    $ wget http://origin-download.mono-project.com/sources/mono/mono-3.2.0.tar.bz2
    $ tar jxvf mono-3.2.0.tar.bz2

  • I like to save the output of running make and also prefer to run make as an ordinary user instead of root. So I suggest first building mono with make as follows:

    $ make 2>&1 | tee make.log

    Then you have the make.log file to check if you run into any problems. Now you can become root and do the make install:

    $ make install

Install Portable KeePass (ZIP Package)

The next step is to install the portable version of KeePass. Go here. Choose the Professional Edition portable package. After downloading the ZIP file, make a directory for KeePass (I create one under my home directory).

$ mkdir KeePass
$ cd KeePass
$ unzip <path to zip file>/KeePass-2.23.zip

Libray Tweaks

If you try to run KeePass (from the KeePass directory where you unzipped it), you will get an exception like:

System.DllNotFoundException: /usr/local/lib/libgdiplus.so

libgdiplus was one of the packages you installed earlier. Checking the files that were installed:

$ rpm -ql libgdiplus

/usr/lib64/libgdiplus.so.0
/usr/lib64/libgdiplus.so.0.0.0
/usr/share/doc/libgdiplus-1.2.5
/usr/share/doc/libgdiplus-1.2.5/AUTHORS
/usr/share/doc/libgdiplus-1.2.5/COPYING
/usr/share/doc/libgdiplus-1.2.5/MPL-1.1.html
/usr/share/doc/libgdiplus-1.2.5/NEWS
/usr/share/doc/libgdiplus-1.2.5/README
/usr/share/doc/libgdiplus-1.2.5/TODO
$

We need to make a symlink (in the install directory tree -- /usr/local/lib in our case) for libgdiplus.so. Become root and do the following:

# cd /usr/local/lib
# ln -s /usr/lib64/libgdiplus.so.0
# ln -s /usr/lib64/libgdiplus.so.0.0.0
# ln -s /usr/lib64/libgdiplus.so.0.0.0 libgdiplus.so

You will still get a System.DllNotFoundException even after this. The problem is that /usr/local/lib is not in the ls.so.conf.d. So the final steps are:

# cd /etc/ld.so.conf.d
# echo /usr/local/lib > local.conf
# ldconfig

After this KeePass should run and you will hopefully be all set to make your passwords much more secure.

Desktop Setup

Assuming you are using Gnome desktop here's how to add an application menu item to the Applications Menu and optionally to the Panel. First download the KeePass png icon from KeePass icon Put it in the same directory where you unzipped the portable KeePass zipfile. Next install the alacarte menu editor for the Gnome desktop:

# yum install alacarte

You can of course skip that step if you already have alacarte installed. Next -- start (as the desktop user, not root) alacarte

$ alacarte

This will bring up the menu editing window. In the left panel you will see the categories under "Applications". I clicked "Internet", and then press the "+ New Item" button on the right. This will pop up a dialog where you enter the information to start KeePass. Click on the icon button and browse to the png icon. In the "command" field make sure to use the full path to both mono and KeePass.exe. After you are done you should find KeePass in the Applications->Internet menu (or whereever you chose to put it).

 

http://www.howtoforge.com/setting-up-keepass-for-centos-6

使用密码记录工具keepass来保存密码

Setting Up KeePass For Centos 6的更多相关文章

  1. 双系统恢复CentOS的MBR

    Win7 和 CentOS 的双系统,在重装 Windows 后,CentOS 就无法启动了,因为MBR被Windows重写了. 解决方法就是恢复 CentOS 的MBR,需要借助2款 Windows ...

  2. setting up a IPSEC/L2TP vpn on CentOS 6 or Red Hat Enterprise Linux 6 or Scientific Linux

    This is a guide on setting up a IPSEC/L2TP vpn on CentOS 6 or Red Hat Enterprise Linux 6 or Scientif ...

  3. Setting DPDK+OVS+QEMU on CentOS

    Environment Build Step: these packages are needed for building dpdk+ovs: yum install -y make gcc gli ...

  4. .NET跨平台:在CentOS上编译dnx并运行ASP.NET 5示例程序

    在之前的博文中我们在 Ubuntu 上成功编译出了 dnx ,并且用它成功运行了 ASP.NET 5 示例程序.在这篇博文中我们将 Ubuntu 换成 CentOS. 目前 dnx 的编译需要用到 m ...

  5. 使用packer制作vagrant centos box

    使用packer制作vagrant box:centos 制作vagrant box,网上有教程,可以自己step by step的操作.不过直接使用虚拟在VirtualBox中制作vagrant b ...

  6. CentOS 7 安装MySQL 5.6遇到的疑难杂症小结

    在一测试服务器(CentOS Linux release 7.2.1511)上安装MySQL 5.6(5.6.19 MySQL Community Server)时遇到下面错误,这个是因为CentOS ...

  7. centos 7.0 编译安装php 7.0.3

    php下载页面 http://cn2.php.net/downloads.php 7.0.3多地区下载页面 http://cn2.php.net/get/php-7.0.3.tar.gz/from/a ...

  8. 在VMWare中建立Hadoop虚拟集群的详细步骤(使用CentOS)

    最近在学习Hadoop,于是想使用VMWare建立一个虚拟的集群环境.网上有很多参考资料,但参照其步骤进行设置时却还是遇到了不少问题,所以在这里详细写一下我的配置过程,以及其中遇到的问题及相应的解决方 ...

  9. 解决WIN7与虚拟机CentOS的文件夹共享问题

    一.系统与软件 WIN7 64bit.VirtualBox 5.0.14.CentOS 6.5.SecureCRT 7.2.3 二.使用文件夹共享需要安装增强功能,但是安装时无法读取光盘iso文件 三 ...

随机推荐

  1. phpcms v9 中的数据库操作函数

    1.查询 $this->select($where = '', $data = '*', $limit = '', $order = '', $group = '', $key='')   返回 ...

  2. 使用AFNetWorking上传图片

    AFHTTPSessionManager *manager   = [AFHTTPSessionManager manager]; NSString *string                  ...

  3. python map()

    map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回. 举例说明,比如我们有一个函数f(x)=x%2,要把这个函数作用在一个li ...

  4. Linux内核源代码获取教程

    Linux内核源代码获取方法 什么叫Linux 什么叫Linux内核 Linux内核源代码的获取 什么叫Linux? Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UN ...

  5. Java 反射调用动态方法

    package com.pigetest.util; import java.lang.reflect.Method; public class PrivateMethodTestHelper { p ...

  6. 关于 js 一些基本的东西

    r.js 可以打包(可以实现前端文件的压缩与合并). 客户端尽量遵循 amd 规范. 推荐使用 requirejs 规范. requirejs 简单教程: http://www.runoob.com/ ...

  7. 使用Git的Push出现rejected - non-fast-forward错误

    通过查阅资料,发现是文件冲突问题,即本地和远程的Repository中的文件出现了冲突所致,重新检查了一下,发现是在建立Repository时,添加了ReadMe.txt文件,导致和本地得项目分支不一 ...

  8. SqlServer查询表中各列名称、表中列数

    查询表名为tb_menu的所有列名 select name from syscolumns where id=object_id('tb_menu')     查询表名为tb_menu的所有列名个数 ...

  9. Java Web 项目目录规范

    一.项目结构 这里和其他项目区别不大,我将模板抽离出来,更容易分析和理解: 解释一下:js主要包括extends(引入第三方的js).module(项目模块自己的js).lib(引用包,这里也可以继续 ...

  10. C# 发送邮件中包含图片

    List<string> To = new List<string>(); To.Add("jake_ge@askey.com.tw"); List< ...