首页
壁纸
直播
统计
友链
Search
1
Centos宝塔面板清理垃圾空间
655 阅读
2
MacOS下禁止开机自动挂载分区 [/etc/fstab]
626 阅读
3
C语言单向链表写一个简单的通讯录
509 阅读
4
OC黑苹果+Win双系统安装小结
396 阅读
5
fio程序交叉编译记录
374 阅读
软件工具
网站搭建
技术交流
Macos
Windows
Linux
文件中转
登录
/
注册
Search
标签搜索
Linux
samba
shell
字符串
Leo
累计撰写
62
篇文章
累计收到
18
条评论
首页
栏目
软件工具
网站搭建
技术交流
Macos
Windows
Linux
文件中转
页面
壁纸
直播
统计
友链
搜索到
11
篇与
技术交流
的结果
2022-02-14
Ubuntu 20 开机免密root登录
首先如果没有设置root密码,先设置一下root用户的密码:sudo passwd root一条命令打开所有需要修改的文档:sub /root/.profile /etc/pam.d/gdm-autologin /etc/pam.d/gdm-password /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf /etc/gdm*/custom.conf一、修改 /root/.profile 文件将 mesg n || true 改成 tty -s && mesg n || true二、修改 gdm-autologin gdm-password 文件分别注释掉 /etc/pam.d/gdm-autologin 和 /etc/pam.d/gdm-password 的下面这行:#auth required pam_succeed_if.so user != root quiet_success三、修改修改 50-ubuntu.conf 文件在 /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf 末尾加入两行:greeter-show-manual-login=true allow-guest=false四、免密登录设置修改/etc/gdm/custom.conf 或 /etc/gdm3/custom.conf 文件AutomaticLoginEnable=True AutomaticLogin=root保存重启即可
2022年02月14日
24 阅读
0 评论
1 点赞
2021-11-02
进程与线程
进程与线程 20210922{dotted startColor="#ff6c6c" endColor="#1989fa"/}一. 查看进程和线程查看进程ps -ef 查看全格式的全部进程ps -aux 显示所有进程信息,包括无终端的和针对用户的进程:如USER, PID, %CPU, %MEM等查看进程中的所有线程ps -T -p [进程ID]top -H -p [进程ID]{dotted startColor="#ff6c6c" endColor="#1989fa"/}二. 多线程的全局变量线程共享进程的资源,全局变量可以被所有线程访问,但是使用的时候需要考虑资源竞争问题,如果多个线程需要对变量进行写操作,就需要进行线程同步,例如:互斥锁、 条件变量 、读写锁互斥锁:适用于线程可用的资源只有一个,需要互斥访问的情况条件变量:适用线程之间构成条件等待关系的情况读写锁:提高互斥锁在数据库系统数据访问(大量读,较少写)等应用领域的效率{dotted startColor="#ff6c6c" endColor="#1989fa"/}三. 进程,线程和多线程1、 线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位;2、 一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线3、 进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间(包括代码段,数据集,堆等)及一些进程级的资源(如打开文件和信号等),某进程内的线程在其他进程不可见;4、 调度和切换:线程上下文切换比进程上下文切换要快得多多线程,是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。简单来说:线程是程序中一个单一的顺序控制流程;而多线程就是在单个程序中同时运行多个线程来完成不同的工作。多线程是为了同步完成多项任务,不是为了提高运行效率,而是为了提高资源使用效率来提高系统的效率。多线程是在同一时间需要完成多项任务的时候实现的。多线程的优点:1、 多线程技术可以加快程序的运行速度,使程序的响应速度更快,因为用户界面可以在进行其它工作的同时一直处于活动状态2、 可以把占据长时间的程序中的任务放到后台去处理,同时执行其他操作,提高效率3、 当前没有进行处理的任务时可以将处理器时间让给其它任务4、 可以让同一个程序的不同部分并发执行,释放一些珍贵的资源如内存占用等等5、 可以随时停止任务6、 可以分别设置各个任务的优先级以优化性能多线程的缺点:1、 因为多线程需要开辟内存,而且线程切换需要时间因此会很消耗系统内存。2、 线程的终止会对程序产生影响3、 由于多个线程之间存在共享数据,因此容易出现线程死锁的情况4、 对线程进行管理要求额外的 CPU开销。线程的使用会给系统带来上下文切换的额外负担。
2021年11月02日
45 阅读
0 评论
0 点赞
2021-09-02
Iphone 通过USB共享网络给Linux, IOS14+不能使用的解决方法
安装libimobiledevice其实本来很简单,只需要:sudo apt-get install ipheth-utils libimobiledevice-dev libimobiledevice-utils然后在你的手机设置->热点,开启,然后插上数据线就行了。解决IOS14+不能用从IOS14之后,我发现这个工具不能用了,Github有讨论过这个问题:libimobiledevice issue,由于苹果并不开放这个协议,社区基本上也只能算抹石头过河,最后有人发现,只需要改一下缓冲区大小就行了,即ipheth.c驱动中://#define IPHETH_BUF_SIZE 1516define IPHETH_BUF_SIZE 1514这时有两种快速解决方案:(1) Linux 5.10.4已经修复这个问题如果你的工作对Linux内核版本没有要求,升级吧。(2)编译驱动替换为了方便大家使用,我把需要的东西都准备好了,放在github上,执行以下步骤就行了,都是简单的英文,我就懒得重新打一次了。注意如果将来升级了内核,这些步骤应该要重新执行一次。Clone the project:git clone https://github.com/potato1992/Iphone_usb_tethering_fix.gitEnter the project folder and make the ko file:cd Iphone_usb_tethering_fix/chmod +x ./install.shsudo bash ./install.sh根据向导,如果自动安装成功,就可以不往后面看了(3)如果手动安装Backup your original driver:sudo cp /lib/modules/$(uname -r)/kernel/drivers/net/usb/ipheth.ko /lib/modules/$(uname -r)/kernel/drivers/net/usb/ipheth.ko.bakRemove the old driver:sudo rmmod iphethCopy the built driversudo cp ipheth.ko /lib/modules/$(uname -r)/kernel/drivers/net/usb/Reload the new driversudo modprobe ipheth应该就可以了。编译失败了怎么办换个版本试试,工程里面附带的从Linux3.1开始到5.9所有的ipheth驱动版本,如果还是编译不成功,有两种可能:说明我附上的这些驱动不适合你的版本,你需要自己从你的Linux发行商去下载Linux内核代码,版本要和你用的一致(uname -r 可以看内核版本),然后复制drivers/net/usb/ipheth.c 这个文件扔进pathes文件夹,然后做如下更改://#define IPHETH_BUF_SIZE 1516//替换为define IPHETH_BUF_SIZE 1514重新运行脚本,应该就可以了。你的Linux 发行版缺失编译kernel module必要的文件,运行以下命令检查:ls -l /lib/modules/$(uname -r)/build输出应该是类似这样的:lrwxrwxrwx 1 root root 39 Jan 19 01:34 /lib/modules/5.4.0-65-generic/build -> /usr/src/linux-headers-5.4.0-65-generic有两种可能可以解决的办法:(1) 安装 Linux header,版本要和你的uname -r 显示的一致。(2) 换个机器(虚拟机),安装官方版本ubuntu/debian,切换内核到待修复电脑的版本,然后运行这个脚本得到 ipheth.ko 驱动,复制到待修复电脑手动安装驱动。这个脚本是不支持openwrt的,openwrt缺乏编译kernel module的必要组件,需要你下载openwrt代码,按照上面问题1的说明修改ipheth.c代码,然后用你的openwrt发行商提供的编译工具编译出驱动,再扔进路由器安装。转载自:https://blog.csdn.net/potato1992/article/details/113729111
2021年09月02日
228 阅读
0 评论
0 点赞
2021-08-28
服务器运维
{callout color="#008bc7"} {anote icon="fa-download" href="https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/20.10/ubuntu-20.10-desktop-amd64.iso" type="secondary" content="系统 Ubuntu20.10"/} 内核 5.11.0-31gcc 10.3.0vmware版本 16.1.2镜像源建议:清华源修改日期:2021-10-21{/callout}注意事项 20221208服务器的10.10IP的子网掩码只能24(255.255.255.0),不能设置别的开机后必须sudo ./startup.sh网站相关操作开启网站和samba、svn需要放行端口netstat -ntlp | grep smbd #查看服务的端口sudo ufw 3690/tcp #放行端口3690sudo ufw status #查看状态{callout color="#019857"}开机需要下命令sudo /opt/zbox/zbox -ap 8686 -mp 3304 restart sudo svnserve -d -r /home/svn{/callout}——启动禅道/opt/zbox/zbox -ap 8686 -mp 3304 restart——重启sambasystemctl restart smbd远程软件VNC在官网下载 VNC server版本激活方法:sudo vnclicense -add VKUPN-MTHHC-UDHGS-UWD76-6N36A虚拟机需要在新版的vmware下载地址:https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html需要安装gcc make设置开机挂载硬盘#For Samba Disk UUID=4ba38c53-4903-44a6-a906-65635fb6ade2 /home/smbdir/ ext4 defaults 0 1SVN代码管理{callout color="#0173ad"}示例代码路径:/home/smbdir/SVN/code{/callout}配置svn:https://www.cnblogs.com/daimengxiaoerge/p/10238503.html# 启动SVN目录 使用81端口 svnserve -d -r /home/smbdir/SVN --listen-port 81 # checkout到本地 svn checkout svn://10.10.82.216/code ./code # 往版本库中添加新的文件 svn add ./code #递归目录下所有的文件 即使被忽略了也添加 svn add . --no-ignore --force # 将改动的文件提交到版本库 svn commit -m “LogMessage” [-N] [--no-unlock] ./code(如果选择了保持锁,就使用–no-unlock开关) 更多命令:http://www.xitongzhijia.net/xtjc/20150128/36260.html #停止 killall svnserve #查看进程 ps aux | grep svnserve
2021年08月28日
40 阅读
0 评论
0 点赞
2021-08-20
ARM交叉编译搭建SSH
{message type="info" content="首先搭建好arm-linux交叉编译环境,开发板和主机可以ping通。"/}{anote icon="fa-bandcamp" href="https://www.leoc.top/engineer/208.html" type="secondary" content="交叉编译环境安装"/}一、下载需要的源码下载zlib: zlib-1.2.3.tar.gz 下载ssl : openssl-0.9.8d.tar.gz 下载ssh : openssh-4.6p1.tar.gz 二、交叉编译新建目录/home/leo/ssh,并且将三个源码复制到该目录下。cp zlib-1.2.3.tar.gz openssl-0.9.8d.tar.gz openssh-4.6p1.tar.gz /home/arm/sshwork/home/leo/ssh下新建目录lib,用来保存编译zlib和openssl生成的文件。编译zlibcd zlib-1.2.3/ ./configure –prefix=/home/leo/ssh/lib/zlib-1.2.3 编辑makefile CC=arm-linux-gcc AR=arm-linux-ar rc CPP =arm-linux-gcc -E LDSHARED=arm-linux-gcc make make install编译opensslcd openssl-0.9.8d ./Configure --prefix=/home/leo/ssh/lib/openssl-0.9.8d os/compiler:arm-linux-gcc make make install编译opensshcd openssh-4.6p1/ ./configure –host=arm-linux –with-libs –with-zlib=/home/leo/ssh/lib/zlib-1.2.3 –with-ssl-dir=/home/leo/ssh/lib/openssl-0.9.8d –disable-etc-default-login CC=arm-linux-gcc AR=arm-linux-ar make 不用make install 完成后当前目录下会生成SSH可执行文件三、安装SSH配置文件确保目标板上有以下目录{callout color="#019193"}/usr/local/bin//usr/local/sbin//usr/local/etc//usr/local/libexec//var/run//var/empty/chmod 755 /var/empty{/callout}复制 /home/leo/ssh/openssh-4.6p1 目录下的 sshd 到开发板的 /usr/local/sbin/复制 scp sftp ssh ssh-add ssh-agent ssh-keygen ssh-keyscan 到开发板的 /usr/local/bin复制 sftp-server ssh-keysign 到 /usr/local/libexec复制 sshd_config ssh_config 到 /usr/local/etc/【可以省略此步骤】复制 /home/leo/ssh/zlib-1.2.3/lib/ 目录下的 libz.so.1.2.5 到 /lib/ 然后建立软链接 ln -s libz.so.1.2.5 libz.so.1生成Key文件在开发板上,进入/usr/local/etc/目录,执行以下命令生成key:../bin/ssh-keygen -t rsa1 -f ssh_host_key -N "" ../bin/ssh-keygen -t rsa -f ssh_host_rsa_key -N "" ../bin/ssh-keygen -t dsa -f ssh_host_dsa_key -N ""{callout color="#1459b3"} 修改当前目录下sshd_config文件 /etc/ssh 改为 /usr/local/etc # HostKey for protocol version 1 HostKey /etc/ssh/ssh_host_key 》》》 HostKey /usr/local/etc/ssh_host_key # HostKeys for protocol version 2 HostKey /etc/ssh/ssh_host_rsa_key 》》》 HostKey /usr/local/etc/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key 》》》 HostKey /usr/local/etc/ssh_host_dsa_key{/callout}设置系统时间{callout color="#03505e"} date Fri Aug 20 16:02:40 UTC 2021如果开发板时间是1970需要设置为当前时间,否则ssh登录一直报错:date -s "2021-08-20 16:11"{/callout}{callout color="#03505e"} 改时间后设置root密码passwd root{/callout}其他配置{callout color="#099a6a"}开机自动设置IPecho "ifconfig eth0 10.10.82.45 netmask 255.255.255.0" >> /etc/profile{/callout}{callout color="#099a6a"}开机自动设置IPecho "ifconfig eth0 10.10.82.45 netmask 255.255.255.0" >> /etc/profile{/callout}{callout color="#099a6a"} 添加用户 复制主机 /etc 下的 passwd shadow group 出来,删除不需要的一些用户将passwd的 /bin/bash 改为 /bin/sh,然后复制到开发板 /etc 下{/callout}四、启动SSH绝对路径启动sshd/usr/sbin/sshd可能出现的错误:Permissions 0755 for '/usr/local/etc/ssh_host_dsa_key' are too open. //将开发板/usr/local/etc/下的key文件 ssh_host_* 权限改为700。 Permission denied (publickey,password,keyboard-interactive). //打开开发板/usr/local/sshd_config,将PermitRootLogin yes前的注释“#”号去掉。 主机: $ ssh root@10.10.82.45(开发板的ip)//root密码就是开发板root密码,如果没有设置,用passwd root设置。参考:https://blog.csdn.net/gubenpeiyuan/article/details/32325691
2021年08月20日
96 阅读
0 评论
0 点赞
1
2
3