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 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--基础环境瞎搞集合的更多相关文章
- 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. 前言 <论语·魏灵公>:"工欲善其事,必先利其器.居是邦也,事其大夫之贤者,友其士之仁者." 工欲善其事必先利其器.我们在熟悉一个陌生项目的时候,首先会大概去看一 ...
随机推荐
- 为项目创建podfile
由于写项目 不常用到,容易忘记,记录一下 第一步:新建一个项目: 第二步:打开终端,输入 cd 第三步:把项目拖入终端,(获取项目路径) 第四步:回车,输入 pod init (生成podfile 文 ...
- 2018. 2.4 Java中集合嵌套集合的练习
创建学生类有姓名学校和年龄 覆盖toString() 1.创建三个学生对象,放到集合ArrayList 2.输出第2名学生的信息 3.删除第1个学生对象 4.在第2个位置插入1个新学生信息 5.判断刘 ...
- Unity的sendmessage用法
刚学完sendmessage用法,自己也尝试测试了一下,用法如下: 1.在unity2017新建一个场景test 2.在场景中添加一个立方体cube作为主角,另添加一个胶囊体capsule,调整为如图 ...
- python 进程之间的通讯
python 进程之间的通讯 #!/usr/bin/env python #-*- coding:utf-8 -*- # author:leo # datetime:2019/5/28 10:15 # ...
- response.setContentType("text/html;charset=utf-8")后依然乱码的解决方法
从浏览器获取数据到服务器,服务器将得到数据再显示在浏览器上英文字母正常显示,中文字符乱码的问题,已经使用了 response.setContentType("text/html;charse ...
- facebook的infer检测工具的安装
缘由 由于公司产出代码的时候会使用静态扫描工具检测代码的质量,所以自己就想动手尝试一番infer整个的使用方式和使用效果,便动手安装了infer,结果安装过程中遇见太多的坑,导致很多时候都安装失败,这 ...
- Java poi 导出Excel并下载到客户端
Maven配置,包含了其他文件格式的依赖,就全贴出来了 <dependency> <groupId>org.apache.poi</groupId> <art ...
- 项目实战14.1—ELK 企业内部日志分析系统
本文收录在Linux运维企业架构实战系列 一.els.elk 的介绍 1.els,elk els:ElasticSearch,Logstash,Kibana,Beats elk:ElasticSear ...
- java设计模式3--观察者模式
1.初步认识 观察者模式的定义: 在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新. 大白话: 其实就是发布订阅模式,发布者发布信息,订阅者获取信息,订阅了 ...
- 【PHP】什么时候使用Try Catch(转)
几条建议: 如果无法处理某个异常,那就不要捕获它. 如果捕获了一个异常,请不要胡乱处理它. 尽量在靠近异常被抛出的地方捕获异常. 在捕获异常的地方将它记录到日志中,除非您打算将它重新抛出. 按 ...