linux(ubuntu)软件安装实践

星期二, 06月 15th, 2010

准备在ubuntu上搞搞java,整个环境还是不太习惯,以前零零碎碎看了些操作片段,总是感觉很模糊,几天不用就忘一干二净了。

这次准备系统的搞搞清楚,在每遇到问题时就问题涉及范围内的知识要点先拟一个提纲,然后查资料、整理、描述、记录,这样有利于系统的提升。

这部分是关于ubuntu下软件安装的相关要点,部分自撰,部分来自网络。

常见方式

  • 自动安装

    通过软件管理 器或apt-get自动安装软件,软件会按照默认设置编译部署配置。

    优点:方便、快捷、易升级

    缺点:一般来说文件会按照标准分散在各目录,不易维护,因此如果需要经常对软件配置或其他内容进行维护,则不宜采用此方式。

    常用命令:

    • apt-get install {soft}
    • apt-get remove {soft}
    • apt-get update
    • apt-get autoremove 自动删除已经无效的包
  • 下载包解压安装

    下载发行商已经 编译好的压缩包进行安装,需自行解压,并进行相关配置。

    优点:可自定义文件部署路径,方便配置维护。

    缺点:部署、升级、删除需手工操作,需关注依赖。

    常用命令:

    • wget http://{package url} 获取包
    • curl -o http://{package url}  获取包
    • tar zxvf {package.gz} -C {target dir. etc /opt} 将包gzip解压到指定路径
  • 手工编译安装

    下载源代码包,手工编译安装。

    优点:可对针对具体情况对软件编译参数进行设置。

    缺点:需要了解软件编译参数,需要编译环境,手工操作容易出错,依赖问题。

    常用命令:

    • sudo ./configure {–options}
    • make
    • make install
  • 常用工具

    aptitude:apt终端图形界面工具

    dpkg:deb包管理工具

    • dpkg -i {pkg.deb} 安装包
    • dpkg -r {pkg} 删除包
    • dpkg -L {pkg} 列出与该包关联文件
    • dpkg -l | grep {keyword}  列出当前已安装指定关键字包

    dpkg指令参考/apt指令参考

目录结构

  • 标准目录

    linux系统的标准目录规范,如果通过系统软件管理器自动安装软件,则通常遵循此规范要求。

    • /bin 系统执行文件,最常使用命令,这些文件可以被普通用户使用。
    • /sbin 系统执行文件,这些文件不打算被普通用户使用,普通用户使用要指定目录。
    • /root 系统管理员(也叫超级用户或根用户)的Home目录。
    • /dev 设备文件目录。
    • /boot 用于自举加载程序(LILO或GRUB)的文件。
    • /lost+found 在文件系统修复时恢复的文件
    • /lib 系统核心共享库目录,几乎所有的应用程序都会用到该目录下的共享库。
    • /opt 可选应用程序目录,很多第三方软件在安装时默认会找这个目录。
    • /tmp 用来存放不同程序执行时产生的临时文件,该目录会被系统自动清理干净。
    • /var 存放在正常操作中被修改的文件,包括各种日志、加锁、临时文件、数据文件等。
    • /var/log 系统日志目录,通常也将其他系统的日志置于此目录或子目录。
    • /etc 存放各种配置文件和子目录,例如网络配置文件、文件系统、用户配置信息等。
    • /home/{user} 用户目录
    • /usr 用户的应用程序和文件几乎都存放在该目录下。
    • /usr/share 独立与你计算机结构的数据,譬如,字典中的词。
    • /usr/(s)bin 类似根目录下对应的目录(/bin和/sbin),但不用于基本的启动(譬如,在紧急维护中)。大多数命令在这个目录下。
    • /usr/local 本地安装的应用程序,这个目录下的内容在重安装或升级操作系统后应该存在。
    • /usr/local/bin 可能是用户安装的小的应用程序,和一些在/usr/local目录下大应用程序的符号连接。
    • /usr/src Linux开放的源代码目录。
  • 常见规划

    • 桌面用途

      用户自有应用和文件置于/home/{user}中。

      系统共享应用可置于/usr/local。

      纯自用无共享主机也可全部置于/home/{user}中。

      /home可独立划分磁盘分区方便管理升级维护。

    • 服务器用途

      无固定模式,根据实际需求,通常不会严格按照规范。

      常见模式

      根据文件更新频繁度、破碎、重要性、IO读写等关键指标,将文件分类存储于不同目录、分区或磁盘,方便维护管理,提高性能和安全性。

环境设置

  • /etc/enviroment 系统环境变量配置,系统启动时读取。
  • /etc/profile 用户全局环境变量配置,用户登录启用时读取。
  • /etc/bashrc 开启shell时为每个bash用户执行此环境配置。
  • ~/.profile 具体用户环境变量配置。
  • ~/.bashrc 具体用户开启shell时环境配置。
  • ~/.bash_profile 交互式、login方式进入bash时运行,通常和.bashrc内容相同,因此通常会调用.bashrc。
  • ~/.bash_logout 当每次退出系统(退出bash shell)时,执行该文件。

服务

最后,某些软件我们希望把他设置为服务,或者简单的说希望 他开机启动,很简单。

将启动脚本部署到/etc/init.d/,然后安装一个软件rcconf。

sudo apt-get install rcconf

运行rcconf即可设置启动选项,很怀旧的dos风格gui界面。

Linode VPS with Nginx的进一步优化

星期三, 12月 2nd, 2009

  • 清理系统服务

    可以关闭不必要的系统服务,linux下常用chkconfig,在ubuntu系统上最常用sysv-rc-conf,界面更友好使用更方便,直接通过源安装即可运行。

    sudo apt-get install sysv-rc-conf
    sudo sysv-rc-conf
    		

    通过软件可以发现,Linode提供的系统已经关闭了很多不必要的服务,但是系统自带了apache,直接取消选择关闭即可。

  • 查看全部内容 >>

我对Linux系统还处于初入门阶段,在配置安装Linode VPS的服务过程中学到了不少东西,了解了不少概念,特记之。

  1. 启用

    Linode的网站设计非常简洁,一个粗略认识英文的同学都可以轻易申请搞定,就不需要再介绍了。

    在选择服务器网络物理位置的时候,Linode提供了一个下载测试列表供大家测试,你可以选择访问速度最优的位置。网上其它同学很多选择Fremont,不过我测试下来(杭州ADSL4M)Newark最快,浏览器单线程下载速度稳定达到300K+,所以我选择了Newark。估计各地网络不同有所区别,大家选用建议自行测试。

    系统我选择的是ubuntu(嗯,已经提供9.10Server了),主要是出于我对ubuntu桌面版的使用习惯和偏爱。网上很多说法是ubuntu服务器版不够专业,不过我本来也不太够专业,也不知道ubuntu哪里不够专业,呵呵,也就无所谓了。

  2. 环境基本配置

    在web面板开启虚拟机以后,你就可以通过root用户和密码在客户端(推荐putty)登录。登陆后第一件事情,增加一个新账号(用你的常用名 例如myname)。

    adduser myname
    visudo
    

    在该文件中增加以下行

    myname ALL=(ALL) ALL
    

    此操作使myname用户可以使用sudo命令,如果要给其他账号提供sudo操作权限,类推。

    ok,exit命令退出putty登录再重启,通过myname账号和你设置的密码重新登录系统。Linode默认提供的ubuntu的源缺少一些开发包,所以我们先编辑一下源。

    sudo vi /etc/apt/source.list
    

    我们需要做的仅仅是将文件中已经注释掉的几行源去掉前面的“#”,重新开启即可——不需要为具体的源担心,默认的已经飞速了。然后我们需要刷新一下

    sudo apt-get update
    

    我习惯使用vim,所以先安一个

    sudo apt-get install vim
    

    我们还需要一个中文UTF的本地环境,不过这得看情况,也许你不需要?

    sudo locale-gen zh_CN.UTF-8
    sudo /usr/sbin/update-locale LANG=zh_CN.UTF-8
    

    将服务器时间设置为上海时间

    sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    
  3. 查看全部内容 >>

ubuntu flash中文乱码

星期二, 05月 5th, 2009

sudo gedit /etc/fonts/conf.d/49-sansserif.conf

替换sans-serif或者serif为wqy-zenhei(或其他你喜欢的中文字体)即可。

ubuntu 9.04 with vbox2.2.2

星期三, 04月 29th, 2009

感觉ubuntu运行在vbox下和独立运行区别不大,都比较流畅。开启3D以后屏幕刷新有点问题,估计内存设的小点的缘故,关了一切就ok。可以尝试作为开发环境,在windows下开发linux环境程序太痛苦了。

ubuntu 9.04的桌面可用性又好了很多,最直接一点,安装后默认的字体已经很漂亮了,不用再调整字体了……

一个好源(杭州电信ADSL连接)

deb http://ftp.sjtu.edu.cn/ubuntu/ jaunty main multiverse restricted universe
deb http://ftp.sjtu.edu.cn/ubuntu/ jaunty-backports main multiverse restricted universe
deb http://ftp.sjtu.edu.cn/ubuntu/ jaunty-proposed main multiverse restricted universe
deb http://ftp.sjtu.edu.cn/ubuntu/ jaunty-security main multiverse restricted universe
deb http://ftp.sjtu.edu.cn/ubuntu/ jaunty-updates main multiverse restricted universe
deb-src http://ftp.sjtu.edu.cn/ubuntu/ jaunty main multiverse restricted universe
deb-src http://ftp.sjtu.edu.cn/ubuntu/ jaunty-backports main multiverse restricted universe
deb-src http://ftp.sjtu.edu.cn/ubuntu/ jaunty-proposed main multiverse restricted universe
deb-src http://ftp.sjtu.edu.cn/ubuntu/ jaunty-security main multiverse restricted universe
deb-src http://ftp.sjtu.edu.cn/ubuntu/ jaunty-updates main multiverse restricted universe

Go With Ubuntu 6.10

星期三, 01月 31st, 2007

捣鼓了几天linux,终于基本搞定了。字体美化,源更新,自动更新,多媒体支持,聊天工具,BT……开始用吧 Linux

Go With Ubuntu 6.10

Ubuntu教程

星期一, 07月 24th, 2006

言简意赅的文章和信息全面的著书,前者往往能让人获得更多的信息,这里面的起作用的是人的态度,而不是信息的多少。

http://forum.ubuntu.org.cn/about18740.html&highlight=%E8%BE%93%E5%85%A5%E6%B3%95