armbian安装cups打印服务器

一、安装cups服务
1、apt-get install cups avahi-daemo -y

2、安装驱动
HP驱动:
apt-get install hplip -y
爱普生驱动:
apt-get install printer-driver-gutenprint
兄弟驱动:
apt-get install printer-driver-brlaser

3、systemctl restart cups

二、修改配置文件
1、
找到:Listen localhost:631
改成:Listen 0.0.0.0:631
2、
找到下面的字段:

Show shared printers on the local network.

Browsing On
BrowseLocalProtocols dnssd

改成下面的字段:

Show shared printers on the local network.

Browsing On
allow 192.168.0.*
BrowseAllow all
BrowseAddressLocalProtocols CUPS dnssd
BrowseAddress @LOCAL

3、添加允许IP

Restrict access to the server...


Order allow,deny
Allow 192.168.5.*

4、添加允许IP

Order allow,deny
Allow 192.168.5.*

5、添加允许IP

Order allow,deny
Allow 192.168.5.*

6、添加允许IP

Restrict access to configuration files...


AuthType Default
Require user @SYSTEM
Order allow,deny
Allow 192.168.5.*

7、添加允许IP

Order deny,allow
Allow 192.168.5.*

三、重启服务
systemctl cups restart

四、进入后台
http:/192.168.5.250:631
添加打印机输入用户名密码,要输入root用户和密码

h96 max刷armbian linux系统

h96max 以前出差常驻刷centos挂载硬盘当存储使用,现在回家用不到,准备给孩子买个打印机安装cups,放一个不住的屋子使用,也不需要网线,手机可以直接打印,准备实施。
一、必备工具:
至少 8GB SD 卡和 SD 读卡器
Balena Etcher - SD 卡刷机工具
Jock rk3318 Multitool 镜像,镜像:链接(用 7-zip 解压)
Multitool - RK3318/RK3328 电视盒维护的小而强大的图像。从这里下载

二、
打开balena刷入mutitool,拔掉内存卡,在重新插入,把armbian镜像放入FAT分区的images文件夹中

三、
内存卡插入机顶盒,插入USB键盘,通电开机。
从菜单中选择“Burn image to flash”,然后选择目标设备(通常是mmcblk2)和要刻录的映像;
等待该过程完成,然后从主菜单中选择“shutdown”;
拔下电源线和SD卡,然后重新插入电源线;
等待 10 秒,然后 LED 应开始闪烁,HDMI 将打开。第一次启动过程需要几分钟或更长时间,因为文件系统将被调整大小,所以请耐心等待登录提示。
首次启动时,系统会要求您输入所选root 用户的密码以及普通用户的名称和密码

四、
sudo rk3318-config
运行 rk3318-config。选择安全的1.1GHz速度,不要选择任何eMMC选项,最后选择x88 PRO板。暂时不要重启。

命令来安装我们需要的东西:
sudo apt-mark hold linux-image-edge-rockchip64 linux-dtb-edge-rockchip64
sudo apt update && sudo apt install armbian-config libxcb1

祝贺。您已经(几乎)安装了 Armbian。您现在可以重新启动。
sudo reboot
五、
更换debian源,vim /etc/apt/sources.list,更改一下内容:

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free

deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free

保存后;
apt-get update

六、安装wifi驱动
cd /tmp
wget -O patch_wifi_kernel_5_15_16.tar.gz "https://drive.google.com/uc?export=download&id=15QExck5QJSDmX9CZRrFrut_ln4kp_n0v"

tar -xf patch_wifi_kernel_5_15_16.tar.gz
cp -R -f usr/* /usr
cp -R -f lib/* /lib
重启
七、
1、armbian-config 选择wifi使用(不推荐)
2、numtui 连接WIFI,配置静态IP(推荐)

linux的压缩和解压缩

压缩和解压缩工具和bash脚本编程;

压缩比

目的:时间 换 空间
    CPU的时间 --> 磁盘空间
    
compress/uncompress, .Z
gzip/gunzip,  .gz
bzip2/bunzip2,  .bz2
xz/unxz,  .xz
lzma/unlzma, lzma
zip/unzip
tar, cpio

1、gzip/gunzip/zcat

gzip, gunzip, zcat - compress or expand files

gzip  [OPTION]...  FILE...
    -d:解压缩,相当于gunzip;
    -#:指定压缩比,默认是6;数字越大压缩比越大(1-9);
    -c:将压缩结果输出至标准输出;
        gzip  -c  FILE > /PATH/TO/SOMEFILE.gz
        

2、bzip2/bunzip2/bzcat


bzip2  [OPTION]...  FILE...
    -d:解压缩
    -#:指定压缩比;默认是6;数字越大压缩比越大(1-9);
    -k:keep,保留原文件;
        

3、xz/unxz/xzcat

  lzma/unlzma/lzcat
  
xz  [OPTION]...  FILE...
    -d:解压缩
    -#:指定压缩比;默认是6;数字越大压缩比越大(1-9);
    -k:保留原文件;
    

归档:tar, cpio


tar命令:
    tar  [OPTION]...  FILE...
    
    (1) 创建归档
        -c -f /PATH/TO/SOMEFILE.tar  FILE... 
        -cf /PATH/TO/SOMEFILE.tar  FILE... 
        
    (2) 展开归档
        -xf  /PATH/FROM/SOMEFILE.tar 
        -xf  /PATH/FROM/SOMEFILE.tar  -C  /PATH/TO/SOMEDIR
        
    (3) 查看归档文件的文件列表
        -tf  /PATH/TO/SOMEFILE.tar
        
归档完成后通常需要压缩,结果此前的压缩工具,就能实现压缩多个文件了;
    (4) 归档压缩
        -z:gzip2
            -zcf   /PATH/TO/SOMEFILE.tar.gz  FILE...
            解压缩并展开归档:-zxf  /PATH/TO/SOMEFILE.tar.gz
            
        -j:bzip2
            -jcf
            -jxf
            
        -J: xz
            -Jcf
            -Jxf
            

zip:

zip/unzip
    后缀名:.zip

centos7开启samba并密码认证共享

一、永久关闭SeLinux,需要重启机器
修改配置文件/etc/selinux/config,将SELINU置为disabled
二、关闭防火墙
或者加入防火墙端口
开启防火墙并且加入端口 UDP137,138 和TCP139,445
/*
firewall-cmd --zone=public --add-port=137-138/udp --permanent
firewall-cmd --zone=public --add-port=139/tcp --permanent
firewall-cmd --zone=public --add-port=445/tcp --permanent

firewall-cmd --reload
*/

三、安装samba
yum install -y samba
修改配置文件
cp /etc/samba/smb.conf /etc/samba/smb.conf_bak
修改smb.conf为

[global]
        workgroup = SAMBA
        security = user

        passdb backend = tdbsam

        printing = cups
        printcap name = cups
        load printers = yes
        # cups options = raw
        aio read size = 0
        # 不使用异步
[share]
        path=/home/pdadmin/shares
        browseable=yes
        create mask=0644
        directory mask=0755
        valid users=pdadmin
        write list=pdadmin
        wirteable=yes

添加samba用户
smbpasswd -a pdadmin
输入密码确认

重启samba
客户端连接测试
\192.168.5.*\share

centos退出后台运行程序screen

安装screen程序 yum install screen -y
常用命令:
1、创建screen会话
可以先执行:screen -S download ,screen就会创建一个名字为download的会话。

2、暂时离开,保留screen会话中的任务或程序
当需要临时离开时(会话中的程序不会关闭,仍在运行)可以用快捷键Ctrl+a d(即按住Ctrl,依次再按a,d)

3、恢复screen会话
当回来时可以再执行执行:screen -r lnmp 即可恢复到离开前创建的lnmp会话的工作界面。如果忘记了,或者当时没有指定会话名,可以执行:screen -ls screen会列出当前存在的会话列表,

4 关闭screen的会话
执行:exit ,会提示:[screen is terminating],表示已经成功退出screen会话。

5 远程演示
首先演示者先在服务器上执行 screen -S test 创建一个screen会话,观众可以链接到远程服务器上执行screen -x test 观众屏幕上就会出现和演示者同步。

6常用快捷键
Ctrl+a c :在当前screen会话中创建窗口
Ctrl+a w :窗口列表
Ctrl+a n :下一个窗口
Ctrl+a p :上一个窗口
Ctrl+a 0-9 :在第0个窗口和第9个窗口之间切换

在home目录下创建.screenrc加入以下内容

编码

defutf8 on
defencoding utf8
encoding UTF-8 UTF-8
新建screen,则能正确显示。

摘自:https://blog.csdn.net/hnjb5873/article/details/106235674

centos中mysql密码忘记了怎么办

我只在centos中测试,其他没有测试
第一步:
修改/etc/my.cnf,在最后面加上
[mysqld]
skip-grant-tables
第二步,重启MySQL
systemctl restart mysqld
第三步:每一步都回车
1、mysql;
2、use mysql;
3、修改密码: update user set password=password('123456') where user='root';
如果出现
ERROR 1054 (42S22): Unknown column 'password' in 'field list'
就用(5.7的)
update mysql.user set authentication_string=PASSWORD('123456') where user='root';
4、flush privileges;
第四步:
删掉/etc/my.cnf添加的内容
第五步:
重启mysql

用新密码登陆即可

找了很多,拼凑到一起才配置完成的

安装python3出现checking how to run the C preprocessor... /lib/cpp

出现checking how to run the C preprocessor... /lib/cpp configure: error: C preprocessor "/lib/cpp" fails sanity check
是由于没有安装kernel-headers
安装yum install kernel-headers时如果出现Plugin "product-id" can't be imported Loaded plugins: fastestmirror, langpac
禁用加速插件,修改/etc/yum/pluginconf.d/fastestmirror.conf
将enabled = 1//由1改为0,禁用该插件
修改yum.conf
把exclude= 的内容注释掉即可

openwrt挂载硬盘并开启读写权限

首先插入移动硬盘,用SSH登陆路由器进行硬盘分区,格式化成ext4,如果不会的可以在windows用DiskGenius分区软件进行格式化。
进入路由器挂载点,添加挂载点,勾选启用挂载点,UUID选择移动硬盘的sda1(可能不一样),挂载点自己填写/mnt/sda1,保存。
挂载
第二部进入网络共享,添加共享目录,如图所示
smaba
在编辑模板中把invalid users = root前加#注释掉
这样做完后,在本地添加映射是没有写入权限的,ssh登陆路由器,

smbpasswd -a root
如果要匿名用户也有权限,输入
chmod 777 /mnt/sda1

重启路由器即可。

阿里云centos7配置MongoDB开启远程连接

系统:阿里云centos 7.7 64位

mongodb版本: 3.4

因为使用yum安装非常方便,所以下文使用yum安装,。

修改yum包管理配置:

vi /etc/yum.repos.d/mongodb-org-3.4.repo // 会自动新建mongodb-org-3.4.repo文件

复制下面配置信息:

[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=0
enabled=1
tips: 不懂linux去恶补下基础知识(vi 编辑器)

安装mongodb

yum install -y mongodb-org // 一路yes安装mongodb

启动mongodb

systemctl start mongod.service // 启动mongodb

停止mongodb

systemctl stop mongod.service // 停止mongodb

重启mongodb

systemctl restart mongod.service // 重启mongodb

设置mongodb开机启动

systemctl enable mongod.service // 设置开机启动

tips: centos 7将service命令 改为systemctl。

mongodb安装成功,默认配置文件路径为:/etc/mongod.conf。执行cat /etc/mongod.conf,查看文件的配置。

配置文件是yaml 语法:

systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log // 日志文件储存路径

storage:
dbPath: /var/lib/mongo // 数据储存路径
journal:
enabled: true

你也可以更改储存路径,更改路径时因先新建相关文件夹和文件,这里不做修改。

本地连接mongodb:

mongo // 连接本地mongodb
show dbs // 查看所有数据库
use mydb // 切换mydb数据库,没有会自动添加
show collections // 查看集合
默认情况下,mongodb是没有安全验证的,都可以连接到该数据库。因为mongodb要求是部署在一个安全的环境中,而不需要验证。

远程连接:

在本地window中,打开cmd,执行mongo 192.168.31.54 (192.168.31.54为你的阿里云服务器外网地址),发现连接不上,网上找了很长时间,终于解决了。

1、在阿里云esc实例中设置安全组,把27017端口开放,mongodb 默认端口为27017,阿里云为了安全端口默认都是关闭的。

2、修改mongodb配置文件:

vi /etc/mongod.conf // 编辑配置文件

net:
port: 27017
bindIp: 127.0.0.1 // mongodb 默认绑定的IP地址

默认情况下,阿里云只绑定了127.0.0.1本地地址,只能本地访问,需要在上面加上阿里云内网地址。
bindIp: 127.0.0.1,阿里云内网地址

重启mongodb服务器:
systemctl restart mongod.service

在本地cmd中再执行
mongo 阿里云外网地址 // 发现现在可以连接上了。

到此本地和远程都可以连接上mongodb了,远程可以用可视化工具Robomongo连接,直接输入阿里云外网地址和端口号27017即可以远程连接成功。虽然远程可以连接上mongodb,但是只要知道阿里云外网地址,谁都可以通过远程连接到数据库,并且修改数据库了的数据,这样是非常不安全的。所以实际部署中是不建议bindIp里面加上阿里云内网地址的,只能通过本地访问。远程连接只是为了能方便用可视化工具Robomongo方便管理数据库。如果要想用Robomongo,又想数据库不能随便被别人连接上可以吗?当然可以,只需开启身份认证。

默认情况下mongodb是关闭身份认证的,开启身份认证需如下步骤:

1、修改mongodb配置文件

vi /etc/mongod.conf // 编辑mongod.conf文件

security: // 去掉security前面#
authorization: enabled // 添加这句开启认证

在网上看了很多教程关于开启身份认证的,使用auth=true发现不行,后来才知道是教程太老了,配置字段都变了,坑的我找了很长时间。

2、添加超级管理员

默认Mongodb是没有管理员等用户信息的,开启身份认证是需要添加用户信息验证。首先添加的应该是admin数据库里的管理员账号,他用于其他数据库的用户添加、修改、删除等一些权限控制。

执行如下操作:

mongo // 本地连接数据库
use admin // 切换到admin数据库,没有会自动添加
db.createUser( // 创建管理员用户
{
user: "admin", // 账号
pwd: "admin", // 密码
roles: [ { role: "root", db: "admin" } ] // 角色:超级管理员,数据库:admin
}
)
创建成功后会输出Successfully added user。。。

重启mongodb

systemctl restart mongod.service

执行

mongo // 连接数据库
show dbs // 显示所有数据库,这步会报错,说没有通过验证。
use admin // 切换到admin数据库
db.auth('admin','admin') // 用上面设置的账号密码登录
如果返回 '1'表示验证成功, 如果是 '0' 表示验证失败

身份验证开启了,在window端cmd中执行下面命令
mongo 阿里云外网地址 // 发现连接失败,因为没有通过验证。
如果执行下面这句
mongo 阿里云外网地址 -u "admin" -p "admin" --authenticationDatabase admin
// 发现连接成功

Robomongo身份认证连接:

切换到Authorization选项,选中Perform authorization,填上Database, user name, password,就可以连接成功了。

mongodb不像mysql,验证的用户对所有数据库都有读写的能力,不同的库需要配置相关的用户信息才能对该库进行读写。比如有个myblog的数据库,需要对其有读写的能力,新建一个具有读写能力的用户。

命令如下:

mongo // 连接数据库
use admin // 切换到admin数据库
db.auth('admin','admin') // auth验证登录
use myblog // 切换到myblog数据库
db.createUser( // 创建普通用户
{
user: "keen", // 账号
pwd: "123", // 密码
roles: [ { role: "readWrite", db: "myblog" } ] // 角色:读写,数据库:myblog
}
)
db.auth('keen', '123') // 使用新建用户keen验证登录

命令示例:

创建管理员
db.createUser({user:"root",pwd:"密码",roles:[{role:"root",db:"admin"}]})

创建其他库
use admin
db.auth('用户名','密码')
切换数据库
use myblog 
创建账号密码
db.createUser({user:"jobs",pwd:"密码",roles:[{role:"readWrite",db:"jobs"}]})
用新建账账户认证
db.auth('jobs','密码')

数据库名和用户名一样容易记

最后要在防火墙加上规则
iptables -I INPUT -p tcp --dport 27017 -j ACCEPT

永久配置在/etc/sysconfig/iptables
加上

-A INPUT -p tcp --dport 27017 -j ACCEPT

到此整个mongodb配置结束了

摘自:https://www.lmlphp.com/user/16830/article/item/550131/

CentOS7安装配置MySQL并开启远程登录

1、先检查要安装的Linux服务器cglib版本号,命令 strings /lib64/libc.so.6 | grep GLIBC ,查看其是否有相应cglib版本

2、cd /usr/local 下载MySQL5.7
老版本:https://downloads.mysql.com/archives/community/
国内镜像:http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/

3、解压压缩包:tar -xzvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
并且重命名:mv mysql-5.7.23-linux-glibc2.12-x86_64 mysql

4、创建用户组
groupadd mysql
useradd -r -g mysql mysql

5、进入到mysql目录下创建数据目录并赋予权限
创建目录
mkdir data
赋予权限
chown mysql:mysql -R /usr/local/mysql

6、配置my.cnf
vi /etc/my.cnf
datadir改为自己创建的data路径 basedir改为自己安装的mysql路径

[mysqld]
bind-address=0.0.0.0
port=3306
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/usr/local/mysql/mysql.sock
symbolic-links=0
lower_case_table_names=1
character_set_server=utf8mb4
explicit_defaults_for_timestamp=true

[mysqld_safe]
log-error=/var/log/mysql/mysqld.log
pid-file=/var/log/mysql/mysqld.pid

创建上述配置中的log目录和pid目录 并赋予权限
mkdir /var/log/mysql
mkdir /var/run/mysql
touch /var/log/mysql/mysqld.log
touch /var/log/mysql/mysqld.pid
chown -R mysql:mysql /var/log/mysql/

7、初始化数据库
进入到mysql的bin目录下
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --user=mysql --initialize
目录一定要正确,否则启动不成功
看到最后一行是临时密码:-wPJi*<fz4zX
2021-03-31T15:24:39.285206Z 1 [Note] A temporary password is generated for root@localhost: 7Hjj3+bhpu/v
PS:如果初始化报错error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
就安装:yum install libaio-devel.x86_64

8、启动数据库

把mysql放到本地系统服务中
cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

启动mysql
service mysql start # 启动命令
service mysql status # 查看状态
service mysql stop # 停止命令

9、设置环境变量 开机自启 远程连接
修改配置

vi /etc/profile
在最后一行增加如下配置

export PATH=$PATH:/usr/local/mysql/bin

开机自启
chmod +x /etc/init.d/mysql
chkconfig --add mysql
查看开启
chkconfig --list
如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则键入
chkconfig --level 345 mysqld on

10、 查看初始密码 并更改密码
mysql -u root -h 127.0.0.1 -p
输入密码
进入MySQL,更改密码
SET PASSWORD FOR 'root'@localhost=PASSWORD('XXXXXXXXXXXXXX');

11、开启远程登陆
远程连接设置
登录mysql mysql -u -p
use mysql;
然后查看user表
select user,host from user;
开启远程

GRANT ALL PRIVILEGES ON *.* TO  'root'@'192.168.5.%' IDENTIFIED BY 'XXXpasswordXXX' WITH GRANT OPTION;

%代表所有,也可以写IP,后面是密码,可以和root密码不同
再次查看use mysql,如果root没有%可以使用

update user set host = '%' where user = 'root';

开启远程权限
flush privileges; # 重载系统权限
exit; # 退出

主要摘自:https://www.icode9.com/content-2-898758.html,一处地方是错的,MySQL开启不了,也有其他地方的
虚拟机测试,本地连接已成功,阿里云应该还要开端口,回头部署……


出现
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
进入bin目录执行
$ ./mysqld_safe --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data &