============
== 白菜 ==
============
一个勤奋的代码搬运工!

ubuntu上安装微信(wechat)

ubuntu wechat weixin

介绍

由于微信官网 https://weixin.qq.com/ 没有linux版本的下载和安装方法,但微信确实提供了优麒麟发行版的官方版本,所以就有了下面的安装方法。

安装方法

打开优麒麟应用商店官网,然后下载应用,就看到微信了 https://www.ubuntukylin.com/applications/106-cn.html 下载deb包,用命令sudo dpkg -i ,就能安装上了,而且可以用。 这是linux原生的,功能少点,但比wine的要轻巧不少。

安装方法2

下载链接在方法1中,优麒麟应用商店微信应用页面右键 “64位下载” ——> “复制链接” 终端下载Deb安装:

    wget  -O ~/weixin.deb "http://archive.ubuntukylin.com/software/pool/partner/weixin_2.1.1_amd64.deb"

    sudo dpkg -i ~/weixin.deb

Docker 运行 postgreSQL

Docker postgres

简单步骤

  1. 安装docker,可参考 安装docker及简单的使用 或 百度解决;

  2. 拉取postgreSQL的docker镜像文件:

    docker pull postgres
  1. 创建 docker volume,名字为“dv_pgdata"(其实可以省略手动创建,直接跑下一步,docker也会自动创建的):
    docker volume create dv_pgdata
  1. 启动容器,用-v来指定把postgres的数据目录映射到上面创建的dv_pgdata里面:
docker run --name my_postgres -v dv_pgdata:/var/lib/postgresql/data -e POSTGRES_PASSWORD=xxxxxx -p 5432:5432 -d postgres
  1. 这时候查看已存在的docker volume:
docker volume ls
  1. 查看volume信息:
cn2d6@navxin-desktop:~$ docker inspect dv_pgdata
  1. 在宿主机,也可以直接查看volume里的内容:
cn2d6@navxin-desktop:~$ cd /var/lib/docker/volumes/dv_pgdata/_data
cn2d6@navxin-desktop:~$ ll
  1. 查看postgresql:
cn2d6@navxin-desktop:~$docker exec -it 618 bash
root@618f1a4128ee:/# psql -U postgres -d postgres -p 5432 -h 127.0.0.1
  1. 更多的时候,我们希望能用图形界面来管理和操作数据库,可以部署pgadmin工具(例如下面),然后在浏览器中访问宿主机的5080端口,便能打开pgadmin。
docker pull dpage/pgadmin4
docker run --name pgadmin -p 5080:80 \
    -e '[email protected]' \
    -e 'PGADMIN_DEFAULT_PASSWORD=xxxxxx' \
    -e 'PGADMIN_CONFIG_ENHANCED_COOKIE_PROTECTION=True' \
    -e 'PGADMIN_CONFIG_LOGIN_BANNER="Authorised users only!"' \
    -e 'PGADMIN_CONFIG_CONSOLE_LOG_LEVEL=10' \
    -d dpage/pgadmin4

用docker-compose部署postgresql和pgAdmin4

准备步骤

安装docker-compose

Read more...

Ubuntu使用systemd配置开机运行service

ubuntu

systemd

Systemd 是 Linux 系统工具,用来启动守护进程,已成为大多数发行版的标准配置。

由来

历史上,Linux 的启动一直采用init进程。

下面的命令用来启动服务。

    $ sudo /etc/init.d/apache2 start
    # 或者
    $ service apache2 start

这种方法有两个缺点。

一是启动时间长。init进程是串行启动,只有前一个进程启动完,才会启动下一个进程。

二是启动脚本复杂。init进程只是执行启动脚本,不管其他事情。脚本需要自己处理各种情况,这往往使得脚本变得很长。

Systemd 概述

Systemd 就是为了解决这些问题而诞生的。它的设计目标是,为系统的启动和管理提供一套完整的解决方案。

根据 Linux 惯例,字母d是守护进程(daemon)的缩写。 Systemd 这个名字的含义,就是它要守护整个系统。

使用了 Systemd,就不需要再用init了。Systemd 取代了initd,成为系统的第一个进程(PID 等于 1),其他进程都是它的子进程。

    $ systemctl --version

上面的命令查看 Systemd 的版本。

使用 systemd 实现开机执行 Shell 脚本

通用操作步骤

创建希望开机马上执行的脚本,本文举例脚本存放位置为 /home/navxin/Example/startup.sh,脚本内容如下:

#!/bin/bash
# 开机时在脚本的同级目录下创建一个名为 StartupTouch.txt 的文件
touch /home/navxin/Example/startup.sh.txt

开机执行的脚本需增加可执行权限才能被 systemd 运行,使用如下命令

chmod u+x /home/navxin/Example/startup.sh
chmod g+x /home/navxin/Example/startup.sh

进入 systemd 放置 service 的目录,在该目录下可看到大量服务配置文件,命令如下

# 进入 systemd 的 service 目录
cd /usr/lib/systemd/system
# 查看文件列表
ls -al
在该目录创建一个新的 .service 文件用于配置开机启动脚本,本例中的文件名为 StartupExample.service,所执行命令和文件中的配置内容如下:

创建服务配置文件

sudo touch /usr/lib/systemd/system/StartupExample.service

以下为 StartupExample.service 配置文件的内容

Read more...

安装docker及简单的使用

Docker

docker的介绍,里面包括了3个基本概念

1.1 docker主要由镜像和容器构成

镜像(Image):docker镜像好比一个模板,相当于一个文件系统

容器(Container):容器需要通过镜像来创建。镜像和容器就像是面向对象中的类和实例一样。容器可以被创建/启动/停止/删除等

仓库(Repository):仓库就是存放镜像的地方,分为私有仓库和公有仓库。类似git

1.2 docker的运行原理

docker是一个Client-Server结构的系统,docker的守护进程运行在主机上,通过socket从客户端访问。dockerServer接收到docker-Client的指令,就会执行这个命令。

一. Mac 系统 docker 的安装

1.1 homebrew的cask应支持Docker for Mac,所以可以直接安装 brew cask install docker

1.2 也可以直接到官网下载,https://download.docker.com/mac/stable/Docker.dmg

1.3 docker的参考文档:https://docs.docker.com

1.4 dockerhub查找镜像源地址:https://hub.docker.com

二. docker的使用

1.1 查看版本

docker --version

docker-compose --version 

docker-machine --version

1.2 查看docker系统信息(包括镜像和容器的数量等)

docker info

1.3 帮助命令

docker help

1.4 查看 cpu的状况

docker stats

三. docker的基本命令

镜像相关命令:

1.1 查看镜像可用版本(nginx为例)

docker search nginx

1.2 下载一个镜像

docker pull nginx:latest #(:后面跟镜像版本)

1.3 运行一个nginx服务器

docker run -d -p 81:80 --name webserver nginx

可选项:

Read more...

ubuntu上安装firefox

firefox ubuntu

卸载原来Firefox

sudo apt-get purge firefox

或 sudo apt-get remove firefox

下载最新Firefox二进制压缩包

wget -O ~/firefox.tar.bz2 "https://download.mozilla.org/?product=firefox-latest&os=linux64"

解压并移动到/opt目录

sudo tar xjf ~/firefox.tar.bz2 -C /opt/

创建软链接

sudo ln -s /opt/firefox/firefox /usr/lib/firefox/firefox

在/usr/lib/中创建一个firefox可执行链接文件,该文件指向/opt中firefox可执行主程序位置。

启动firefox

终端启动Firefox

firefox

创建桌面快捷方式

进入/usr/share/applications目录

touch firefox.desktop

nano firefox.desktop

添加内容:

[Desktop Entry]
Name=firefox
Comment=firefox
Exec=/opt/firefox/firefox
Icon=/opt/firefox/browser/chrome/icons/default/default128.png
Terminal=false
Type=Application
Categories=Application;
Encoding=UTF-8
StartupNotify=true

卸载Firefox

通过上面方法安装的Firefox,如果想删除,可以在终端种输入以下命令:

sudo rm -rf /opt/firefox
sudo rm /usr/share/applications/firefox.desktop

如何知道谁在ping我?

tcpdump linux Ubuntu

tcpdump 是 Linux 上可用的最强大和使用最广泛的 命令行 数据包嗅探器(包分析器)工具。

在您要监控的计算机的终端应用程序中:

sudo tcpdump -i ethX icmp and icmp[icmptype]=icmp-echo

选项:

-n avoid a (potentially slow) reverse DNS query
−i interface
icmp[icmptype]=icmp-echo    To print all ICMP packets that are echo requests/replies

它将开始侦听 ethX 并等待到达的数据包。

示例:我有 2 台 pc win7 192.168.0.8 , Ubuntu 192.168.0.57 它将监控到达的数据包: 在Win上:

ping 192.168.0.57

在 Ubuntu 上:

tcpdump -i eth0 icmp and icmp[icmptype]=icmp-echo -n

参考:nixCraft[1]

使用 df 命令查看 Linux 上的可用磁盘空间

df

磁盘空间已经不像计算机早期那样珍贵,但无论你有多少磁盘空间,总有耗尽的可能。计算机需要一些磁盘空间才能启动运行,所以为了确保你没有在无意间用尽了所有的硬盘空间,偶尔检查一下是非常必要的。在 Linux 终端,你可以用 df 命令来做这件事。

df 命令可以显示文件系统中可用的磁盘空间。

要想使输出结果易于阅读,你可以加上 –human-readable(或其简写 -h)选项:

$ df --human-readable
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       1.0T  525G  500G  52% /

在这个例子中,计算机的磁盘已经用了 52%,还有 500 GB 可用空间。

由于 Linux 从整体上看待所有挂载设备的文件系统,df 命令会展示出连接到计算机上的每个存储设备的详细信息。如果你有很多磁盘,那么输出结果将会反映出来:

$ df --human-readable
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       110G   45G   61G  43% /
devtmpfs         12G     0   12G   0% /dev
tmpfs            12G  848K   12G   1% /run
/dev/sda1       1.6T  1.3T  191G  87% /home
/dev/sdb1       917G  184G  687G  22% /penguin
/dev/sdc1        57G   50G  4.5G  92% /sneaker
/dev/sdd1       3.7T  2.4T  1.3T  65% /tux

在这个例子中,计算机的 /home 目录已经用了 87%,剩下 191 GB 的可用空间。

Read more...

Ubuntu安装 Zlib

Zlib linux Ubuntu

如果你尝试在 Ubuntu 上安装 zlib,它会抛出 “unable to locate package zlib” 错误。

Zlib 是一个用于数据压缩的开源库。

作为使用者,你可能会遇到需要安装 zlib(或 zlib-devel 包)作为另一个应用程序的依赖项的情况。

但问题来了,如果你尝试在 Ubuntu 上安装 zlib,它会抛出 “unable to locate package zlib” 错误。

    sudo apt install zlib
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    E: Unable to locate package zlib

为什么会看到这个 Ubable to locate package 错误呢?因为没有名为 zlib 的包。

如果你 使用 apt search 命令,你会发现有几个包可以让你安装:zlib 1g 和 zlib 1g-dev。当你知道这些后,只需一个 apt 命令就可以安装它们。

Read more...

免费CDN:jsDelivr+Github 使用方法

jsDelivr Github CDN

CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。

用 jsDelivr 免费CDN托管静态资源

国内的免费 CDN 不少,但需要备案 国外的免费 CDN 也不少,但在国内速度慢 但 jsDelivr 是一个特殊的存在,虽然是一家国外 CDN 但是有国内节点

jsDelivr官网: https://www.jsdelivr.com

放在Github的资源在国内加载速度比较慢,因此需要使用CDN加速来优化网站打开速度,jsDelivr + Github便是免费且好用的CDN,非常适合博客网站使用。

使用步骤

1、新建Github仓库

2、克隆Github仓库到本地

执行以下命令:

git clone 一键复制的仓库地址

3、上传资源

复制需要上传的资源到本地git仓库(注:jsDelivr不支持加载超过20M的资源),在本地git仓库目录下,执行以下命令:

git status                    #查看状态
git add .                     #添加所有文件到暂存区
git commit -m '第一次提交'      #把文件提交到仓库
git push                      #推送至远程仓库

4、发布仓库

点击release发布

自定义发布版本号 5、通过jsDelivr引用资源

使用方法:https://cdn.jsdelivr.net/gh/你的用户名/你的仓库名@发布的版本号/文件路径 例如:

https://cdn.jsdelivr.net/gh/baicaime/meBlog/index.html
https://cdn.jsdelivr.net/gh/baicaime/meBlog/favicon-16x16.png
https://cdn.jsdelivr.net/gh/clin003/cdn/[email protected]/css.css

注意:版本号不是必需的,是为了区分新旧资源,如果不使用版本号,将会直接引用最新资源,除此之外还可以使用某个范围内的版本,查看所有资源等,具体使用方法如下:

// 加载任何Github发布、提交或分支
https://cdn.jsdelivr.net/gh/user/repo@version/file

// 加载 jQuery v3.2.1
https://cdn.jsdelivr.net/gh/jquery/[email protected]/dist/jquery.min.js

// 使用版本范围而不是特定版本
https://cdn.jsdelivr.net/gh/jquery/[email protected]/dist/jquery.min.js
https://cdn.jsdelivr.net/gh/jquery/jquery@3/dist/jquery.min.js

// 完全省略该版本以获取最新版本
https://cdn.jsdelivr.net/gh/jquery/jquery/dist/jquery.min.js

// 将“.min”添加到任何JS/CSS文件中以获取缩小版本,如果不存在,将为会自动生成
https://cdn.jsdelivr.net/gh/jquery/[email protected]/src/core.min.js

// 在末尾添加 / 以获取资源目录列表
https://cdn.jsdelivr.net/gh/jquery/jquery/

// 刷新cnd资源 将域名中的 cdn 改为 purge 即可
https://purge.jsdelivr.net/gh/baicaime/meBlog/index.html

// 使用最新版本资源
https://purge.jsdelivr.net/gh/baicaime/meBlog@latest/index.html

Ubuntu安装 qbittorrent-nox并启动

qBittorrent Ubuntu bt

Qbittorrent-Nox

要在Linux上使用Qbittorrent Web UI,你无需安装完整的Qbittorent桌面应用程序,有一个基于终端的Qbittorrent应用程序可用,它被称为Qbittorrent-Nox。

注意:Web UI功能不仅限于Qbittorrent-Nox应用程序,此功能还可以与传统的Qbittorent Linux桌面应用程序一起使用

安装qbittorrent

安装add-apt-repository命令

sudo apt-get update && sudo apt-get install software-properties-common -y

添加qbittorrent-nox的PPA软件源

sudo add-apt-repository ppa:qbittorrent-team/qbittorrent-stable

安装qbittorrent-nox(webui版)

sudo apt-get update && sudo apt-get install qbittorrent-nox

设置开机启动

通过rc.local完成

如果是Ubuntu-16.10及其之后的版本需要先按下面的文章完成设置后,开机启动才会生效

Ubuntu-18.04设置开机启动脚本 起因Ubuntu-16.10(不包括)之前的版本使用的是update-rc.d以及rc.local等方法设置开机启…

编辑rc.local脚本

nano /etc/rc.local

在exit 0前面(前一行)添加以下内容并保存

qbittorrent-nox -d

通过创建自定义服务实现

创建系统服务

sudo apt-get install nano -y && nano /etc/systemd/system/qbittorrent-nox.service

粘贴以下内容,并保存。

[Unit]
Description=qBittorrent-nox
After=network.target

[Service]
User=root
Type=simple
RemainAfterExit=yes
ExecStart=/usr/bin/qbittorrent-nox -d

[Install]
WantedBy=multi-user.target

启动qbittorrent-nox并创建服务配置

systemctl start qbittorrent-nox

设置开机自动启动qbittorrent-nox

systemctl enable qbittorrent-nox

查看qbittorrent-nox状态

Read more...
Previous Page 6 of 9 Next Page