现象:bogon:tmp root# mkdir -p /home/xiangdong    
mkdir: /home/xiangdong: Operation not supported

目的:fFileZilla SFTP同步Linux上的家目录到Mac上。

解决办法:
sudo vim /etc/auto_master
/home                   auto_home       -nobrowse,hidefromfinder #加上#号
bogon:tmp root# sudo automount
bogon:tmp root# mkdir -p /home/xiangdong      #重启automount后就能成功创建。


Hmmm, trying to create a directory under '/home' on a Mac?

Well, Apple doesn't want you to (with good reason, automounter owns this dir, which makes it easier to do NFS mounts and such) so you shouldn't muck with it but if you really just 'have to do it', here is how you can.

Basically: Edit /etc/auto_master and remove or comment out the line that starts with "/home".

example:
sudo vim /etc/auto_master

before:

# Automounter master map
+auto_master            # Use directory service
/net                    -hosts          -nobrowse,hidefromfinder,nosuid
/home                   auto_home       -nobrowse,hidefromfinder
/Network/Servers        -fstab
/-                      -static
after:

# Automounter master map
+auto_master            # Use directory service
/net                    -hosts          -nobrowse,hidefromfinder,nosuid
#/home                   auto_home       -nobrowse,hidefromfinder
/Network/Servers        -fstab
/-                      -static
to have the change take effect without a reboot:
sudo automount

mkdir /home/test
ls -l /home/
total 0
drwxr-xr-x 3 root admin 102 Aug 10 11:33 test

NOTE: I wouldn't do anything 'important' with this directory as it's easy to forget you altered this and an upgrade will plow over this directory, removing all data. (this dir is also not included in any Time Machine backups.


来自:https://blog.csdn.net/lychao89/article/details/53667068
背景:Inode在Mac下锁屏时间长后,网络断开了,如果中午吃饭后,再回来,就断开了,出现:
2019-02-22 09:36:26 Connecting to the network...
2019-02-22 09:36:31 Beginning authentication... [xiangdong]
2019-02-22 09:36:36 You have passed the identity authentication
2019-02-22 09:36:37 Obtaining IP address...
2019-02-22 09:36:44 Current IP address is  172.20.232.65
2019-02-22 09:36:49 Start security check session...
2019-02-22 09:36:49 Security check is passed.
2019-02-22 13:00:37 Disconnecting from the network...
2019-02-22 13:00:38 disconnect for time limit
2019-02-22 13:00:43 Connection failed.

------------------------------------------------------------------------------------------------------------------
在使用TeamViewer时,mac会自动休眠导致网络断开链接无法远程的问题。
尝试了一些方法,以下方法效果显著,特此记录。

第一步:

要设定锁定输入密码的设置,进入‘系统偏好设置’‘安全性与隐私’,将选项‘进入睡眠或开始屏幕保护程序后’打勾,选‘立即’。

第二步:

到‘launchpad’中的‘其他’文件夹打开‘Automator’,或者直接到spotlight中输入定位过去(就是拿火箭筒的小机器人)


第三步:

接下来,会弹出一个窗口,选‘新建文稿’,在弹出窗口中的‘文稿类型’选择‘服务’。


第四步:

首先可以到搜索框中输‘屏幕’,所有和屏幕有关的项目就都出来了,包括我想要的‘启动屏幕保护程序’,选中拖动到右面的框里,记住,要把“‘服务’收到”这项改为‘没有输入’,然后到菜单‘文件’中选择‘存储’,输个服务的名称,比如‘屏保’。


第五步:

到‘系统偏好设置’‘键盘’‘快捷键’‘服务’ 中,找到刚刚那个服务‘屏保’,添加快捷键,最好不要和其他的冲突 。


参考地址:http://blog.csdn.net/wo2niliye/article/details/52440012
原文:https://blog.csdn.net/zww1984774346/article/details/79303563
YUM出现问题:
  File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 1723, in _do_grab
    self._do_perform()
  File "/usr/lib/python2.7/site-packages/urlgrabber/grabber.py", line 1517, in _do_perform
    raise KeyboardInterrupt
KeyboardInterrupt

阅读全文
实践发现:苹果自带了,到8,9,得自己在键盘快捷键上面勾选。AddTime:2022-08-19 10:10

Mac系统可以新建多个桌面,我习惯开三个桌面,第一个桌面放浏览器、QQ等娱乐窗口,第二个窗口开Xcode等编程工具(不编程用Mac干啥,是吧),第三个窗口放一些笔记啊,工具什么的。

一般切换的时候,可能都知道Ctrl+ 左右方向键来切换,如果开多个桌面的话,就得连续切过来,当然,还可以打开MIssion Control来切换,可是都有点麻烦。

其实Mac可以直接用Ctrl + 数字来切换桌面的,步骤如下:
https://blog.csdn.net/win_ann/article/details/37579871

1.首先你要有多个桌面(好像是废话)。

2.打开系统偏好设置- 键盘- Mission Control(如图所示)
点击在新窗口中浏览此图片


3.有多个桌面就会出现最下面的快捷键,勾上就可以了



这样,就可以用Ctrl+ 数字键快速切换桌面了(快捷键个数随着桌面的个数增加)

来自:https://www.cnblogs.com/Formulate0303/p/15905686.html
实践出现开机问题:CentOS7.4开机出现welcome to emergency mode
解决办法:
我是修改了VirtualBox的启动顺序,把光盘,软驱给去掉勾选就好了。
这还不够,那个Virtualbox中的虚拟介质管理里当时挂的ISO的系统盘也得删除掉。否则还是会报错的!!参考:
https://www.cnblogs.com/mawanglin2008/articles/3650552.html


个人认为是用CentOS的网上下载的ISO所导致后来出现挂载上的问题。
也就是直接干掉勾选光驱这一项只留下磁盘这一人也就好了,有的还会报:
get "ip_local_port_range: prefer different parity for start/end values" message every time we boot the system
cat /proc/sys/net/ipv4/ip_local_port_range
1024    65535
可以看到,现在定义的范围是32768-61000.

如果想修改这个范围,可以使用sysctl工具,sysctl的配置文件位于/etc/sysctl.conf 。
From:https://www.cnblogs.com/solohac/p/4154180.html
——————————————————————————————————

CentOS7.4开机出现welcome to emergency mode,报这个错误多数情况下是因为/etc/fstab文件的错误。注意一下是不是加载了外部硬盘、存储器或者是网络共享空间,在重启时没有加载上导致的。
今天使用虚拟机做实验,在系统安装完成后,优化一些选项后,就操作了挂载ISO镜像文件,系统启动后如下报错
我试想应该是挂载引起的,而且原来系统正常启动后是进入的图形界面。

果然,我通过mount /dev/cdrom/ /mnt/cdrom挂载完成后,在/etc/fstab中写入有问题,小失误就将系统搞成这样子,可以输入密码,然后进入

写入的挂载文件有问题,开机启动出现问题。
先删除这个挂载,然后重启系统,系统启动正常。
建议大家在给重要的配置文件做改动时候,先备份,如果出现问题,可以进入救援模式然后恢复原来的配置。

主要操作如下:
第一、根据提示输入root密码后登陆救援模式
第二、检查磁盘挂载信息
第三、注释掉自己增加的内容,如果确定不在使用可以删除
第四、重启OK。


来自:https://www.jb51.net/article/146928.htm
问题:rm -rf /data/www/*
rm: cannot remove ‘/data/www/yum.boosh.com.cn/centos/5/x86_64/rsyslog_v8/RPMS’: Directory not empty

办法:
在linux系统中,我们有时候删除文件夹的时候,提示rm: cannot remove `dir-name’: Directory not empty,或者文件夹非空,即使使用sudo也无法删除,那是因为系统存在使用或者执行文件夹中可执行程序,我们只需要执行命令:

lsof dir-name/.fuse_hidden000bd8c100000*

which lsof
/usr/sbin/lsof

rpm -qf /usr/sbin/lsof
lsof-4.82-5.el6.x86_64

找到那些程序在使用文件夹中的文件,

然后使用

kill 命令结束进程,如:kill 2739

然后就可以删除文件夹了。

From:https://blog.csdn.net/u014001964/article/details/82291064
一)nginx的引入epoll后惊群处理:
accept() 和 epoll_wait() 调用,还存在一个惊群的问题。换句话说,当网络 I/O 事件发生时,多个进程被同时唤醒,但实际上只有一个进程来响应这个事件,其他被唤醒的进程都会重新休眠。

其中,accept() 的惊群问题,已经在 Linux 2.6 中解决了;
而 epoll 的问题,到了 Linux 4.5 ,才通过 EPOLLEXCLUSIVE 解决。
为了避免惊群问题, Nginx 在每个 worker 进程中,都增加一个了全局锁(accept_mutex)。这些 worker 进程需要首先竞争到锁,只有竞争到锁的进程,才会加入到 epoll 中,这样就确保只有一个 worker 子进程被唤醒。

简单点说:Apache动辄就会启动成百上千的进程,如果发生惊群问题的话,影响相对较大;但是对Nginx而言,一般来说,worker_processes会设置成CPU个数,所以最多也就几十个,即便发生惊群问题的话,影响相对也较小。
另:高版本的Linux中,accept不存在惊群问题,不过epoll_wait等操作还有。

  假设你养了一百只小鸡,现在你有一粒粮食,那么有两种喂食方法:
你把这粒粮食直接扔到小鸡中间,一百只小鸡一起上来抢,最终只有一只小鸡能得手,其它九十九只小鸡只能铩羽而归。这就相当于关闭了accept_mutex。
你主动抓一只小鸡过来,把这粒粮食塞到它嘴里,其它九十九只小鸡对此浑然不知,该睡觉睡觉。这就相当于激活了accept_mutex。
  可以看到此场景下,激活accept_mutex相对更好一些,让我们修改一下问题的场景,我不再只有一粒粮食,而是一盆粮食,怎么办?
此时如果仍然采用主动抓小鸡过来塞粮食的做法就太低效了,一盆粮食不知何年何月才能喂完,大家可以设想一下几十只小鸡排队等着喂食时那种翘首以盼的情景。此时更好的方法是把这盆粮食直接撒到小鸡中间,让它们自己去抢,虽然这可能会造成一定程度的混乱,但是整体的效率无疑大大增强了。
  Nginx缺省激活了accept_mutex(最新版缺省禁用),是一种保守的选择。如果关闭了它,可能会引起一定程度的惊群问题,表现为上下文切换增多(sar -w)或者负载上升,但是如果你的网站访问量比较大,为了系统的吞吐量,我还是建议大家关闭它。

链接:https://www.jianshu.com/p/129dd4320ae1

二)边缘触发和水平触发主要体现在边缘触发程序复杂还是系统承担这个复杂而用水平触发,边缘触发只通知一次,增加程序处理难度和各种异常处理:
第一种,使用非阻塞 I/O 和水平触发通知,比如使用 select 或者 poll。

根据刚才水平触发的原理,select 和 poll 需要从文件描述符列表中,找出哪些可以执行 I/O ,然后进行真正的网络 I/O 读写。由于 I/O 是非阻塞的,一个线程中就可以同时监控一批套接字的文件描述符,这样就达到了单线程处理多请求的目的。

所以,这种方式的最大优点,是对应用程序比较友好,它的 API 非常简单。

但是,应用软件使用 select 和 poll 时,需要对这些文件描述符列表进行轮询,这样,请求数多的时候就会比较耗时。并且,select 和 poll 还有一些其他的限制。

select 使用固定长度的位相量,表示文件描述符的集合,因此会有最大描述符数量的限制。比如,在 32 位系统中,默认限制是 1024。并且,在 select 内部,检查套接字状态是用轮询的方法,再加上应用软件使用时的轮询,就变成了一个 O(n^2) 的关系。

而 poll 改进了 select 的表示方法,换成了一个没有固定长度的数组,这样就没有了最大描述符数量的限制(当然还会受到系统文件描述符限制)。但应用程序在使用 poll 时,同样需要对文件描述符列表进行轮询,这样,处理耗时跟描述符数量就是 O(N) 的关系。

除此之外,应用程序每次调用 select 和 poll 时,还需要把文件描述符的集合,从用户空间传入内核空间,由内核修改后,再传出到用户空间中。这一来一回的内核空间与用户空间切换,也增加了处理成本。

有没有什么更好的方式来处理呢?答案自然是肯定的。

第二种,使用非阻塞 I/O 和边缘触发通知,比如 epoll。

既然 select 和 poll 有那么多的问题,就需要继续对其进行优化,而 epoll 就很好地解决了这些问题。

epoll 使用红黑树,在内核中管理文件描述符的集合,这样,就不需要应用程序在每次操作时都传入、传出这个集合。
epoll 使用事件驱动的机制,只关注有 I/O 事件发生的文件描述符,不需要轮询扫描整个集合。
不过要注意,epoll 是在 Linux 2.6 中才新增的功能(2.4 虽然也有,但功能不完善)。由于边缘触发只在文件描述符可读或可写事件发生时才通知,那么应用程序就需要尽可能多地执行 I/O,并要处理更多的异常事件。

第三种,使用异步 I/O(Asynchronous I/O,简称为 AIO)。在前面文件系统原理的内容中,我曾介绍过异步 I/O 与同步 I/O 的区别。异步 I/O 允许应用程序同时发起很多 I/O 操作,而不用等待这些操作完成。而在 I/O 完成后,系统会用事件通知(比如信号或者回调函数)的方式,告诉应用程序。这时,应用程序才会去查询 I/O 操作的结果。

异步 I/O 也是到了 Linux 2.6 才支持的功能,并且在很长时间里都处于不完善的状态,比如 glibc 提供的异步 I/O 库,就一直被社区诟病。同时,由于异步 I/O 跟我们的直观逻辑不太一样,想要使用的话,一定要小心设计,其使用难度比较高。

工作模型优化

了解了 I/O 模型后,请求处理的优化就比较直观了。使用 I/O 多路复用后,就可以在一个进程或线程中处理多个请求,其中,又有下面两种不同的工作模型。

第一种,主进程 + 多个 worker 子进程,这也是最常用的一种模型。这种方法的一个通用工作模式就是:

主进程执行 bind() + listen() 后,创建多个子进程;
然后,在每个子进程中,都通过 accept() 或 epoll_wait() ,来处理相同的套接字。
比如,最常用的反向代理服务器 Nginx 就是这么工作的。它也是由主进程和多个 worker 进程组成。主进程主要用来初始化套接字,并管理子进程的生命周期;而 worker 进程,则负责实际的请求处理。我画了一张图来表示这个关系。
示例五:显示每个进程的上下文切换情况(-w)
pidstat -w -p 2831









PID:进程id
Cswch/s:每秒主动任务上下文切换数量
Nvcswch/s:每秒被动任务上下文切换数量
Command:命令名

示例六:显示选择任务的线程的统计信息外的额外信息 (-t)
pidstat -t -p 2831
$pidstat -t -p 4194
Linux 4.20.3-1.el7.elrepo.x86_64 (levoo-web_php_bj_cp_101_200_228_135)   02/03/19        _x86_64_        (1 CPU)

15:51:17      UID      TGID       TID    %usr %system  %guest    %CPU   CPU  Command
15:51:17        0      4194         -    0.00    0.00    0.00    0.00     0  minivtun
15:51:17        0         -      4194    0.00    0.00    0.00    0.00     0  |__minivtun


链接:https://www.jianshu.com/p/3991c0dba094
centos6.8不能安装最新版git的解决办法:
1  Install WANDisco repo package:
yum install http://opensource.wandisco.com/centos/6/git/x86_64/wandisco-git-release-6-1.noarch.rpm

2 Install the latest version of Git 2.x:
yum install git

3 Verify the version of Git that was installed:
git --version


来自链接:https://www.jianshu.com/p/ab98dd540919
option + command+esc  #发现微信截图让微信程序死了,于是用这个快捷键呼出后强制退出后系统好了。

注64位系统

第一步下载 wget http://www.rarlab.com/rar/rarlinux-x64-5.3.0.tar.gz
第二步解压 tar -zxvf rarlinux-x64-5.3.0.tar.gz
第三步     进入解压出的“rar”文件夹 cd rar
第四步    进行配置 make
       显示如下表示成功
mkdir -p /usr/local/bin

mkdir -p /usr/local/lib

cp rar unrar /usr/local/bin

cp rarfiles.lst /etc

cp default.sfx /usr/local/lib
可以用rar命令开始解压 
rar x test.rar //解压 test.rar 到当前目录
压缩
rar test.rar ./test/ //将 test目录打包为 test.rar
---------------------
原文:https://blog.csdn.net/weixin_41404058/article/details/80304869
部分应用可使用common+n快捷键
相信不少使用 Mac 的朋友对 OS X 里的时间显示都有很大意见,只能显示当前日期,功能缺失得很厉害,所以不少朋友都使用第三方的日历软件来取代系统自带的,像 Fantastical。不过 Fantastical 是一款收费软件,如果想要免费软件的话,其实大家还可以试试这款 Itsycal。
官方网站:https://www.mowglii.com/itsycal/

http://www.apprcn.com/itsycal.html


brew install tree

来自:https://blog.csdn.net/xidiancoder/article/details/72654583
brew install iproute2mac
来自:https://blog.csdn.net/u010164190/article/details/79474309

实用工具-》网络工具-》Traceroute
来自:https://blog.csdn.net/qq_38789531/article/details/82734646
密钥登陆能,发现SSH不行,提示:
$ssh -l xiangdong 10.244.25.**
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

到:
$ssh -l xiangdong 10.244.25.**
xiangdong@10.244.25.89's password:


实践OK办法,能密钥能密码:
cat  /etc/ssh/sshd_config|grep -E "PermitRootLogin|UsePAM|PasswordAuthentication"

UsePAM yes  #改成NO后出现需要密钥,还登陆不了。后修改为yes后重启oK service sshd restart
PermitRootLogin yes
PasswordAuthentication yes


root依然不行,修改UsePAM no,还是不行,后来加一个irdcops帐号且能 sudo ,也就用它去SSH就行了:
$ssh -l root 10.244.25.**
root@10.244.25.**'s password:
Permission denied, please try again.

==================================
首先:配置ssh服务器配置文件。

在root 用户下才能配置。

vi /etc/ssh/sshd_config

权限设为no:

#PermitRootLogin yes

#UsePAM yes

#PasswordAuthentication yes

如果前面有# 号,将#号去掉,之后将yes修改为no。

修改之后为:

PermitRootLogin no

UsePAM no

PasswordAuthentication no

权限设为yes:

RSAAuthentication yes

PubkeyAuthentication yes

(2)重启sshd服务

systemctl restart sshd.service

systemctl status sshd.service #查看ssh服务的状态

#systemctl start sshd.service  #开启ssh服务

#sytemctl enable sshd.service #ssh服务随开机启动,还有个disabled

#systemctl stop sshd.ervice #停止

正常情况下应该是Active:active(running)
摘自:https://www.cnblogs.com/xubing-613/p/6844564.html
Demon:
code ~/.bashrc

根据终端命令行使用 bash 还是 zsh 选择编辑环境变量的文件。

bash,写入 ~/.bash_profile

zsh, 写入 ~/.zshrc

阅读全文
分页: 7/40 第一页 上页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 下页 最后页 [ 显示模式: 摘要 | 列表 ]