手动设置Linux时间

当离线使用的时候,由于时钟的原因,总会出现时间慢的问题,因此,记住手动设置时间,是很有必要的。

参考:Manjaro下timedatectl命令详解

1.显示系统的当前时间和日期

timedatectl  status

结果中RTC time就是硬件时钟的时间。

2.Linux系统上的time总是通过系统的timezone设置的,查看当前时区:

timedatectl | grep Time

3.查看所有可用的时区:

timedatectl list-timezones

4.根据地理位置找到本地的时区:

timedatectl list-timezones |  egrep  -o “Asia/B.*”

timedatectl list-timezones |  egrep  -o “Europe/L.*”

timedatectl list-timezones |  egrep  -o “America/N.*”

5.在Linux中设置本地时区,使用set-timezone开关:

timedatectl set-timezone “Asia/shagnhai”

如何在Linux中设置时间和日期

6.可以使用timedatectl命令设置系统的日期和时间:

只设置时间的话可以使用set-time开关以及HH:MM:SS(小时,分,秒)的时间格式。

timedatectl set-time 15:58:30

7.只设置日期的话可以使用set-time开关以及YY:MM:DD(年,月,日)的日期格式。

timedatectl set-time 20151120

8.设置日期和时间:

timedatectl set-time ’16:10:40 2015-11-20′

在Linux中查找和设置硬件时钟

9.设置硬件时钟为UTC可以使用 set-local-rtc boolean-value选:

首先确定硬件时钟是否设置为本地时区:

# timedatectl | grep local

将硬件时钟设置为本地时区:

timedatectl set-local-rtc 1

将硬件时钟设置为UTC:

timedatectl set-local-rtc 0

将Manjaro系统时钟同步到远程NTP服务器

NTP即Network

Time

Protocol(网络时间协议),是一个互联网协议,用于同步计算机之间的系统时钟。timedatectl实用程序可以自动同步Linux系统时钟到使用NTP的远程服务器(你必须在系统上安装NTP以实现与NTP服务器的自动时间同步)。

开始同步到远程NTP服务器,在终端键入以下命令:

timedatectl set-ntp true

禁用NTP时间同步,在终端键入以下命令:

timedatectl set-ntp false

Docker新手入门学习笔记(含视频演示)

From:https://baiyue.one/archives/368.html

Docker 是一个开源的应用容器引擎,而一个容器containers其实是一个虚拟化的独立的环境,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

本站在学习了docker的基础指令及相关教学视频后,汇总整理以下内容。后期所有教程可能会逐步发展成docker部署,抛弃掉所有的lunnix手动部署教程。

Docker新手入门学习笔记(含视频演示)

优点

  • 类似win10 sandbox,一种沙箱机制,相互独立运行
  • 初始化环境完全一致
  • 容器内可运行多个镜像(比如同时运行上千个wordepress)
  • 无可比拟的优势:部署超快、超简单

Docker基础环境安装

docker已经通用与pc、mac、lunix系统。Docker 官方的安装教程,在这里

本站仅以centos为例

安装docker

docker version > /dev/null || curl -fsSL get.docker.com | bash 
service docker restart 
systemctl enable docker  #设置开机自启
Docker新手入门学习笔记(含视频演示)

安装docker compose(二选一)

方法一:

curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose   #下载最新文件
chmod +x /usr/local/bin/docker-compose     #添加可执行权限

方法二:

pip install docker-compose

Docker常用命令

docker images   #查看所有docker映像
docker ps    #查看所有容器
docker ps -a    #查看正在运行中的容器
docker stop XXXX  #停止运行xxxx容器(xxxx为容器id前4位)
docker rmi image-name   #删除一个映像
docker rmi -r $(docker images -q)   #删除所有映像
docker rm $(docker ps -a -q)    #删除所有容器
docker exec -it container-id bash   #进入容器
exit    #退出容器
ctrl+c    #退出当前容器并结束该容器
Docker新手入门学习笔记(含视频演示)

快速重置技巧

service docker stop  # 停止docker
rm -rf /var/lib/docker   #移除docker容器
service docker restart  #重启docker,此时相当于刚刚安装好docker。

Docker可视化管理

portainer可视化,可快速部署常见应用

官网:https://www.portainer.io

安装:

docker volume create portainer_data
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

完成后访问域名+9000即可

Docker新手入门学习笔记(含视频演示)

Seagull (海鸥)

项目地址:https://github.com/tobegit3hub/seagull

安装:

docker run -d -p 10086:10086 -v /var/run/docker.sock:/var/run/docker.sock tobegit3hub/seagull

支持十几种模板,多国语言,可快速运行、停止或删除镜像。

Docker新手入门学习笔记(含视频演示)

宝塔自带的docker容器管理

安装:通过宝塔软件管理下载安装,安装过程需要3分站左右

算是目前为止可视化操作最完善的管理器,可以图形化的生成镜像、完成推送、自带终端命令。一下子有一种把我们从windows1.0拉升至win10的感觉。

Docker新手入门学习笔记(含视频演示)

Docker部署完后设置域名代理

作用:通过域名直接访问

方法一:通过宝塔设置反代

先进入宝塔面板,点击左侧网站,添加站点,完成后进入网站设置,点击反向代理,目标URL填入http://127.0.0.1:代理端口代理端口就是docker应用的外接接口),再启用反向代理即可。如果想启用SSL ,就直接在站点配置即可。

Docker新手入门学习笔记(含视频演示)

方法二:caddy反代(没有宝塔时的策略)

设置较为麻烦,愿意的请参考:https://www.moerats.com/archives/422/

本期演示视频

YouTube bilibili OneDrive

最火的lnmp镜像

https://hub.docker.com/r/2233466866/lnmp

QQ群669756510

使用教程(快速入门)

下载(下载)

# 主流版本
docker pull 2233466866/lnmp
# nosql版本
docker pull 2233466866/lnmp:1.9-nosql

启动(Start)

# 端口映射自行指定,容器名称自行指定为lnmp
docker run -dit --privileged=true --name=lnmp 2233466866/lnmp

# 高级用法(Advanced usage)
docker run -dit \
-p 80:80 \
-p 443:443 \
-p 3306:3306 \
-p 9000:9000 \
-v /xxx/www:/www \
-v /xxx/mysql:/data/mysql \
--privileged=true \
--name=lnmp \
2233466866/lnmp

连接(连接)

# 容器名称与上一步保持一致
docker exec -it lnmp /bin/bash

状态(状态)

ps aux|grep nginx
ps aux|grep mysql
ps aux|grep php-fpm
# 或者(Or)
systemctl status nginx
systemctl status mysqld
systemctl status php7

初始密码(默认密码)

cat /var/log/mysqld.log|grep 'A temporary password'
# 或
password=`cat /var/log/mysqld.log|grep 'A temporary password'`;password=${password:91};echo $password

初始化(初始化)

如你的mysql数据是全新的,那么你可以在^1.11 or ^1.11-nosql版本中,使用 mysql_init 脚本将数据库密码初始化为:ASDFqwer1234####

警告(警告)

# 请保持清醒头脑,明确自己是在容器内还是在服务器本身执行命令,以及-v挂载对文件的影响,以免造成不可挽回的损失
# 当前Node和Python较火,故增加了对node.js的支持,是否添加对Python3.8的支持请在群内踊跃投票~~~

配置(Config)

#配置文件路径(Config file path)
# Nginx
/usr/local/nginx/conf/nginx.conf
# MySQL
/etc/my.cnf
# PHP
/usr/local/php7/lib/php.ini
/usr/local/php7/etc/php-fpm.conf
/usr/local/php7/etc/php-fpm.d/www.conf
# 如对配置文件比较熟悉,也可以通过宿主机挂载使用自定义的配置文件

PHP扩展(PHP扩展)

# 默认已安装部分扩展在目录:/usr/local/php7/lib/php/extensions/no-debug-non-zts-20170718/
# 如果要启用指定扩展,则需要修改php.ini,加上
extension=xxx.so
# xxx为PHP扩展的文件名,然后重启php
systemctl restart php7

版本(版本)

# 各版本详细信息请参考
https://github.com/2233466866/lnmp/wiki

测试了一下qml与cpp交互

一个宝藏的up主提供的qml的教程,按照他的视频,做了一个测试,cpp调用qml和qml调用cpp。

不错,都做通了。

cpp调用qml比较简单,直接QMetaObject::invokeMethod就可以了,例如:

QMetaObject::invokeMethod(qmlbt,"chageBtText",Q_ARG(QVariant,ui->lineEdit->text()));

qml调用cpp稍微复杂一点,需要通过信号和槽(建议为旧式连接):

比如:

QObject::connect(qmlbt,SIGNAL(btclicked()),this,SLOT(qmlbt_clicked()));

 

 

 

你还在用 carbon 生成代码图片吗

From:https://zhuanlan.zhihu.com/p/166642298

原文参考:

生成漂亮的代码片段图片​blog.hellojukay.cn

carbon 是一款很不错的工具,能够把代码片段转化成漂亮的图片,blog.hellojukay.cn/2020  ,这里就不说 carbon 的缺点了,我想说的是我发现一个替代方法,也是我喜欢的命令行方式,silicon 命令能快速的生成漂亮的图片,因为是 rust 编写的,所以它的性能不错

https://github.com/Aloxaf/silicon​github.com

下面就是我用 silicon 生成的一张图片给大家展示一下

package main

import "fmt"

func main() {
	fmt.Println("vim-go")
}

执行下面命令再桌面上生成了一张图片

silicon main.go -o /home/hellojukay/Desktop/main.png

如果不喜欢外面紫色边框,可以通过命令行参数设置去掉它

silicon main.go -o /home/hellojukay/Desktop/main.png ---pad-horiz=0 --pad-vert=0

解决ssh_exchange_identification:read connection reset by peer

解决方法:

vi /etc/hosts.allow

追加:

sshd: ALL

重启ssh就ok了

service sshd restart

另,

Archlinux或者manjaro开启ssh服务命令

systemctl enable sshd.service 开机启动

systemctl start sshd.service 立即启动

systemctl restart sshd.service 立即重启

作者:dc0012
链接:https://www.jianshu.com/p/3f72869abdee
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

关于/usr/bin/mandb占用大量cpu的bug

arcoLinux20会有一个bug,即第一次开机启动后,会出现cpu占用过高的情况,现在升级到5.8.12的内核,问题依旧。

htop看了一下,/usr/bin/mandb –quit占用大量cpu,应该是man数据库退出时有问题了,查看网上资料,说:

mandb -csp

实测无效。

既然这样,那就手动帮助它退出吧。

由于是系统bin,因此要sudo启动htop,然后F9手动kill掉该进程,整个世界,清净了。

内网穿透下使用scp

由于内网穿透下存在服务器端口,因此需要填写端口号。

和ssh一样,需要使用-p指令。

下面指令中,port为内网传统服务器的端口,id为真实主机的id,server_ip为内网穿透服务器的ip

我使用的是

scp -p port id@server_ip:/dir

但传说中也可以使用

scp -Pport id@server_ip:/dir

 

另:网上有文章这么说:(来自简书)

作者按:前提条件是已经完成内网穿透。

通过云服务器连接远程服务器,命令如下:

ssh -p 6000 用户名@云服务器公网IP

输入密码

进入需要执行代码的文件夹,使用vim修改文件中的参数

将运行结果从远程服务器下载到本地,执行scp命令是在本地shell端:

scp -P 6000 kyj@公网IP:/home/kyj/Moseklab/model_180828/xxx.csv  /本地某个文件夹的绝对路径

本地某个文件夹的绝对路径选项可以为空,即下载到当前文件夹中。

作者:Peggy_623

链接:https://www.jianshu.com/p/b835a447100e

来源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

manjaro下QtCreator无法加载Help

之前因为用了一个字体软件包,里面使用的freetype2-ultimate5有点问题,当时也没有多在意。

后来安装Qt后,发现帮助文档一直没办法打开,一直报错:usr/lib/libQt5WebEngineCore.so.5: undefined symbol: FT_Palette_Select。刚开始以为是WebEngine的问题,但是使用sudo pacman -S qt5-webengine重装WebEngine后,发现还是出现一样的问题。

后来查询资料才发现:”出现类似FT_***的问题肯定跟freetype库有关。如果安装了AUR上打了infinality补丁的freetype2字体效果优化包(如freetype2-ultimate),那么重新yaourt -S freetype2-ultimate5,问题就会解决。”

当然,现在yaourt已经停用了,我这里使用的是yay。

安装完成后,重启,搞定!

关于fcitx的基本概念

一直都是fcitx+搜狗,最近更新了arcolinux,没有额外安装输入法,而是使用自带的几个输入法,有几点需有注意的:

1、激活与非激活

这里非激活就是输入英文状态,激活就是输入中文状态。系统启动后,默认就是非激活状态,直到你使用快捷键激活fcitx,因为默认要使用英文,所以一般第一个输入法要是英文输入法。

2、如果有多个中文输入法,需要在全局配置中勾选上启用输入法间切换,然后可以在中文输入法中切换。