Ubuntu速学笔记

为了学习docker来回顾Linux基础,本篇是基于Ubuntu操作系统18.04.3版本安装部署遇到问题或有用知识点的汇总整理。

ifconfig命令找不到

问题描述: 在Vmware安装完成Ubuntu后,输入ifconfig提示:Command ‘ifconfig’ not found, but can be installed with: sudo apt install net-tools。当然官方提醒我们可以使用sudo apt install net-tools安装net-tools,然而并不如预想。

解决方案: 执行语句 sudo apt-get update && sudo apt-get install net-tools
再输入ifconfig就正常啦。(apt-get用于自动从互联网的软件仓库中搜索、安装、升级或卸载软件。我们需要定期执行apt-get update,让我们缓存包在系统中的软件列表源是最新的)

如果在过程中提示 E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable), 不用担心,这是因为上一次安装时异常退出导致锁残留,可直接删除掉这个锁文件,使用命令sudo rm /var/lib/apt/lists/lock

编译安装PHP7.3.11

  1. 官网 http://php.net/downloads.php 下载安装包到本地或者使用wget wget http://cn2.php.net/distributions/php-7.3.11.tar.gz
  2. 安装依赖包 libxml2-dev和 gcc
    a. 如果遇到错误:error:xml2-config not found.Please check your libxml2 installation. ,说明依赖包libxml2不存在,需要安装使用命令sudo apt-get update && sudo apt-get install libxml2-dev -y
    b. 如果安装libxml2过程又提示Unable to fetch some archives, maybe run apt-get update or try with –fix-missing?,可执行apt-get install libxml2-dev -y --fix-missing解决。多次尝试无效时,保证当前网络连接正常的基础上,执行sudo apt-get clean再进行后续操作。
    c. 如果又报错configure: error: no acceptable C compiler found in $PATH,是因为你本地没有可执行编译的源文件,需要执行sudo apt-get update && sudo apt-get install gcc -y解决。
  3. 执行预编译,使用./configure --prefix=/usr/local/php(这个后面最好加上--with-config-file-path=/usr/local/php/conf,代表指定php.ini路径,否则后面需要自己去设置) 代表我要装到/usr/local/php里,配置文件放到conf里
  4. 安装,执行完成之后最后一定要执行make,这一步是真正的编译。然后还要执行sudo make install,这一步是拷贝到你的目标文件夹,否则/usr/local/php是不会有的。
  5. 验证,没有Hello world感觉不完整是不是。写个简单的PHP页面

环境变量

基于用户级的环境变量设置 在home目录下的隐藏文件 .bashrc,输入export name=xugz设置个名字,使用source .bashrc执行。比如说我现在安装了Nodejs,但是只能在node安装目录下进行操作,如何处理呢?可以通过修改环境变量实现。在.bashrc文件中追加export PATH=$PATH:/home/xugz/tool/node-v12.13.0-linux-x64/bin后保存退出,使用source .bashrc执行就可以在任何文件目录下执行node操作了。
全局环境变量在/etc/profile文件下

Mysql8.0.18源码安装

  1. 官网下载源码 源码包分为带boost版和不带boost版的,我这里直接下面自带boost版的。 社区版 Compressed TAR Archive, Includes Boost Headers。浏览器下载或者使用wget:

    1
    2
    3
    wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-8.0.18.tar.gz
    tar xzv -f mysql-boost-8.0.18.tar.gz
    cd mysql-8.0.18/
  2. 安装依赖编译工具
    sudo apt install cmake build-essential bison libssl-dev pkg-config git gcc g++ libncurses5 libncurses5-dev -y
    详细依赖列表参考点我

  3. 编译执行 cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DMYSQL_DATADIR=/usr/local/mysql/data -DWITH_BOOST=boost -DFORCE_INSOURCE_BUILD=1cmake的完整选项列表点我)。运行成功,会显示

    1
    2
    3
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /home/xugz/Downloads/mysql-8.0.18

    如果没有报错,执行make编译,然后开始漫长的等待,等待……编译完成后执行 make install 安装

  4. 新建 /usr/local/mysql文件, 修改归属用户权限chown xugz:xugz mysql

  5. 初始化配置
    详细参考 https://dev.mysql.com/doc/refman/8.0/en/installing-source-distribution.html
    mysqld是最终需要运行的可执行程序,不过我们一般使用mysqld_safe这个脚本来执行。进入安装目录 cd /usr/local/mysql,进入bin目录我们执行mysqld --verbose --help生成所有mysqld选项和可配置变量的列表

    如上图所示,MySQL先去寻找/etc/mysql/my.cnf文件,如果没有再去寻找 /etc/my.cnf,还没有再去寻找~/.my.cnf。我们只需要三选一创建文件,这里我选择大众常用的 /etc/my.cnf。执行sudo vi /etc/my.cnf添加以下内容

    1
    2
    3
    4
    5
    6
    7
    8
    9
    [client]
    port = 3306
    socket = /usr/local/mysql/data/mysql.sock

    [mysqld]
    port = 3306
    socket = /usr/local/mysql/data/mysql.sock
    basedir = /usr/local/mysql
    datadir = /usr/local/mysql/data

    检查安装目录是否存在data文件夹,这个文件夹用来存放数据库文件的,没有的话需要手动创建,并修改当前用户所有权限。
    回到bin目录初始化数据库,使用命令
    ./mysqld --initialize --user=xugz --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
    这一步会随机生成的root账号初始密码,记录备用 kacIL6Vxs*dX

  6. 启动&连接
    使用命令/usr/local/mysql/bin/mysqld_safe 启动,然后新开命令窗口执行ps -ef | grep mysql 验证
    在/usr/local/mysql/bin目录下,使用./mysql -u root -p登陆,密码为刚才生成的随机字串。临时密码不可用,键入命令会提示修改。使用命令alter user user() identified by 'qwe123';退出后MySQL链接重进就可以正常操作了。

  7. 关闭数据库连接
    使用命令 ./mysqladmin -u root -pqwe123 shutdown

Memcached安装

  1. 安装包下载 官网地址 或者使用wget。官网已经给我们详细说明

  2. 安装依赖 sudo apt-get install libevent-dev -y 灵活点根据官网提示修改

  3. 配置安装
    进入memcache下载目录使用命令 ./configure --prefix=/usr/local/memcached 完成后执行make,之后执行make install。这时我们就可以在/usr/local/memcached中看到bin目录了

  4. 启动

    1
    2
    3
    4
    5
    6
    7
    8
    /usr/local/memcached/bin/memcached -d -m 512 -u xugz -l 127.0.0.1 -p 11211 -c 1024 -P /usr/local/memcached/memcached.pid

    备注:
    -d 以守护进程
    -m 代表分配的内存(单位M)
    -l 连接的IP地址。默认只有本机可以连。多个IP用,连接
    -c 最大并发连接数
    -P pid文件
  5. 连接
    telnet 127.0.0.1 11211进入。使用set keyName flags 过期时间(秒) bytes(值的长度)换行,键入值。使用get keyName获取

Navicat安装

下载安装包 官网地址完成后解压。进入解压后的目录运行./start_navicat即可
破解方案:
执行start_navicat时,会在用户主目录下生成一个名为.navicat的隐藏文件夹。
cd /home/xugz/.navicat/
此文件夹下有一个system.reg文件。把此文件删除后,下次启动navicat 会重新生成此文件,规定试用期会按新的时间开始计算。

编译安装PHP下面的memcahed拓展

  1. 安装基本依赖 sudo apt-get update && sudo apt-get install autoconf igbinary msgpack zlib1g-dev -y
  2. 安装依赖包 libmemcached。进入官网下载地址下载完成后解压进入解压目录执行 ./configure && make && make install和memcached
  3. 下载拓展包
    git clone https://github.com/php-memcached-dev/php-memcached.git

本文标题:Ubuntu速学笔记

文章作者:xugz

发布时间:2019年11月08日 - 17:02

最后更新:2021年09月11日 - 16:21

原始链接:https://xlline.github.io/2019/11/08/Ubuntu/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。