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} 列出当前已安装指定关键字包
目录结构
-
标准目录
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界面。
Web 开发与设计师速查手册大全
星期二, 07月 21st, 2009
非常丰富且有用的资源,copy记录存照。
来源:http://www.tripwiremagazine.com/tools/design/40-must-have-cheat-sheets-for-effective-web-designers.html
整理:COMSHARP CMS
Cheat Sheet 一词在中文中并没有很贴切的对译,大概是考试作弊条一类的东西,这要求 Cheat Sheet 必须短小精悍又覆盖广泛,作为 Web 开发与设计师,免不了在工作时查询大量资料,某个 Web 色值,某个 JavaScript 库的核心语法,这类资料如果攒齐了,怕有半间屋子那么多,如果用 Cheet Sheet 也许几十页纸就够了,本文收集了近百份用于 Web 开发与设计的 Cheet Sheet,你会发现他们非常实用。
HTML, XHTML, CSS2
CSS2 Cheat Sheet
一份完整的 CSS2 速查手册。预览 | 下载 (PDF)
Gosquared CSS help sheets
设计和结构都很整齐,漂亮。下载(PDF)
ubuntu下netbeans中文乱码解决
星期二, 06月 2nd, 2009
由于英文字体导致
解决:
拷贝合适的中文字体到JAVA_HOME目录jre字体库fallback目录即可
sudo cp /usr/share/fonts/wqy/* {$JAVA_HOME}/jre/lib/fonts/fallback/
移除firefox上莫名其妙的.NET扩展
星期一, 06月 1st, 2009
安装.NET3.5SP1以后,Firefox插件栏中会多出一个插件Microsoft .NET Framework Assistant,且无法删除。
原本我也没有太在意,不过今天在网上发现该插件存在严重安全漏洞,这个插件给FireFox添加了目前为止Internet Explorer各个版本中最危险的安全漏洞之一:允许网站轻松而又不惹人察觉的在你的电脑上安装软件。MS都是在干啥啊……
删除方法如下:(英文原版)
- 打开 Registry Editor(Vista/Windows 7中在开始菜单搜索框中输入 regedit, 或在XP中运行(R) regedit)。
- 打开下面键:
- 32位系统:HKEY_LOCAL_MACHINE / SOFTWARE / Mozilla / Firefox / Extensions
- 64位系统:HKEY_LOCAL_MACHINE / SOFTWARE / Wow6432Node / Mozilla / Firefox / Extensions
- 删除{20a82645-c095-46ed-80e3-08825760534b}键.
- 打开Firefox(如果已经运行需要关闭重新打开)在地址栏输入 about:config 回车。
- 在过滤框中输入microsoftdotnet快速定位到 general.useragent.extra.microsoftdotnet,右键点击并重置(Reset),再关闭Firefox。(某些系统中没有此项,可直接关闭Firefox跳到下面步骤).
- 从资源管理器定位到%SYSTEMDRIVE%\Windows\Microsoft.NET\Framework\v3.5\Windows Presentation Foundation.
- 删除目录 DotNetAssistantExtension。
- 再打开Firefox,在插件栏中确认该插件(Microsoft .NET Framework Assistant)已经删除。
MAC环境变量配置
星期四, 05月 7th, 2009
用户配置文件
~/.profile
语法
export PATH=${PATH}:/usr/local/mysql/bin
或
export PATH=/usr/local/mysql/bin:$PATH
MAC下通过Port安装MYSQL
星期三, 05月 6th, 2009
sudo mysql_install_db5 –user=mysql
sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist
注:经实践,使用port安装软件会产生某些奇怪的问题,例如rails某些gem无法识别,软件版本冲突等等,建议慎用……
Chinese Posters
星期二, 05月 5th, 2009
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-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
乔布斯的演讲
星期二, 04月 21st, 2009
老文章存档……
在2005年六月12日对全体史丹佛大学毕业生的演讲内容。
‘You’ve got to find what you love,’ Jobs says.
======================================
今天,有荣幸来到各位从世界上最好的学校之一毕业的毕业典礼上。我从来没从大学毕业。说实话,这是我离大学毕业最近的一刻。今天,我只说三个故事,不谈大道理,三个故事就好。
第一个故事,是关于人生中的点点滴滴怎么串连在一起(collecting the dots)。
我在里德学院(Reed college)待了六个月就办休学了。到我退学前,一共休学了十八个月。那么,我为什么休学?
这得从我出生前讲起。我的亲生母亲当时是个研究生,年轻未婚妈妈,她决定让别人收养我。她强烈觉得应该让有大学毕业的人收养我,所以我出生时,她就准备让我被一对律师夫妇收养。但是这对夫妻到了最后一刻反悔了,他们想收养女孩。所以在等待收养名单上的一对夫妻,我的养父母,在一天半夜里接到一通电话,问他们「有一名意外出生的男孩,你们要认养他吗?」而他们的回答是「当然要」。后来,我的生母发现,我现在的妈妈从来没有大学毕业,我现在的爸爸则连高中毕业也没有。她拒绝在认养文件上做最后签字。直到几个月后,我的养父母同意将来一定会让我上大学,她才软化态度。
十七年后,我上大学了。但是当时我无知选了一所学费几乎跟史丹佛一样贵的大学,我那工人阶级的父母所有积蓄都花在我的学费上。六个月后,我看不出念这个书的价值何在。那时候,我不知道这辈子要乾什么,也不知道念大学能对我有什么帮助,而且我为了念这个书,花光了我父母这辈子的所有积蓄,所以我决定休学,相信船到桥头自然直。当时这个决定看来相当可怕,可是现在看来,那是我这辈子做过最好的决定之一。当我休学之后,我再也不用上我没兴趣的必修课,把时间拿去听那些我有兴趣的课。这一点也不浪漫。我没有宿舍,所以我睡在友人家里的地板上,靠着回收可乐空罐的五先令退费买吃的,每个星期天晚上得走七哩的路绕过大半个镇去印度教的Hare Krishna 神庙吃顿好料。我喜欢HareKrishna神庙的好料。追寻我的好奇与直觉,我所驻足的大部分事物,后来看来都成了无价之宝。
举例来说:
当时里德学院有着大概是全国最好的书法指导。在整个校园内的每一张海报上,每个抽屉的标签上,都是美丽的手写字。因为我休学了,可以不照正常选课程序来,所以我跑去学书法。我学了serif 与san serif 字体,学到在不同字母组合间变更字间距,学到活版印刷伟大的地方。书法的美好、历史感与艺术感是科学所无法捕捉的,我觉得那很迷人。我没预期过学的这些东西能在我生活中起些什么实际作用,不过十年后,当我在设计第一台麦金塔时,我想起了当时所学的东西,所以把这些东西都设计进了麦金塔里,这是第一台能印刷出漂亮东西的计算机。如果我没沉溺于那样一门课里,麦金塔可能就不会有多重字体跟变间距字体了。又因为Windows抄袭了麦金塔的使用方式,如果当年我没这样做,大概世界上所有的个人计算机都不会有这些东西,印不出现在我们看到的漂亮的字来了。当然,当我还在大学里时,不可能把这些点点滴滴预先串在一起,但是这在十年后回顾,就显得非常清楚。我再说一次,你不能预先把点点滴滴串在一起;唯有未来回顾时,你才会明白那些点点滴滴是如何串在一起的。
所以你得相信,你现在所体会的东西,将来多少会连接在一块。你得信任某个东西,直觉也好,命运也好,生命也好,或者业力(karma)。这种作法从来没让我失望,也让我的人生整个不同起来。
我的第二个故事,有关爱与失去。
我好运-年轻时就发现自己爱做什么事。我二十岁时,跟Steve Wozniak在我爸妈的车库里开始了苹果计算机的事业。我们拼命工作,苹果计算机在十年间从一间车库里的两个小伙子扩展成了一家员工超过四千人、市价二十亿美金的公司,在那之前一年推出了我们最棒的作品-麦金塔,而我才刚迈入人生的第三十个年头,然后被炒鱿鱼。
How can you get fired from a company you started?~~~
好吧,当苹果计算机成长后,我请了一个我以为他在经营公司上很有才乾的家伙来,他在头几年也确实乾得不错。可是我们对未来的愿景不同,最后只好分道扬镳,董事会站在他那边,炒了我鱿鱼,公开把我请了出去。曾经是我整个成年生活重心的东西不见了,令我不知所措。有几个月,我实在不知道要乾什么好。我觉得我令企业界的前辈们失望-我把他们交给我的接力棒弄丢了。我见了创办HP的David Packard跟创办Intel的Bob Noyce,跟他们说我很抱歉把事情搞砸得很厉害了。我成了公众的非常负面示范,我甚至想要离开硅谷。但是渐渐的,我发现,我还是喜爱着我做过的事情,在苹果的日子经历的事件没有丝毫改变我爱做的事。我被否定了,可是我还是爱做那些事情,所以我决定从头来过。
当时我没发现,但是现在看来,被苹果计算机开除,是我所经历过最好的事情。成功的沉重被从头来过的轻松所取代,每件事情都不那么确定,让我自由进入这辈子最有创意的年代。接下来五年,我开了一家叫做 NeXT的公司,又开一家叫做Pixar的公司,也爱上了一个不一般的女人,她后来成为了我的太太。Pixar接着制作了世界上第一部全计算机动画电影,玩具总动员,现在是世界上最成功的动画制作公司。然后,苹果计算机买下了NeXT,我回到了苹果,我们在NeXT发展的技术成了苹果计算机后来复兴的核心。Laurene和我也一块儿有了个美好的家庭。
我很确定,如果当年苹果计算机没开除我,就不会发生这些事情。这帖药很苦口,可是我想苹果计算机这个病人需要这帖药。有时候,人生会用砖头打你的头。不要丧失信心。我确信,我爱我所做的事情,这就是这些年来让我继续走下去的唯一理由。你得找出你爱的,工作上是如此,对另一半也是如此。
你的工作将填满你的一大块人生,唯一获得真正满足的方法就是做你相信是伟大的工作,而唯一做伟大工作的方法是爱你所做的事。如果你还没找到这些事,继续找,别停顿。尽你全心全力,你知道你一定会找到。而且,如同任何美好的恋情一样,事情只会随着时间愈来愈好。
所以,在你找到之前,继续找,别停顿。
我的第三个故事,关于死亡。
当我十七岁时,我读到一则格言,好像是「把每一天都当成生命中的最后一天,你就会轻松自在。」这对我影响深远,在过去33年里,我每天早上都会照镜子,自问:「如果今天是此生最后一日,我今天要乾些什么?」每当我连续太多天都得到一个「没事做」的答案时,我就知道我必须有所变革了。提醒自己快死了,是我在人生中下重大决定时,所用过最重要的工具。因为几乎每件事-所有外界期望、所有名誉、所有对困窘或失败的恐惧-在面对死亡时,都消失了,只有最重要的东西才会留下。提醒自己快死了,是我所知避免掉入自己有东西要失去了的陷阱里最好的方法。
人生不带来,死不带去,没什么道理不顺心而为。
一年前,我被诊断出癌症。我在早上七点半作断层扫描,在胰脏清楚出现一个肿瘤,我连胰脏是什么都不知道。医生告诉我,那几乎可以确定是一种不治之症,我大概活不到三到六个月了。医生建议我回家,好好跟亲人们聚一聚,这是典型的医生对临终病人的建议。那代表你得试着在几个月内把你将来十年想跟小孩讲的话讲完。那代表你得把每件事情搞定,家人才会尽量轻松。那代表你得跟人说再见了。我整天想着那个诊断结果,那天晚上做了一次切片,从喉咙伸入一个内视镜,从胃进肠子,插了根针进胰脏,取了一些肿瘤细胞出来。我打了镇静剂,不醒人事,当时我太太在场。她后来跟我说,当医生们用显微镜看过那些细胞后,他们都哭了,因为那是非常少见的一种胰脏癌,可以用手术治好。所以我接受了手术,康复了。
这是我最接近死亡的时候,我希望那会继续是未来几十年内最接近的一次。经历此事后,比起之前死亡在我脑海里是个抽象概念,现在我可以肯定告诉你们:
没有人想死。即使那些想上天堂的人,也想活着上天堂。但是死亡是我们共有的目的地,没有人逃得过。这是注定的,因为死亡简直就是生命中最棒的发明,是生命变化的媒介,送走老人们,给新生代留下空间。现在你们是新生代,但是不久的将来,你们也会逐渐变老,被送出人生的舞台。抱歉讲得这么戏剧化,但是这是真的。
你们的时间有限,所以不要浪费时间活在别人的生活里。不要被信条所惑-盲从信条就是活在别人思考结果里。不要让别人的意见淹没了你内在的心声。最重要的,拥有跟随内心与直觉的勇气,你的内心与直觉多少已经知道你真正想要成为什么样的人。任何其它事物都是次要的。
在我年轻时,有本神奇的杂志叫做 Whole Earth Catalog,当年我们很迷这本杂志。那是一位住在离这不远的Menlo Park的Stewart Brand发行的,他把杂志办得很有诗意。那是1960年代末期,个人计算机跟桌上出版还没发明,所有内容都是打字机、剪刀跟拍立得相机做出来的。
杂志内容有点像印在纸上的Google,在Google出现之前35年就有了:理想化,充满新奇工具与神奇的注记。Stewart跟他的出版团队出了好几期Whole Earth Catalog,然后出了停刊号。当时是1970年代中期,我正是你们现在这个年龄的时候。在停刊号的封底,有张早晨乡间小路的照片,那种你去爬山时会经过的乡间小路。
在照片下有行小字:stay hungry,stay foolish.
那是他们亲笔写下的告别讯息,我总是以此自许。
当你们毕业,展开新生活,我也以此期许你们。
求知若饥,虚心若愚。(stay hungry,stay foolish.)
非常谢谢大家。
