2020年12月25日星期五

Linux 常用办公软件安装




1.写入设备EMMC命令:(以下大红色是执行的命令)
新版本的写入EMMC命令已更改为./install-aml.sh

2.完成后关机
poweroff

3.汉化桌面
打开桌面终端
解决汉化过程死机先按次序在终端安装两个汉化包
安装1
sudo dpkg -i ./fonts-noto-cjk_20190410+repack1-2_all.deb
删除安装包
sudo rm fonts-noto-cjk_20190410+repack1-2_all.deb
安装2
sudo dpkg -i ./fonts-noto-cjk-extra_20190409+repack1-0ubuntu0.18.04_all.deb
删除安装包
sudo rm fonts-noto-cjk-extra_20190409+repack1-0ubuntu0.18.04_all.deb
桌面终端输入
sudo gnome-language-selector
回车后输入密码后按提示添加语言
不要关闭桌面终端,
接下来开始下载软件包,过程比较慢,建议网络空闲时段安装
按以上操作基本不会发生假死,需要耐心等待完成,
完成后,切记现在需要直接菜单栏打开语言设置,不要再用终端打开语言设置
4.终端里安装输入法配置
sudo apt-get install fcitx-config-gtk
5.正常情况不需操作 ,如果下载软件包过程自动退出和下载报错
先更新软件数据库
apt-get update
然后再升级:
apt-get upgrade
6.完成后重启
reboot

桌面还没有完全汉化完成,
7.这时用电脑putty.exe软件,做后续的汉化

nano /etc/locale.gen

【退出保存:键盘
   ctrl+x
   y
   回车保存】

nano /etc/default/locale
修改成如下

#  File generated by update-locale
LC_MESSAGES=zh_CN.UTF-8
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"

保存同上,
完成后重启,
这时你可发现桌面汉化完成了,

8.再安装输入法配置工具(可以先不重启,安装后重启)
apt install fcitx-config-gtk                  
安装完成后,桌面上设置输入法

9.WPS和QQ的安装
打开putty.exe软件
root账号,你设置的密码登入
或桌面终端(命令前加sudo)

下面命令由于连接地址被缩短了,需要鼠标右键复制连接地址
9-1.安装wps(官网下载页面
示例:
wget https://wdl1.cache.wps.cn/wps/do ... .1.0.9505_arm64.deb
apt install libglu1-mesa
dpkg -i wps-office_11.1.0.9505_arm64.deb
安装完成后删除软件包
rm wps-office_11.1.0.9505_arm64.deb
安装后打开WPS如果有字体缺失问题
参考这里:
点进去看看


9-2.QQ安装(官网下载页面

以下两条命令:

1.wget http://down.qq.com/qqweb/LinuxQQ ... 0-b2-1082_arm64.deb

2.dpkg -i ./linuxqq_2.0.0-b2-1082_arm64.deb


安装完成后删除软件包

rm linuxqq_2.0.0-b2-1082_arm64.deb

9-3.安装docker
按次序以下三条命令

curl -fsSL https://get.docker.com/ | sh

docker pull  portainer/portainer:linux-arm64

docker run -d --restart=always --name portainer -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer:linux-arm64



后记:
WPS设置中文,新建空白文档后,找到右上角那个字典的图标,可点击中间写个A的那个图标切换 。

  • 解决wps for linux缺失windows字体

操作步骤

1、下载缺失字体

  链接: https://pan.baidu.com/s/1ZUbtQ96b8RVbH0LrXb_GlQhttps://pan.baidu.com/s/1ZUbtQ96b8RVbH0LrXb_GlQhttps://pan.baidu.com/s/1ZUbtQ96b8RVbH0LrXb_GlQ 密码: nsr4

2、解压字体

unzip wps-font-symbols.zip

3、移动字体到文件夹

sudo cp -f wps-font-symbols /usr/share/fonts

4、修改字体权限

cd /usr/share/fonts

sudo chmod 755 wps-font-symbols

cd /usr/share/fonts/wps-font-symbols

chmod 644 *

5、生成字体索引

cd /usr/share/fonts/wps-font-symbols

sudo mkfontscale

sudo mkfontdir

6、更新字体缓存

sudo fc-cache

7、重启WPS,问题解决

2020年12月23日星期三

Apache2及Nginx的安装启动

Apache安装

sudo apt update

安装apache:

apt-get install apache2

安装PHP和Apache PHP模块:

sudo apt install php libapache2-mod-php

安装完软件包后,请重新启动Apache以加载PHP模块:

sudo systemctl restart apache2

测试配置文件语法:

sudo apachectl configtest

重新加载apache2

systemctl reload apache2

a2enconf/a2disconf 命令启用或关闭一个配置文件:
示例:

启用已创建站点配置文件:
a2ensite default-ssl.conf
关闭已创建的站点配置文件:
a2disconf default-ssl.conf

查看apache2已开启的模块:

apachectl -M

启用模块(开启为a2enmod指令,关闭为 a2dismod 指令)

a2enmod proxy proxy_balancer proxy_http
a2enmod rewritea ssl rewrite headers env dir mime
基本SSL参数:

通用性
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384

SSLHonorCipherOrder off
SSLSessionTickets off
开启 OCSP Stapling(建议)
SSLUseStapling On
SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"

虚拟主机开启SSL:

<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /path/fullchain.crt
SSLCertificateKeyFile /path/private.pem
</VirtualHost>

配置HTTP自动跳转HTTPS
编辑虚拟主机配置文件(我的是在conf.d/vhost.conf)
增加一个80端口的虚拟主机
主机名ServerName 匹配主域名 domain.com
别名 ServerAlias 匹配 所有二级域名 *.domain.com<VirtualHost *:80>

<VirtualHost *:80>
ServerName domain.com
ServerAlias *.domain.com
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/ [NC]
RewriteRule ^(.*) https://%{HTTP_HOST}$1 [L]
</VirtualHost>

禁止IP直接访问80端口:
/etc/apache2/ports.conf
注释以下内容

# Listen 80

代理访问指定端口:

<VirtualHost *:443>
ServerName example.com
AllowEncodedSlashes NoDecode
ProxyPass / http://localhost:8080/ nocanon
ProxyPassReverse / http://localhost:8080/ nocanon
RewriteEngine On
SSLEngine on
SSLCertificateFile /etc/ssl/zs/fullchain.crt
SSLCertificateKeyFile /etc/ssl/zs/private.pem
<Directory />
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order deny,allow
Allow from all
</Directory>
</VirtualHost>

如Apache2与Nginx要共用80端口,则:
/etc/apache2/ports.conf 文件,注释80端口 (#Listen 80)

301跳转到指定链接
<VirtualHost *:86>
ServerName example.com
RedirectMatch Permanent ^/(.*) http://example.com:5212/tool
</VirtualHost>

安装nginx

apt-get install nginx
安装安装PHP支持,与Apache不同,Nginx不具有处理PHP文件的内置支持。将使用PHP-FPM(“ fastCGI进程管理器”)来处理PHP文件。
sudo apt-get install php-fpm
安装完成后,FPM服务将自动启动。启动或检查服务状态,请运行
systemctl start php7.4-fpm
systemctl status php7.4-fpm
systemctl start php8.1-fpm
systemctl status php8.1-fpm

重启PHP-FPM
systemctl restart php8.1-fpm
systemctl restart php7.4-fpm

重新加载配置并重启

nginx -t                                           #测试配置语法
nginx -s reload                               #重新加载配置
sudo systemctl restart nginx          #重启Nginx

nginx.pid” failed 修复:

/usr/sbin/nginx -c /etc/nginx/nginx.conf

默认配置文件路径:

/etc/nginx/sites-available/default
额外设置:
Nginx安装PHP-FPM后,编辑Nginx默认配置,以便Nginx可以处理PHP文件:

示例配置:

server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;

if ( $host != "example.com" ) {
return 403;
}
return 301 https://example.com$request_uri;
}

server {
listen 443 ssl;
server_name example.com;

ssl_protocols TLSv1.3;
ssl_certificate /etc/ssl/zs/fullchain.crt; #证书路径
ssl_certificate_key /etc/ssl/zs/private.pem; #私钥路径

root /var/www/html;

location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$args;
}

location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
#fastcgi_pass unix:/run/php/php8.1-fpm.sock;
#fastcgi_pass unix:/run/php/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
include fastcgi_params;
}

# 将404错误页面重定向到静态页面页面 /404.html
error_page 404 /404.html;
location = /404.html {
root /var/www/html;
}

# 将500 502 503 504错误页面重定向到静态页面 /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www/html;
}

location ~ /\.ht {
deny all;
}
}

其他Nginx配置示例:Nginx配置示例

安装PHP扩展

PHP扩展是已编译的库,用于扩展PHP的核心功能。扩展是作为软件包提供的,可以通过以下方式轻松安装apt:

sudo apt install php-[extname]

例如,要安装MySQL和GD扩展,您将运行以下命令:

sudo apt install php-mysql php-gd

在安装新的PHP扩展之后,根据您的设置,不要忘记重新启动Apache或PHP FPM服务。

相关链接:

SSL证书申请: ssl加密证书申请

自定义SSL证书更新:

cd /etc/ssl/zs && ./ssl_update.sh

SSL 配置生成器在线版: https://ssl-config.mozilla.org
Apache2开启WebDAV服务:Apache2开启WebDAV服务

2020年12月22日星期二

armbian无缝更新内核

 更新内核:

将下载的img镜像使用losetup挂载,提取以下:
/boot/uInitrd
/boot/zImage
/lib/modules/5.3.0-aml-g12/  #后面对应内核版本号
可选提取:
/lib/firmware/  驱动
/etc/modprobe.d/
更新系统:
使用do-release-upgrade直接更新。


如在用apt-get安装软件包的时候遇到E: Sub-process /usr/bin/dpkg returned an error code (1)问题,解决方法如下:

操作代码:

cd /var/lib/dpkg/
sudo mv info/ info_bak          # 现将info文件夹更名
sudo mkdir info                 # 再新建一个新的info文件夹
sudo apt-get update             # 更新
sudo apt-get -f install         # 修复
sudo mv info/* info_bak/        # 执行完上一步操作后会在新的info文件夹下生成一些文件,现将这些文件全部移到info_bak文件夹下
sudo rm -rf info                # 把自己新建的info文件夹删掉
sudo mv info_bak info           # 把以前的info文件夹重新改回名

到此问题得以顺利解决。

备份armbian/linux/ubuntu系统到img镜像

 新建个2G的img文件,不要小于系统占用空间大小:

1
fallocate -l $(( 2048 * 1024 *1024 )) ubuntu.img

分区:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
cat > fdisk.cmd <<-EOF
o
n
p
1
 
+128MB
t
c
n
p
2
 
 
w
EOF
fdisk ubuntu.img < fdisk.cmd

挂载img为loop设备:

1
losetup -f -P --show ubuntu.img

格式化及挂载:

1
2
3
4
5
6
mkfs.vfat -n "BOOTFS" /dev/loop0p1
mke2fs -F -q -t ext4 -L ROOTFS -m 0 /dev/loop0p2
mkdir /img
mount /dev/loop0p2 /img
mkdir /img/boot
mount /dev/loop0p1 /img/boot

备份系统:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
cd /
DIR_INSTALL=/img
cp -r /boot/* /img/boot/
mkdir -p $DIR_INSTALL/dev
mkdir -p $DIR_INSTALL/media
mkdir -p $DIR_INSTALL/mnt
mkdir -p $DIR_INSTALL/proc
mkdir -p $DIR_INSTALL/run
mkdir -p $DIR_INSTALL/sys
mkdir -p $DIR_INSTALL/tmp
 
tar -cf - bin | (cd $DIR_INSTALL; tar -xpf -)
tar -cf - boot | (cd $DIR_INSTALL; tar -xpf -)
tar -cf - etc | (cd $DIR_INSTALL; tar -xpf -)
tar -cf - home | (cd $DIR_INSTALL; tar -xpf -)
tar -cf - lib | (cd $DIR_INSTALL; tar -xpf -)
tar -cf - opt | (cd $DIR_INSTALL; tar -xpf -)
tar -cf - root | (cd $DIR_INSTALL; tar -xpf -)
tar -cf - sbin | (cd $DIR_INSTALL; tar -xpf -)
tar -cf - selinux | (cd $DIR_INSTALL; tar -xpf -)
tar -cf - srv | (cd $DIR_INSTALL; tar -xpf -)
tar -cf - usr | (cd $DIR_INSTALL; tar -xpf -)
tar -cf - var | (cd $DIR_INSTALL; tar -xpf -)
sync

用作U盘启动,boot/uEnv.ini文件:

1
bootargs=root=LABEL=ROOTFS rootflags=data=writeback rw console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0

etc/fstab文件:

1
2
3
LABEL=ROOTFS / ext4 defaults,noatime,nodiratime,commit=600,errors=remount-ro 0 1
LABEL=BOOTFS /boot vfat defaults 0 2
tmpfs /tmp tmpfs defaults,nosuid 0 0