安装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:

  1.       sudo apt-get install conky conky-all 

      你将会需要curl这个软件,你可以通过以下这个命令来安装该软件:

    1. sudo apt-get install curl 

      上面截图中使用的conky主题是Harmattan,它可以以15种不同的样式来显示时间、天气、以及系统进程。

      要安装该主题,你可以从deviantART下载zip文件,然后解压。

      将.conky-weather文件夹和位于主题文件夹的.conkyrc文件(你可能需要按Ctrl+H来显示这些隐藏文件)移动到你的home文件夹。

      Conky有很多的主题。尝试这些主题,你所需要做的就是用所要使用主题的.conkyrc文件替换在home文件夹的.conkyrc文件。

    5. 安装一些指示器程序

      有很多第三方的指示器程序,通过这些程序你可以监视你的桌面信息,例如天气、系统性能等。我所使用的指示器程序相当简单。

      因为天气和系统性能已经在conky中显示,所以我没有安装这些指示器。不过你可以在终端输入以下命令来安装他们:

    1. sudo apt-get install indicator-weather
      sudo apt-get install indicator-multiload 我所使用的两个指示器程序是大小写指示程序以及触摸板控制器,这是因为我的笔记本没有大小写指示灯和控制触摸板开关的热键。
      你可以通过以下命令来安装这两个软件:
    1. 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

       你可能需要注销并重新登录来使用这些应用。

九、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--基础环境瞎搞集合的更多相关文章

  1. ubuntu 基础环境

    一.序言 这里记录了安装ubuntu 系统,以及里面常用的东西,jdk,idea,maven,svn,git 等等工具的安装,因为这些动作不是经常操作的,因此这里做一个记录,方便新手或者忘记的时候看看 ...

  2. 完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建

    公司在IDC机房有两台很高配置的服务器,计划在上面部署openstack云平台虚拟化环境,用于承载后期开发测试和其他的一些对内业务.以下对openstack的部署过程及其使用做一详细介绍,仅仅依据本人 ...

  3. Spark环境搭建(上)——基础环境搭建

    Spark摘说 Spark的环境搭建涉及三个部分,一是linux系统基础环境搭建,二是Hadoop集群安装,三是Spark集群安装.在这里,主要介绍Spark在Centos系统上的准备工作--linu ...

  4. RHCE基础环境系统的搭建

    RHCE基础环境系统的搭建 安装前提: 安装的时候对系统和硬件的要求: 红帽系统安装队系统的要求:Windows操作系统选择64位的内存至少6GCPU需要支持虚拟化技术在做红帽系统实验的时候,把360 ...

  5. OpenStack实践系列①openstack简介及基础环境部署

    OpenStack实践系列①openstack简介及基础环境部署 一.OpenStack初探1.1 OpenStack简介 OpenStack是一整套开源软件项目的综合,它允许企业或服务提供者建立.运 ...

  6. (一)Hyperledger Fabric 1.1安装部署-基础环境搭建

    在学习和开发hyperledger fabric的时候遇到了一些坑,现将自己的一些总结和心得整理如下,以期对大家有所帮助.本次使用的宿主机环境:ubuntu,版本:Ubuntu 16.04.3 LTS ...

  7. openstack kilo部署-基础环境

    公司也想搞个私有云玩玩,于是展开了一系列的调研,部署测试,openstack 有几个版本真是坑爹!!,如果喜欢被虐有兄弟,你就试试 openstack 的 juno , icehouse等版本,用不了 ...

  8. Ubuntu Touch环境搭建

    最近搞了一下Nexus 5的MultiRom Manger,体验了一把Ubuntu Touch和Android L,总体感觉还不错,不过Android L的NFC驱动还有问题,Ubuntu Touch ...

  9. Spring Boot的学习之路(03):基础环境搭建,做好学习前的准备工作

    1. 前言 <论语·魏灵公>:"工欲善其事,必先利其器.居是邦也,事其大夫之贤者,友其士之仁者." 工欲善其事必先利其器.我们在熟悉一个陌生项目的时候,首先会大概去看一 ...

随机推荐

  1. 【洛谷4011】孤岛营救问题(状压SPFA)

    点此看题面 大致题意: 有一个\(N*M\)的四联通迷宫,相邻两个可能互通,可能有一扇门,也可能有一堵墙.对于第\(i\)类的门,你需要有第\(i\)类的钥匙才可以通过.问你从\((1,1)\)到达\ ...

  2. Dropout & Maxout

    [ML] My Journal from Neural Network to Deep Learning: A Brief Introduction to Deep Learning. Part. E ...

  3. 循环 -----JavaScript

    本文摘要:http://www.liaoxuefeng.com/ JavaScript的循环有两种,一种是for循环,通过初始条件.结束条件和递增条件来循环执行语句块: var x = 0; var ...

  4. 切换Ubuntu超级管理员

    对Ubuntu进行拷贝命令时,如果不是root用户,会出现权限不足的情况,无法操作

  5. Everything Be True-freecodecamp算法题目

    Everything Be True 1.要求 完善every函数,如果集合(collection)中的所有对象都存在对应的属性(pre),并且属性(pre)对应的值为真.函数返回ture.反之,返回 ...

  6. JS - OOP-继承的最佳实现方式

    如上图,使用第三种方式实现继承最好,也就是加了下划线的. 但是Object.create方法是ES6才支持的,所以,右边就写了一个实现其同样功能的函数.

  7. ES6 的解构赋值前每次都创建一个对象吗?会加重 GC 的负担吗?

    本文来源于知乎上的一个提问. 为了程序的易读性,我们会使用 ES6 的解构赋值: function f({a,b}){} f({a:1,b:2}); 这个例子的函数调用中,会真的产生一个对象吗?如果会 ...

  8. 【JS】JS实现时间戳转换成普通时间

    var time = 1514457627; alert(getDate(time)); function getDate(tm){ var tt=new Date(parseInt(tm) * 10 ...

  9. PHP判断时关于null,0,true,flase的值

    <?php// $wh = 0; //等于整数0,等于字符串'0',等于空字符串,等于空格字符串, 等于空(null),等于字符串('null')// $wh = '0'; //=>等于整 ...

  10. JZOJ 4725. 质数序列

    Description 由于去NOI的火车“堵”了数不清时间,小Z和小D打完ETG,闲着无聊开始看今年的JSOI省选题,并尝试着修改题目:对于一个长度为L ≥ 2的序列,X:x1,x2,...,xL ...