ubuntu--基础环境瞎搞集合
安装ubuntu系统后有很多东西需要自己瞎搞一下,这里把一些瞎搞的过程记录在这里,方便以后重新装系统后重新配置。
一、安装。
可以在windows下制作启动盘(软碟通),然后开机u盘启动即可安装,预留出50G大小的硬盘差不多了。
安装过程中预留4G的交换空间,剩余的直接挂在到:/ 下即可;
其它的东西基本上不需要动了。
下面是基础的软件安装:
二、vim
- 安装命令: sudo apt-get install vim
- vim的基础配置:vim ~/.vimrc
- "=========================================================================
- " DesCRiption: 适合自己使用的vimrc文件,for Linux/Windows, GUI/Console
- "
- " Last Change: 2010年08月02日 15时13分
- "
- " Version: 1.80
- "
- "=========================================================================
- set mouse=a
- set nocompatible " 关闭 vi 兼容模式
- syntax on " 自动语法高亮
- colorscheme desert " 设定配色方案
- set number " 显示行号
- set cursorline " 突出显示当前行
- set ruler " 打开状态栏标尺
- set shiftwidth= " 设定 << 和 >> 命令移动时的宽度为 4
- set softtabstop= " 使得按退格键时可以一次删掉 4 个空格
- set tabstop= " 设定 tab 长度为 4
- set nobackup " 覆盖文件时不备份
- set autochdir " 自动切换当前目录为当前文件所在的目录
- filetype plugin indent on " 开启插件
- set backupcopy=yes " 设置备份时的行为为覆盖
- set ignorecase smartcase " 搜索时忽略大小写,但在有一个或以上大写字母时仍保持对大小写敏感
- set nowrapscan " 禁止在搜索到文件两端时重新搜索
- set incsearch " 输入搜索内容时就显示搜索结果
- set hlsearch " 搜索时高亮显示被找到的文本
- set noerrorbells " 关闭错误信息响铃
- set novisualbell " 关闭使用可视响铃代替呼叫
- set t_vb= " 置空错误铃声的终端代码
- " set showmatch " 插入括号时,短暂地跳转到匹配的对应括号
- " set matchtime=2 " 短暂跳转到匹配括号的时间
- set magic " 设置魔术 正则打开(不是很懂)
- set hidden " 允许在有未保存的修改时切换缓冲区,此时的修改由 vim 负责保存
- set guioptions-=T " 隐藏工具栏
- set guioptions-=m " 隐藏菜单栏
- set smartindent " 开启新行时使用智能自动缩进
- set backspace=indent,eol,start
- " 不设定在插入状态无法用退格键和 Delete 键删除回车符
- set cmdheight= " 设定命令行的行数为 1
- set laststatus= " 显示状态栏 (默认值为 1, 无法显示状态栏)
- set statusline=\ %<%F[%*%M%*%n%R%H]%=\ %y\ %(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\
- " 设置在状态行显示的信息
- "set foldenable " 开始折叠
- "set foldmethod=syntax " 设置语法折叠
- "set foldcolumn=0 " 设置折叠区域的宽度
- "setlocal foldlevel=1 " 设置折叠层数为
- " set foldclose=all " 设置为自动关闭折叠
- " nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>
- " 用空格键来开关折叠
- " return OS type, eg: windows, or linux, mac, et.st..
- function! MySys()
- if has("win16") || has("win32") || has("win64") || has("win95")
- return "windows"
- elseif has("unix")
- return "linux"
- endif
- endfunction
- " 用户目录变量$VIMFILES
- if MySys() == "windows"
- let $VIMFILES = $VIM.'/vimfiles'
- elseif MySys() == "linux"
- let $VIMFILES = $HOME.'/.vim'
- endif
- " 设定doc文档目录
- let helptags=$VIMFILES.'/doc'
- " 设置字体 以及中文支持
- if has("win32")
- set guifont=Inconsolata:h12:cANSI
- endif
- " 配置多语言环境
- if has("multi_byte")
- " UTF-8 编码
- "set encoding=utf-8
- "set termencoding=utf-8
- "set formatoptions+=mM
- "set fencs=gbk,utf-8
- "set encoding=utf-8 "设置gvim内部编码,默认不更改
- "set fileencoding=utf-8 "设置当前文件编码,可以更改,如:gbk(同cp936)
- "set fileencodings=gbk,ucs-bom,utf-8,cp936,latin-1 "设置支持打开的文件的编码
- set fileencodings=gb2312,utf-,unicode
- set fileencoding=gb2312 "浏览器是GB2312编码 , java是unicode , gedit是utf-8
- set termencoding=utf-
- if v:lang =~? '^\(zh\)\|\(ja\)\|\(ko\)'
- set ambiwidth=double
- endif
- if has("win32")
- source $VIMRUNTIME/delmenu.vim
- source $VIMRUNTIME/menu.vim
- language messages zh_CN.utf-
- endif
- else
- echoerr "Sorry, this version of (g)vim was not compiled with +multi_byte"
- endif
- " Buffers操作快捷方式!
- nnoremap <C-RETURN> :bnext<CR>
- nnoremap <C-S-RETURN> :bprevious<CR>
- " Tab操作快捷方式!
- nnoremap <C-TAB> :tabnext<CR>
- nnoremap <C-S-TAB> :tabprev<CR>
- "关于tab的快捷键
- " map tn :tabnext<cr>
- " map tp :tabprevious<cr>
- " map td :tabnew .<cr>
- " map te :tabedit
- " map tc :tabclose<cr>
- "窗口分割时,进行切换的按键热键需要连接两次,比如从下方窗口移动
- "光标到上方窗口,需要<c-w><c-w>k,非常麻烦,现在重映射为<c-k>,切换的
- "时候会变得非常方便.
- "nnoremap 是在命令模式下才可以使用
- "inoremap 是在插入模式下才可以使用
- nnoremap <C-h> <C-w>h
- nnoremap <C-j> <C-w>j
- nnoremap <C-k> <C-w>k
- nnoremap <C-l> <C-w>l
- "一些不错的映射转换语法(如果在一个文件中混合了不同语言时有用)
- nnoremap <leader> :set filetype=xhtml<CR>
- nnoremap <leader> :set filetype=css<CR>
- nnoremap <leader> :set filetype=javascript<CR>
- nnoremap <leader> :set filetype=php<CR>
- " set fileformats=unix,dos,mac
- " nmap <leader>fd :se fileformat=dos<CR>
- " nmap <leader>fu :se fileformat=unix<CR>
- " use Ctrl+[l|n|p|cc] to list|next|previous|jump to count the result
- " map <C-x>l <ESC>:cl<CR>
- " map <C-x>n <ESC>:cn<CR>
- " map <C-x>p <ESC>:cp<CR>
- " map <C-x>c <ESC>:cc<CR>
- " 让 Tohtml 产生有 CSS 语法的 html
- " syntax/2html.vim,可以用:runtime! syntax/2html.vim
- let html_use_css=
- " Python 文件的一般设置,比如不要 tab 等
- autocmd FileType python set tabstop= shiftwidth= expandtab
- autocmd FileType python map <F12> :!python %<CR>
- " 选中状态下 Ctrl+c 复制
- vmap <C-c> <ESC>y
- " 打开javascript折叠
- let b:javascript_fold=
- " 打开javascript对dom、html和css的支持
- let javascript_enable_domhtmlcss=
- " 设置字典 ~/.vim/dict/文件的路径
- autocmd filetype javascript set dictionary=$VIMFILES/dict/javascript.dict
- autocmd filetype css set dictionary=$VIMFILES/dict/css.dict
- autocmd filetype php set dictionary=$VIMFILES/dict/php.dict
- "-----------------------------------------------------------------
- " plugin - bufexplorer.vim Buffers切换
- " \be 全屏方式查看全部打开的文件列表
- " \bv 左右方式查看 \bs 上下方式查看
- "-----------------------------------------------------------------
- "-----------------------------------------------------------------
- " plugin - taglist.vim 查看函数列表,需要ctags程序
- " F4 打开隐藏taglist窗口
- "-----------------------------------------------------------------
- if MySys() == "windows" " 设定windows系统中ctags程序的位置
- let Tlist_Ctags_Cmd = '"'.$VIMRUNTIME.'/ctags.exe"'
- elseif MySys() == "linux" " 设定windows系统中ctags程序的位置
- let Tlist_Ctags_Cmd = '/usr/bin/ctags'
- endif
- nnoremap <silent><F4> :TlistToggle<CR>
- let Tlist_Show_One_File = " 不同时显示多个文件的tag,只显示当前文件的
- let Tlist_Exit_OnlyWindow = " 如果taglist窗口是最后一个窗口,则退出vim
- let Tlist_Use_Right_Window = " 在右侧窗口中显示taglist窗口
- let Tlist_File_Fold_Auto_Close= " 自动折叠当前非编辑文件的方法列表
- let Tlist_Auto_Open =
- let Tlist_Auto_Update =
- let Tlist_Hightlight_Tag_On_BufEnter =
- let Tlist_Enable_Fold_Column =
- let Tlist_Process_File_Always =
- let Tlist_Display_Prototype =
- let Tlist_Compact_Format =
- "-----------------------------------------------------------------
- " plugin - mark.vim 给各种tags标记不同的颜色,便于观看调式的插件。
- " \m mark or unmark the word under (or before) the cursor
- " \r manually input a regular expression. 用于搜索.
- " \n clear this mark (i.e. the mark under the cursor), or clear all highlighted marks .
- " \* 当前MarkWord的下一个 \# 当前MarkWord的上一个
- " \/ 所有MarkWords的下一个 \? 所有MarkWords的上一个
- "-----------------------------------------------------------------
- "-----------------------------------------------------------------
- " plugin - NERD_tree.vim 以树状方式浏览系统中的文件和目录
- " :ERDtree 打开NERD_tree :NERDtreeClose 关闭NERD_tree
- " o 打开关闭文件或者目录 t 在标签页中打开
- " T 在后台标签页中打开 ! 执行此文件
- " p 到上层目录 P 到根目录
- " K 到第一个节点 J 到最后一个节点
- " u 打开上层目录 m 显示文件系统菜单(添加、删除、移动操作)
- " r 递归刷新当前目录 R 递归刷新当前根目录
- "-----------------------------------------------------------------
- " F3 NERDTree 切换
- map <F3> :NERDTreeToggle<CR>
- imap <F3> <ESC>:NERDTreeToggle<CR>
- "-----------------------------------------------------------------
- " plugin - NERD_commenter.vim 注释代码用的,
- " [count],cc 光标以下count行逐行添加注释(7,cc)
- " [count],cu 光标以下count行逐行取消注释(7,cu)
- " [count],cm 光标以下count行尝试添加块注释(7,cm)
- " ,cA 在行尾插入 /* */,并且进入插入模式。 这个命令方便写注释。
- " 注:count参数可选,无则默认为选中行或当前行
- "-----------------------------------------------------------------
- let NERDSpaceDelims= " 让注释符与语句之间留一个空格
- let NERDCompactSexyComs= " 多行注释时样子更好看
- "-----------------------------------------------------------------
- " plugin - DoxygenToolkit.vim 由注释生成文档,并且能够快速生成函数标准注释
- "-----------------------------------------------------------------
- let g:DoxygenToolkit_authorName="Asins - asinsimple AT gmail DOT com"
- let g:DoxygenToolkit_briefTag_funcName="yes"
- map <leader>da :DoxAuthor<CR>
- map <leader>df :Dox<CR>
- map <leader>db :DoxBlock<CR>
- map <leader>dc a /* */<LEFT><LEFT><LEFT>
- "-----------------------------------------------------------------
- " plugin – ZenCoding.vim 很酷的插件,HTML代码生成
- " 插件最新版:http://github.com/mattn/zencoding-vim
- " 常用命令可看:http://nootn.com/blog/Tool/23/
- "-----------------------------------------------------------------
- "-----------------------------------------------------------------
- " plugin – checksyntax.vim JavaScript常见语法错误检查
- " 默认快捷方式为 F5
- "-----------------------------------------------------------------
- let g:checksyntax_auto = " 不自动检查
- "-----------------------------------------------------------------
- " plugin - NeoComplCache.vim 自动补全插件
- "-----------------------------------------------------------------
- let g:AutoComplPop_NotEnableAtStartup =
- let g:NeoComplCache_EnableAtStartup =
- let g:NeoComplCache_SmartCase =
- let g:NeoComplCache_TagsAutoUpdate =
- let g:NeoComplCache_EnableInfo =
- let g:NeoComplCache_EnableCamelCaseCompletion =
- let g:NeoComplCache_MinSyntaxLength =
- let g:NeoComplCache_EnableSkipCompletion =
- let g:NeoComplCache_SkipInputTime = '0.5'
- let g:NeoComplCache_SnippetsDir = $VIMFILES.'/snippets'
- " <TAB> completion.
- inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
- " snippets expand key
- imap <silent> <C-e> <Plug>(neocomplcache_snippets_expand)
- smap <silent> <C-e> <Plug>(neocomplcache_snippets_expand)
- "-----------------------------------------------------------------
- " plugin - matchit.vim 对%命令进行扩展使得能在嵌套标签和语句之间跳转
- " % 正向匹配 g% 反向匹配
- " [% 定位块首 ]% 定位块尾
- "-----------------------------------------------------------------
- "-----------------------------------------------------------------
- " plugin - vcscommand.vim 对%命令进行扩展使得能在嵌套标签和语句之间跳转
- " SVN/git管理工具
- "-----------------------------------------------------------------
- """""新文件标题""""""""""
- "新建.c,.h,.sh,.java文件,自动插入文件头
- autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()"
- ""定义函数SetTitle,自动插入文件头
- func SetTitle()
- "如果文件类型为.sh文件
- if &filetype == 'sh'
- call setline(,"\#########################################################################")
- call append(line("."), "\# File Name: ".expand("%"))
- call append(line(".")+, "\# Author: Bai Yan")
- call append(line(".")+, "\# 功能:")
- call append(line(".")+, "\# Created Time: ".strftime("%c"))
- call append(line(".")+, "\#########################################################################")
- call append(line(".")+, "\#!/bin/bash")
- call append(line(".")+, "")
- else
- call setline(, "/*************************************************************************")
- call append(line(".") , " > File Name: ".expand("%"))
- call append(line(".")+, " > Author: Bai Yan")
- call append(line(".")+, " > 题意:")
- call append(line(".")+, " > Created Time: ".strftime("%c"))
- call append(line(".")+, " ************************************************************************/")
- call append(line(".")+, "")
- endif
- "if &filetype == 'cpp'
- "call append(line(".")+6, "#include<iostream>")
- "call append(line(".")+7, "using namespace std;")
- "call append(line(".")+8, "")
- "endif
- "if &filetype == 'c'
- "call append(line(".")+6, "#include<stdio.h>")
- "call append(line(".")+7, "")
- "endif
- "新建文件后,自动定位到文件末尾
- autocmd BufNewFile * normal G
- endfunc
- """""""""""""""""""""""""""""""
- "-----------------------------------------------------------------
- " plugin – a.vim
- "-----------------------------------------------------------------
- if has("autocmd")
- au InsertEnter * silent execute "!gconftool-2 --type string --set /apps/gnome-terminal/profiles/Default/cursor_shape ibeam"
- au InsertLeave * silent execute "!gconftool-2 --type string --set /apps/gnome-terminal/profiles/Default/cursor_shape block"
- au VimLeave * silent execute "!gconftool-2 --type string --set /apps/gnome-terminal/profiles/Default/cursor_shape ibeam"
- endif
三、C语言编译器: g++
- sudo apt-get install g++
四、联通终端和粘贴板的工具:xclip
- sudo apt-get install xclip
五、一种更好用的shell命令行:fish-shell
- sudo apt-get install fish
- //设置开机自动运行fish,即不用手动启用fish
- whereis fish
- //根据上个命令返回的路径,(基本上不会变)
- chsh -s /usr/bin/fish
- //重启计算机就可以看到效果
六、JAVA整套环境;
① JDK安装:
地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
解压命令
- sudo tar zxvf ./jdk-7u45-linux-x64.tar.gz
- 移动命令顺便改了个名字
- sudo mv jdk1..0_45/ jdk1./
编辑 .bashrc 文件。
在终端输入如下命令:
- vi ~/.bashrc
在该文件的末尾,加上以上几行代码:
export JAVA_HOME=/opt/Java/jdk/jdk1.7
- export JRE_HOME=${JAVA_HOME}/jre
- export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
- export PATH=${JAVA_HOME}/bin:$PATH
为了让更改立即生效,请在终端执行如下命令:
- source ~/.bashrc
② eclipse 安装
将eclipse解压到你想安装到的目录下,然后将jdk安装目录下的jre文件拷贝到eclipse安装目录中,然后双击eclipse运行图标,eclipse启动起来了。
如何在桌面创建eclipse启动器
1、sudo apt-get install --no-install-recommends gnome-panel
2、完成后,运行:gnome-desktop-item-edit ~/ --create-new
或者使用如下方法:
$ sudo su
# vim /usr/share/applications/eclipse.desktop
写入以下内容
[Desktop Entry]
Name=Eclipse
Comment=Eclipse SDK
Encoding=UTF-8
Exec=/usr/local/eclipse/eclipse
Icon=/usr/local/eclipse/icon.xpm
Terminal=false
Type=Application
Categories=Application;Development;
完成后可以在Application-Programming下看到eclipse图标。
注意:
Exec=/usr/local/eclipse/eclipse
Icon=/usr/local/eclipse/icon.xpm
分别是eclipse可执行文件和图标所在目录,根据自己的实际情况修改。
七、mysql 卸载与安装
删除 mysql
sudo apt-get autoremove --purge mysql-server-5.0
sudo apt-get remove mysql-server
sudo apt-get autoremove mysql-server
sudo apt-get remove mysql-common //这个很重要
上面的其实有一些是多余的。
清理残留数据
- dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
安装 mysql
- sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install php5-mysql
// 安装php5-mysql 是将php和mysql连接起来
一旦安装完成,MySQL 服务器应该自动启动。您可以在终端提示符后运行以下命令来检查 MySQL 服务器是否正在运行:
sudo netstat -tap | grep mysql
当您运行该命令时,您可以看到类似下面的行:
tcp 0 0 localhost.localdomain:mysql *:* LISTEN -
如果服务器不能正常运行,您可以通过下列命令启动它:
sudo /etc/init.d/mysql restart
注意: 此时系统会自动分配一个用户名和密码,很长很怪,我们先登陆进去然后更改就好了;
- sudo gedit /etc/mysql/debian.cnf //用户名和密码所在;
- mysql -u debian-sys-maint -p //登录这个用户;
- set password for 'root'@'localhost' = password('yourpass'); //修改密码;
进入mysql
$mysql -u root -p 管理员密码
配置 MySQL 的管理员密码:
sudo mysqladmin -u root password newpassword
八、更换ubuntu的系统主题和图标
1. 安装Unity Tweak Tool
在你能对Ubuntu外观做任何有效地修改之前,你不得不安装Unity Tweak Tool。
这是一个Unity桌面环境下特殊设置管理软件,并且通过它你可以实现替换系统图标和主题。
你可以从Ubuntu软件中心下载该软件,如果你更加偏爱terminal终端的话,你也可以使用下面的命令:
- sudo apt-get install unity-tweak-tool
如果你正在使用Gnome桌面环境,那么你可能需要尝试Gnome Tweak Tool这款软件。
你也可以从Ubuntu软件中心和使用以下命令来安装该软件:
- sudo apt-get install gnome-tweak-tool
2. 安装GTK主题
对于Ubuntu有很多定制的主题,这些主题可以影响应用和窗口的外观。我正在使用的主题是Numix GTK+。
你可以在http://numixproject.org/找到关于Numix主题和图标的更多信息。
你可以通过打开终端并输入以下命令来安装Numix主题
- sudo add-apt-repository ppa:numix/ppa
- sudo apt-get update && sudo apt-get install numix-gtk-theme
为了使该主题生效,我们需要打开Unity Tweak Tool,选择“外观标题”下的“主题”选项,
然后在“已有主题”一栏中选择该主题。只要相应的软件仓库名字一致,对于其他主题,
你可以重复该过程来应用。你可以访问Gnome-Look.org获得更多的主题。、
另一个和Numix主题很相似的主题是Moka,
你可以在http://mokaproject.com/获得更多关于Moka主题的信息。
3. 安装图标
以上截图中使用的图标是来自Numix主题的Numix圆形图标。你可以通过在终端输入以下命令来安装该图标集
- sudo apt-add-repository ppa:numix/ppa
- sudo apt-get update
- sudo apt-get install numix-icon-theme-circle
为了使该图标集生效,我们需要在Unity Tweak Tool中选择“图标”选项,然后选择该图标集。
再一次声明,这个方法对于任何图标集是可行的。Moka也提供给你的桌面带来多彩的、一致性设计的图标集。
4. 安装conky系统监视软件
Conky是一个轻量级桌面系统监视软件。该软件本身是非常简单的,不过它是可定制的,这样一来它就可以显示很多的有用的信息。
你可以通过在终端输入以下命令来
安装Conky:
- sudo apt-get install conky conky-all
你将会需要curl这个软件,你可以通过以下这个命令来安装该软件:
- sudo apt-get install curl
上面截图中使用的conky主题是Harmattan,它可以以15种不同的样式来显示时间、天气、以及系统进程。
要安装该主题,你可以从deviantART下载zip文件,然后解压。
将.conky-weather文件夹和位于主题文件夹的.conkyrc文件(你可能需要按Ctrl+H来显示这些隐藏文件)移动到你的home文件夹。
Conky有很多的主题。尝试这些主题,你所需要做的就是用所要使用主题的.conkyrc文件替换在home文件夹的.conkyrc文件。
5. 安装一些指示器程序
有很多第三方的指示器程序,通过这些程序你可以监视你的桌面信息,例如天气、系统性能等。我所使用的指示器程序相当简单。
因为天气和系统性能已经在conky中显示,所以我没有安装这些指示器。不过你可以在终端输入以下命令来安装他们:
- sudo apt-get install indicator-weather
- sudo apt-get install indicator-multiload
- 我所使用的两个指示器程序是大小写指示程序以及触摸板控制器,这是因为我的笔记本没有大小写指示灯和控制触摸板开关的热键。
你可以通过以下命令来安装这两个软件:
- sudo apt-get install indicator-weather
- sudo add-apt-repository ppa:tsbarnes/indicator-keylock
- sudo add-apt-repository ppa:atareao/atareao
- sudo apt-get update
- sudo apt-get install indicator-keylock
- sudo apt-get install touchpad-indicator
你可能需要注销并重新登录来使用这些应用。
- sudo add-apt-repository ppa:tsbarnes/indicator-keylock
九、GitHub
1. 安装
- sudo apt-get install git
2. git clone 文件夹的网络地址
会在本地clone一个一样的文件夹
3. 然后就可以进行写东西了。
4. 写完东西后push到远端。
git pull
git add tmp.cpp
git commit -m "balabalabala"
git push
5. 需要从远端下载就
git pull
十、LAMP环境搭建
上面已经安装过Mysql了;
下面安装 apache2
- sudo apt-get install apache2 apache2-doc
http://localhost 打开看看是否可以使用了,我的就已经可以了;
然后 安装php5
- 终端:sudo apt-get install php5 libapache2-mod-php5 。
- 重启Apache服务使php模块生效,
终端:sudo service apache2 restart 。
重启失败,需要更改一下apache2的设置;
/etc/apache2/apache2.conf
加入代码:ServerName localhost- 测试php5是否安装成功,先编辑一个测试文件,
终端:sudo vim /var/www/html/phpinfo.php,输入如下内容:
<?php
phpinfo();
?>
然后在浏览器打开http://localhost/phpinfo.php , 看看是否可以使用了;
然后就要连接数据库和php了
上面的数据库安装的时候有;
十一、开机自动挂载分区
- ubuntu自动挂载ntfs分区就要手动编辑/etc/fstab 文件,/etc/fstab包含了挂在磁盘的必要信息,在系统启动时读入。
- . 先用fdisk命令查看磁盘信息
- sudo fdisk -l
- 2. 修改开机启动文件
- sudo gedit /etc/fstab
- 3. 每一行使用一个tab分成6列,分别为filesystem, mountpoint, type, options, dump, pass
- 分别表示:原来在文件系统的位置,加载点位置,类型,参数等,可以使用man fstab来查看各个参数的定义
- 将以下内容添加到/etc/fstab 文件尾部,保存,重启即可自动挂载其他分区了。
- #Other分区
- /dev/sda5 /media/Other ntfs defaults,locale=zh_CN.UTF-
- #Data分区
- /dev/sda6 /media/Data ntfs defaults,locale=zh_CN.UTF-
十二、ftp 服务器
- Ubuntu 用vsftpd 配置FTP服务器
- 网上的文章好难懂啊。。只想要简单粗暴,弄好能用就行啊,复杂的以后研究不行吗。。。折腾好久,其实弄出来能用不就这么点内容吗。。。
- 本文在Ubuntu Server 14.04 amd64系统测试。
- Made By:CSGrandeur
- 安装ftp
- sudo apt-get install vsftpd
- 配置vsftpd.conf
- sudo nano /etc/vsftpd.conf
- 复制代码
- #禁止匿名访问
- anonymous_enable=NO
- #接受本地用户
- local_enable=YES
- #允许上传
- write_enable=YES
- #用户只能访问限制的目录
- chroot_local_user=YES
- #设置固定目录,在结尾添加。如果不添加这一行,各用户对应自己的目录,当然这个文件夹自己建
- local_root=/home/ftp
- 复制代码
- 看网上说加一行“pam_service_name=vsftpd”,我看我这个配置文件本来就有,就不管了。
- 添加ftp用户
- sudo useradd -d /home/ftp -M ftpuser
- sudo passwd ftpuser
- 调整文件夹权限
- 这个是避免“ OOPS: vsftpd: refusing to run with writable root inside chroot()”
- sudo chmod a-w /home/ftp
- sudo mkdir /home/ftp/data
- 这样登录之后会看到data文件夹,虽然稍麻烦,原因不表了。。查资料这么辛酸已经不易。。
- 改pam.d/vsftpd
- 这时候直接用useradd的帐号登录ftp会530 login incorrect
- sudo nano /etc/pam.d/vsftpd
- 注释掉
- #auth required pam_shells.so
- 重启vsftpd
- sudo service vsftpd restart
- 这时就可以用刚才建的ftpuser这个用户登录ftp了,看到的是local_root设置的/home/ftp,并且限制在该目录。
- 可以在浏览器用ftp://xxx.xxx.xxx.xxx访问,也可以用ftp软件比如flashFXP,密码就是ftpuser的密码。
- 关于用户访问文件夹限制
- 由chroot_local_user、chroot_list_enable、chroot_list_file这三个文件控制,转别人的一段话:
- 首先,chroot_list_enable好理解,就是:是否启用chroot_list_file配置的文件,如果为YES表示chroot_list_file配置的文件生效,否则不生效;
- 第二,chroot_list_file也简单,配置了一个文件路径,默认是/etc/vsftpd.chroot_list,该文件中会填入一些账户名称。但是这些账户的意义不是固定的,是跟配置项chroot_local_user有关的。后一条中说明;
- 第三,chroot_local_user为YES表示所有用户都*不能*切换到主目录之外其他目录,但是!除了chroot_list_file配置的文件列出的用户。chroot_local_user为NO表示所有用户都*能*切换到主目录之外其他目录,但是!除了chroot_list_file配置的文件列出的用户。也可以理解为,chroot_list_file列出的“例外情况”的用户。
- 如果客户端登录时候提示“以pasv模式连接失败”
- 编辑/etc/vsftpd.conf
- 最后添加
- pasv_promiscuous=YES
- 然后再重启vsftpd服务。
十三.Latex
- Latex安装
- OS: Ubuntu
- 网上有许多方法,比较复杂,尤其是讲到中文配置的时候,更为复杂。 懒得看了,想到了一个比较简单的方法,即:使用apt-get从网络上直接下载包来安装。
- 三个比较重要的命令:
- apt-cache search
- apt-cache show
- sudo apt-get install
- 使用apt-cache search latex, 可以看到许多包。
- 选择安装texlive-latex-base, 它的描述是:Tex Live: Basic LaTex packages.
- sudo apt-get install texlive-latex-base
- 这样就安装好Latex了,可以直接使用。 但编译中文时,由于没有安装CJK中文环境,会提示找不到CJK包。
- apt-cache search cjk, 有许多关于CJK 环境的包。
- 选择安装latex-cjk-all, 它的描述是:Installs all LaTex CJK packages.
- sudo apt-get install latex-cjk-all
- 这样就可以使用中文环境了。
- 有些.sty文件可能没有安装,例如:lastpage.sty. 这个时候不要到网络上去询问是因为什么, Latex的输出错误信息已经很明显了。
- 使用下面的命令来查找相应的包:
- apt-cache search lastpage (注意不要加.sty文件后缀)
- 可以看到需要下面的包,以及对这个包的描述:
- texlive-latex-extra - TeX Live: LaTeX supplementary packages
- 选择安装即可:
- sudo apt-get install texlive-latex-extra
- 完成上面的这三步,就可以完全满足我平时的应用需求了。 如果以后需要使用到新的包,可以使用上面第三步的方法来查找相应的安装包,并选择安装即可。
- sudo apt-get install texmaker
- 安装texmaker程序,它是一个图形化界面的Tex书写,编译,生成,预览集合为一体的程序。 与Windows操作系统中的WinTex界面很相似。
- Texlive-publishers包也可以安装一下, support for publishers, theses, standards, conferences, etc.
- sudo apt-get install texlive-publishers
- 使用apt-cache show texlive-publishers命令可以看到它所支持的CTAN包的信息。
- 随后还要安装ctex, cjk-langue 的套装
4、TexMaker配置
首先把软件换成中文界面(事实证明,英文界面会大大减弱你接下来步骤的正确性):菜单栏->options->interface languages->zh_CN
当然了,另外那个zh也是中文……解放台湾岛,活捉林志凌
现在,重启TexMaker以后,在菜单栏->选项->配置TexMaker打开后的那个窗口里面有个“快速配置”->快速构建命令,选择XeLaTex->PDF View。
为什么要选择这个呢?主要是原来的那个对中文的支持不好,现在配置好了以后,你就直接可以按F1直接生成pdf文件了~
5、字体安装
ubuntu什么的字体一直是个大问题……你的LaTex论文最终好看与否,最终还是看你系统的字体的……你需要的字体有win字体+Adobe字体。
对于win的字体,如果你能找到一台win电脑,找到C:\\windows\fonts(大小写自己注意……),把下面的字体文件(后缀为ttf的文件)全部复制到你的电脑~/.fonts下面,运行命令
fc-cache -fv
- ok~
对于Adobe字体,上网络上下载就可以了~当然和win一样的节奏~~~
现在你可以方便的使用LaTex了~
十四、unity3D
- http://blogs.unity3d.com/2015/08/26/unity-comes-to-linux-experimental-build-now-available/
下载
sudo dpkg -i unity-editor-5.1.0f3\ 2015082501_amd64.deb
十五、c#
- sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
- echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
- sudo apt-get update
- sudo apt-get install mono-complete
- sudo apt-get install monodevelop
十六、安装字体
- 下载或是从win文件夹复制过来ttc文件
- 然后新建文件夹:
- sudo mkdir /usr/share/fonts/windows/
- sudo mv msyh.ttc /usr/share/fonts/windows/
- baiyan@Acoder ~> cd /usr/share/fonts/windows/
- baiyan@Acoder /u/s/f/windows> sudo mkfontscale
- baiyan@Acoder /u/s/f/windows> sudo mkfontdir
- baiyan@Acoder /u/s/f/windows> sudo fc-cache -fv
- 查看已安装的中文的字体
- fc-list :lang=zh
ubuntu--基础环境瞎搞集合的更多相关文章
- ubuntu 基础环境
一.序言 这里记录了安装ubuntu 系统,以及里面常用的东西,jdk,idea,maven,svn,git 等等工具的安装,因为这些动作不是经常操作的,因此这里做一个记录,方便新手或者忘记的时候看看 ...
- 完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建
公司在IDC机房有两台很高配置的服务器,计划在上面部署openstack云平台虚拟化环境,用于承载后期开发测试和其他的一些对内业务.以下对openstack的部署过程及其使用做一详细介绍,仅仅依据本人 ...
- Spark环境搭建(上)——基础环境搭建
Spark摘说 Spark的环境搭建涉及三个部分,一是linux系统基础环境搭建,二是Hadoop集群安装,三是Spark集群安装.在这里,主要介绍Spark在Centos系统上的准备工作--linu ...
- RHCE基础环境系统的搭建
RHCE基础环境系统的搭建 安装前提: 安装的时候对系统和硬件的要求: 红帽系统安装队系统的要求:Windows操作系统选择64位的内存至少6GCPU需要支持虚拟化技术在做红帽系统实验的时候,把360 ...
- OpenStack实践系列①openstack简介及基础环境部署
OpenStack实践系列①openstack简介及基础环境部署 一.OpenStack初探1.1 OpenStack简介 OpenStack是一整套开源软件项目的综合,它允许企业或服务提供者建立.运 ...
- (一)Hyperledger Fabric 1.1安装部署-基础环境搭建
在学习和开发hyperledger fabric的时候遇到了一些坑,现将自己的一些总结和心得整理如下,以期对大家有所帮助.本次使用的宿主机环境:ubuntu,版本:Ubuntu 16.04.3 LTS ...
- openstack kilo部署-基础环境
公司也想搞个私有云玩玩,于是展开了一系列的调研,部署测试,openstack 有几个版本真是坑爹!!,如果喜欢被虐有兄弟,你就试试 openstack 的 juno , icehouse等版本,用不了 ...
- Ubuntu Touch环境搭建
最近搞了一下Nexus 5的MultiRom Manger,体验了一把Ubuntu Touch和Android L,总体感觉还不错,不过Android L的NFC驱动还有问题,Ubuntu Touch ...
- Spring Boot的学习之路(03):基础环境搭建,做好学习前的准备工作
1. 前言 <论语·魏灵公>:"工欲善其事,必先利其器.居是邦也,事其大夫之贤者,友其士之仁者." 工欲善其事必先利其器.我们在熟悉一个陌生项目的时候,首先会大概去看一 ...
随机推荐
- C++中的异常安全性
http://blog.csdn.net/bonchoix/article/details/8046727 一个函数如果说是“异常安全”的,必须同时满足以下两个条件:1.不泄漏任何资源:2.不允许破坏 ...
- python_68_迭代器
''' 我们已经知道,可以直接作用于for循环的数据类型有以下几种: 一类是集合数据类型,如list.tuple.dict.set.str等: 一类是generator,包括生成器和带yield的ge ...
- 题解 P1319 【压缩技术】
这题是红题,我都觉得我的题解过不了 这道题输入不像别的题,给一个参数 n ,然后输入 n 的倍数个数据,它是给一个 n , 再输入一堆数.看题目,n × n ? 是不是就说明了给出的数和一定,都是 n ...
- 简述apache,php,mysql三者的关系
转自:http://blog.csdn.net/w1365966490/article/details/8218959 Apache web 服务器软件.同类产品有微软的 IIS 等.功能是让某台电脑 ...
- Linux MySQL 修改密码
修改root本地登录密码 修改root默认的密码(方法一)1. 启动mysql之后systemctl start mysqld.service2. 修改mysql的配置文件 vi /etc/my.cn ...
- IPV6验证正则表达式
验证ipv6的正则表达式: 例:fe80::ec61:c1d1:9827:82be%13 \s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9 ...
- java基础面试题:java中实现多态的机制是什么?
靠的是父类或接口的引用指向子类或实现类的对象, 调用的方法是内存中正在运行的那个对象的方法.
- Linux下C程序内存泄露检测
在linux下些C语言程序,最大的问题就是没有一个好的编程IDE,当然想kdevelop等工具都相当的强大,但我还是习惯使用kdevelop工具,由于没有一个习惯的编程IDE,内存检测也就成了在lin ...
- es6中的模版字符串
目录 字符串拼接 includes() startsWith() endsWith() padStart() es6中的模版字符串替代了原有的字符串拼接功能. 字符串拼接 es5方式 传统的字符串拼接 ...
- 学习笔记(六): Regularization for Simplicity
目录 Overcrossing? L₂ Regularization Lambda Examining L2 regularization Check Understanding Glossay Ov ...