zoukankan      html  css  js  c++  java
  • Linux学习总结(3)——Linux实用工具


    1. Windows下同步Linux文件(Linux安装Samba和配置)

    场景需求:

    安装了Ubuntu在虚拟机上,但是代码编辑或者其它更多的操作的时候,还是习惯在windows下进行。如果windows下编辑完再上传到服务器,再编译执行,就太繁琐了。一次两次还好说,这编译级别上千次的,每次也需要上传的话,无疑是个人间悲剧。但是有了Samba,犹如雪中送炭啊。
     
    安装
    Ubuntu下安装比较简单,执行
     # install samba samba-common
    即可。当然也可以直接去官网(https://www.samba.org/)下载安装。
     
    配置
    1. 新建共享的目录:
    # mkdir /home/用户名/share
    # chmod 777 /home/用户名/share
     
    2. 修改配置smb.conf
    修改前最好先备份smb.conf文件。
    # cp /etc/samba/smb.conf /etc/samba/smb.conf_bak
    # vim /etc/samba/smb.conf
        2.1 取消 # security = user 的注释,并在后面一行加上 username map = /etc/samba/smbusers
    security = user
    username map = /etc/samba/smbusers
        2.2 在文件的最后面加上以下配置   
    复制代码
    [Share]
    comment = Shared Folder with username and password
    path = /home/用户名/share
    available = yes
    browseable = yes
    public = yes
    writable = yes
    valid users = [访问用户名(系统的用户)]
    create mask = 0700                                 #远程创建目录、文件默认权限
    directory mask = 0700                              #远程访问目录权限
    force user = nobody                                #目录所属用户
    force group = nogroup                              #目录所属用户组
    复制代码

    我的习惯是指给相应的权限给相应的账号,譬如我本身用的是weiyg账号,我会如下配置,这样的话,windows下新建、修改、访问的权限,都会与我weiyg的权限保持一致。这样比较方便。当然,如果本身整个系统都是一个人维护,那就没啥所谓了。

     

    复制代码
    [share]
    path = /home/weiyg/share
    available = yes
    browseable = yes
    public = yes
    writable = yes
    valid users = weiyg
    create mask = 0764
    directory mask =0777
    force user =weiyg
    force group = weiyg
    复制代码

     

     

        2.3 修改[global]中的workgroup = WORKGROWP ,并添加编码的设置,如下:

    workgroup = WORKGROUP
    display charset = UTF-8
    unix charset = UTF-8
    dos charset = cp936

     

            上面编码设置是为了防止中文目录、文件名乱码的情况。
     
    3. 添加访问用户(系统用户)
    # useradd [用户名]
        对于我的设置来说,其实我是直接用我本身的用户权限访问的。系统本身就存在了weiyg用户了,这时候不需要执行这一步了。如果如上执行的话,过没有设置密码的话,这个用户就只能从远程访问,不能从本机登录。
     
    4. 添加远程访问用户(samba的用户)
    # smbpasswd -a [远程访问用户名]
        执行以上命令,并设置密码。该用户是windows远程访问的用户,并不是系统的用户。当然为了方便,我自己设置的用户名其实是跟我系统用户一样的。即
    # smbpasswd -a weiyg
        如果要删除远程访问用户,执行如下命令。
    # smbpasswd -x [远程访问用户名]
        新建一个/etc/samba/smbusers文件,并保存下面代码:
    [访问用户名] = "network username"
        我是这么设置的 weiyg = "weiyg" (不知道对不对,反正最后可以访问)
     
    启动
    # /etc/init.d/sambd start
    # /etc/init.d/sambd restart
     
    windows远程访问
        在windows文件管理器上点击【映射网络驱动器】并输入ip地址和用户名密码,即可访问到linux下的文件。
        
     
    个人理解原理
        windows下访问用的其实是Samba的账号,然后windows与Samba交互,本质上对文件的操作,其实还是Samba与linux文件交互的系统用户。所以为了方便,我将远程访问用户和系统用户设置成一样的。
     
    SSH分为客户端和服务端。
    服务端是一个守护进程,一般是sshd进程,在后台运行并响应来自客户端的请求。提供了对远程请求的处理,一般包括公共密钥认证、密钥交换、对称密钥加密和非安全连接。
    客户端一般是ssh进程,另外还包含scp、slogin、sftp等其他进程。
     
    工作机制:
    1. 客户端发送一个连接请求到远程服务端
    2. 服务端检查申请的包和IP地址,再发生密钥给SSH客户端;
    3. 客户端再将密钥发回服务端,自此建立连接。
     
    //------------------正文-------------------
    一、客户端

    1. 安装客户端(客户端不是必须的)

    # apt-get install ssh
    如果安装失败,则使用下面命令进行安装
    # apt-get install openssh-client
     
    2. SSH登录(客户端)
    $ ssh 192.168.159.128
    $ ssh -l weiyg 192.168.159.128
    $ ssh weiyg@192.168.159.128
     
    二、服务端
    1. 安装服务器
    # apt-get install openssh-server
     
    2. 启动服务器
    # /etc/init.d/ssh stop                  #停止
    # /etc/init.d/ssh start                  #启动
    # /etc/init.d/ssh restart              #重启
     
    3. SSH配置
    修改配置文件/etc/ssh/sshd_config,并重启服务
    # /etc/init.d/ssh restart
     
    ssh默认端口是22,需要的话,自行修改
    Port 20
    ssh默认配置是允许root登录的,可以修改配置表禁止其登录
    PermitRootLogin no

    3.Linux下安装mysql
    我是使用免安装的包mysql-5.5.28-linux2.6-x86_64.tar.gz(在http://dev.mysql.com/downloads/可以下载到最新的包)的。直接解压,然后配置,初始化数据库,启动即可。
    安装步骤有:
    1. 解压和建立软链;
    2. 配置文件和配置参数;
    3. 初始化数据库;
    4. 启动和关闭;
    5. 建立数据库用户和授权。
     
    1. 解压和建立软链:
    #tar xzvf mysql-5.5.28-linux2.6-x86_64.tar.gz        #在/usr/local目录下
    #ln -s mysql-5.5.28-linux2.6-x86_64 mysql            #创建软链
     
    2. 配置文件和配置参数:
    mysql会将默认的配置文件保存在mysql/support-files/下。我们把mysql/support-files/my-medium.cnf 复制一份到/etc下然后进行配置。
    #cp usr/local/mysql/support-files/my-medium.cnf etc/my.cnf
    在my.cnf文件添加相关配置,下面红色部分是我修改和添加的内容,相关目录根据自己的需要配置。
    [client]
    default-character-set = utf8
    # password      = your_passsword
    port            = 3306
    socket          = /tmp/mysql_3306.sock

    # The MySQL server
    [mysqld]
    character-set-server = utf8
    # user            = mysql
    port            = 3306
    socket          = /tmp/mysql_3306.sock
    skip-external-locking
    basedir = /usr/local/mysql
    datadir = /usr/local/mysql/data
    log-error = /usr/local/mysql/log/mysql_error.log
    pid-file = /tmp/mysql.pid

    key_buffer_size = 16M
    max_allowed_packet = 1M
    table_open_cache = 64
     
    3. 初始化数据库:
    mysql自带了mysql和test两个数据库。而mysql-5.5.28-linux2.6-x86_64.tar.gz包是没有初始化的。所以我们先要初始化。在mysql/bin或者mysql/scripts下有个 mysql_install_db 可执行文件,执行即可(要保证其无报错)。
    #./mysql_install_db  --verbose --user=root --defaults-file=/etc/my.cnf --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --tmpdir=/tmp
     
    4. 启动和关闭:
    执行bin/mysqld_safe 文件可以启动mysql。
    #./mysqld_safe --defaults-file=/etc/my.cnf --socket=/tmp/mysql_3306.sock --user=root &
    之前我在没有初始化的时候执行启动,遇到了报错,报错内容会在my.cnf的log-error配置路径下。上面最后的“&”表示后台执行的意思。
     
    关闭mysql可以直接kill掉进程,也可以使用bin/mysqladmin可执行文件操作。
    #./mysqladmin -u root -p [密码] shutdown
     
    5. 建立数据库用户和授权:
    在bin/里面执行mysql文件,连接数据库。
    #./mysql -uroot
    连接成功之后可以创建一个数据库用户,供远程访问,你总不能用root去访问数据库吧。另外还要设置其权限,譬如建表、建库、增删查改。grant可以修改用户的权限和密码。
     
    建立用户:
    mysql>CREATE USER [用户名] IDENTIFIED BY '[密码]';
    mysql>CREATE USER [用户名]@[固定登录地址(譬如localhost)] IDENTIFIED BY '[密码]'
    授权:
    mysql>GRANT select, insert, update, delete, create ON *.* TO [用户名];
    mysql>GRANT select, insert, update, delete, create ON *.* TO [用户名]@[固定登录地址(譬如localhost)];
    修改密码:
    mysql>GRANT ALL PRIVILEGES ON PUREFTPD.* TO [用户名] IDENTIFIED BY '[新密码]';
     
    6. 测试:
    这样在PC端也可以用管理工具访问了。

    由于Ubuntu自带是没有jdk和gcc编译器的,而安装resin需要C编译器和jdk的支持,而且resin本身是java写的。另外我本身的网站是zip打包的,所以linux也要安装了gcc、jdk、zip、unzip方便安装和部署网站。
     
    //-----------环境准备--------------
     
    安装gcc
    $ sudo apt-get update            #更新库
    $ sudo apt-get install gcc        #安装gcc
    $ gcc -v
    $ make -v
     
    安装zip
    $ sudo apt-get install zip unzip
     

    安装Java

    安装:

    # wget http://download.oracle.com/otn-pub/java/jdk/8u5-b13/jdk-8u5-linux-x64.tar.gz
    使用上面那条链接是下载到的是一个不完整的包,说明还是要通过一个验证才行。还是直接在浏览器上面进入http://download.oracle.com/先将包下载下来吧。再上传到linux上面。

    这个包jdk-8u5-linux-x64.tar.gz是免安装的,解压完就可以用了。

    # mv jdk-8u5-linux-x64.tar.gz /usr/local/
    # tar xzvf jdk-8u5-linux-x64.tar.gz

    环境变量配置:
    编辑/etc/profile 配置文件,在其最后面增加java的环境变量配置:

    复制代码
    JAVA_HOME=/usr/local/jdk1.8.0_05
    PATH=$JAVA_HOME/bin:$PATH
    CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    
    export JAVA_HOME
    export PATH
    export CLASSPATH
    复制代码

    如果并不想与别的用户共用同一个java环境,则将上面内容配置在用户目录下的~/.profile 文件里面就可以了。

    测试:
    任意目录,任意用户下执行java -version,如果打印出版本号说明安装成功了。

     
    //-----------resin安装和配置--------------
     
    安装resin服务器
    现在官网下载安装包。解压编译安装就可以了,结果发现没有那么简单。问题在于,Ubuntu服务器没有安装gcc,无法编译的。所以在安装resin之前要先安装了gcc。安装了gcc之后就可以很顺利如下执行了。(resin分为免费版和pro版,这里使用的是免费版)
    $ wget http://www.caucho.com/download/resin-4.0.39.tar.gz
    $ tar xzvf resin-4.0.39.tar.gz
    $ cd resin-4.0.39.tar.gz
    $ ./configure --prefix=[需要安装的路径]
    $ make & make install
     
    resin配置和启动
    在resin/conf有resin.properties或者resin.conf(旧版本的文件名),这是resin的配置文件。监听端口、watchdog端口、集群/实例端口、jvm的内存配置,都在里面配置。
    如果端口无冲突的话,默认配置,直接启动即可。
    在resin/bin下执行
    $ ./resin.sh start        #启动    #旧版本文件名为httpd.sh
    $ ./resin.sh stop        #停止
    $ ./resin.sh restart        #重启
     
     
    默认端口是8080,没有修改的话,直接访问http://ip:port(http://115.28.82.146:8080)就可以访问了。
     
    网站默认放置在resin/webapps/下。当然也可以在此目录下创建软链映射到其它目录。
     
     
    4. 由于Ubuntu自带是没有jdk和gcc编译器的,而安装resin需要C编译器和jdk的支持,而且resin本身是java写的。另外我本身的网站是zip打包的,所以linux也要安装了gcc、jdk、zip、unzip方便安装和部署网站。
     
    //-----------环境准备--------------
     
    安装gcc
    $ sudo apt-get update            #更新库
    $ sudo apt-get install gcc        #安装gcc
    $ gcc -v
    $ make -v
     
    安装zip
    $ sudo apt-get install zip unzip
     

    安装Java

    安装:

    # wget http://download.oracle.com/otn-pub/java/jdk/8u5-b13/jdk-8u5-linux-x64.tar.gz
    使用上面那条链接是下载到的是一个不完整的包,说明还是要通过一个验证才行。还是直接在浏览器上面进入http://download.oracle.com/先将包下载下来吧。再上传到linux上面。

    这个包jdk-8u5-linux-x64.tar.gz是免安装的,解压完就可以用了。

    # mv jdk-8u5-linux-x64.tar.gz /usr/local/
    # tar xzvf jdk-8u5-linux-x64.tar.gz

    环境变量配置:
    编辑/etc/profile 配置文件,在其最后面增加java的环境变量配置:

    复制代码
    JAVA_HOME=/usr/local/jdk1.8.0_05
    PATH=$JAVA_HOME/bin:$PATH
    CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    
    export JAVA_HOME
    export PATH
    export CLASSPATH
    复制代码

    如果并不想与别的用户共用同一个java环境,则将上面内容配置在用户目录下的~/.profile 文件里面就可以了。

    测试:
    任意目录,任意用户下执行java -version,如果打印出版本号说明安装成功了。

     
    //-----------resin安装和配置--------------
     
    安装resin服务器
    现在官网下载安装包。解压编译安装就可以了,结果发现没有那么简单。问题在于,Ubuntu服务器没有安装gcc,无法编译的。所以在安装resin之前要先安装了gcc。安装了gcc之后就可以很顺利如下执行了。(resin分为免费版和pro版,这里使用的是免费版)
    $ wget http://www.caucho.com/download/resin-4.0.39.tar.gz
    $ tar xzvf resin-4.0.39.tar.gz
    $ cd resin-4.0.39.tar.gz
    $ ./configure --prefix=[需要安装的路径]
    $ make & make install
     
    resin配置和启动
    在resin/conf有resin.properties或者resin.conf(旧版本的文件名),这是resin的配置文件。监听端口、watchdog端口、集群/实例端口、jvm的内存配置,都在里面配置。
    如果端口无冲突的话,默认配置,直接启动即可。
    在resin/bin下执行
    $ ./resin.sh start        #启动    #旧版本文件名为httpd.sh
    $ ./resin.sh stop        #停止
    $ ./resin.sh restart        #重启
     
     
    默认端口是8080,没有修改的话,直接访问http://ip:port(http://115.28.82.146:8080)就可以访问了。
     
    网站默认放置在resin/webapps/下。当然也可以在此目录下创建软链映射到其它目录。
     
     



  • 相关阅读:
    BadUSB 利用
    java 将函数作为参数传递
    odoo12 修行提升篇之 常用的高阶函数 (二)
    odoo12 修行提升篇之 异步定时任务 (一)
    odoo12 修行基础篇之 利用kanban做分析 点击跳转分析模型列表 (九)
    odoo12 修行基础篇之 kanban (八)
    odoo12 修行基础篇之 记录批处理 (七)
    odoo12 修行基础篇之 列表的筛选和分组 (六)
    odoo12 修行基础篇之 添加记录编码 (五)
    odoo12 修行基础篇之 添加工作流和操作记录 (四)
  • 原文地址:https://www.cnblogs.com/zhanghaiyang/p/7213620.html
Copyright © 2011-2022 走看看