分类
Windows

Win10中AppData文件夹

几乎每个在Win10 PC上安装的程序都会在AppData文件夹中创建自己的文件夹,并将其所有相关信息存储在其中。 AppData或应用程序数据是windows 10中的一个隐藏文件夹,可帮助保护用户数据和设置免遭删除和操作。 要访问它,必须在文件夹选项中选择“显示隐藏的文件和文件夹”。

可以在Windows文件资源管理器中直接粘贴以下内容,然后按Enter键将其打开:
C:\Users\\AppData

当您打开AppData文件夹时,您将看到三个文件夹:
Local
LocalLow
Roaming

如果一个程序想要有一组设置或多个用户使用的文件,那么它应该使用ProgramData文件夹 – 但是如果要为每个用户存储单独的文件夹,程序应该使用AppData文件夹。

分类
Linux

如何在 Ubuntu 和其它 Linux 发行版上更新 grub

如何更新 grub

Ubuntu 和很多其它的 Linux 发行版提供一个易使用的称为 update-grub 命令行实用程序。

为更新 grub ,你所要的全部工作就是使用 sudo 在终端中运行这个命令。

sudo update-grub

你应该看到一个像这样的输出:

[email protected]:~$ sudo update-grub
[sudo] password for abhishek:
Sourcing file `/etc/default/grub'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.0.0-37-generic
Found initrd image: /boot/initrd.img-5.0.0-37-generic
Found linux image: /boot/vmlinuz-5.0.0-36-generic
Found initrd image: /boot/initrd.img-5.0.0-36-generic
Found linux image: /boot/vmlinuz-5.0.0-31-generic
Found initrd image: /boot/initrd.img-5.0.0-31-generic
Found Ubuntu 19.10 (19.10) on /dev/sda4
Found MX 19 patito feo (19) on /dev/sdb1
Adding boot menu entry for EFI firmware configuration
done

你可能看到一个类似的称为 update-grub2 的命令。不需要在 update-grub 和 update-grub2 之间感到害怕或不知所措。这两个命令执行相同的动作。

大约在 10 年前,当 grub2 刚刚被引进时,update-grub2 命令也被引进。现在,update-grub2 只是一个链接到 update-grub 的符号,它们都更新 grub2 配置(因为 grub2 是默认的)。

不能找到 update-grub 命令?这里是在这种情况下该做什么

它可能是,你的 Linux 发行版可能没有可用的 update-grub 命令。

在这种情况下你该做什么?你如何在这样一个 Linux 发行版上更新 grub ?

在这里不需要惊慌。update-grub 命令只是一个入口,用于运行 grub-mkconfig -o /boot/grub/grub.cfg 来生成 grub2 配置文件。

这意味着你可以在任意 Linux 发行版上使用下面的命令更新 grub :

sudo grub-mkconfig -o /boot/grub/grub.cfg

当然,记住 update-grub 命令比上面的命令容易很多,这是为什么它在一开始被创建的原因。

分类
笔记 软件

FRP点对点UDP方式内网穿透

frp可以用点对点UDP穿透内网

frp通个服务器会不会消耗服务器的流量,答案:会消耗服务器流量的。但是让服务器来握个手和持续一个大文件需要服务器中转是两码事。 我后来做个了测试【frp消耗服务器流量测试】证明这种方式的确不消耗服务器流量

frp的UPD 的好处是如果你从家里的电脑给公司电脑丢进来一个很大的文件,frp不走服务器流量,因为是家里的电脑和公司电脑直接握手了。

分类
容器

Gitlab Docker迁移数据出现权限问题解决

docker 启动脚本添加–privileged=true特权模式

运行脚本之后通过 docker ps 查看当前正在运行的容里面并没有看到 gitlab这个容器,通过 ps -a显示所有容器时发现它的状态一直是 starting 或者 restarting。 这个时候我们可以使用 docker logs 来查看当前容器的运行日志。

Preparing services... Starting services... /opt/gitlab/embedded/bin/runsvdir-start: line 24: ulimit: pending signals: cannot modify limit: Operation not permitted /opt/gitlab/embedded/bin/runsvdir-start: line 37: /proc/sys/fs/file-max: Read-only file system Configuring GitLab package... Configuring GitLab... =============================================================================
Error executing action `run` on resource 'ruby_block[directory resource: /var/opt/gitlab/git-data/repositories]'  ============================================================================= 

通过 docker logs 可以方便大家来论断错误,一切正常还好,如果一旦出现问题,新手是很懵圈的。这个时候可能通过google 查找错误日志,多数情况下都能找到正确答案,我遇到的是个权限不足的问题, 在这个链接里面有完整的讨论,解决办法就是执行下面这句命令之后就可以正常启行了。

sudo chmod 2770 /srv/gitlab/data/git-data/repositories

另外的权限问题可以通过docker打印出来的方法来解决

For a comprehensive list of configuration options please see the Omnibus GitLab readme https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md   If this container fails to start due to permission problems try to fix it by executing:     docker exec -it gitlab update-permissions   docker restart gitlab 

原文: https://blog.csdn.net/lan120576664/article/details/79310069

分类
Windows

开机自动挂载VHD虚拟磁盘

除了将 VHD 文件用人工方式在【磁盘管理】里【附加】来挂载以外,也能用【脚本】来实现自动挂载。

打开开始菜单中的【启动】文件夹,将写好的 mount.bat 放入即可。Mount.bat 文件的内容为:

diskpart /s C:\mount.txt

mount.txt 文件的内容为:

select vdisk file=C:\xxx.vhdx
attach vdisk
exit

这种方式最简单,但是每次开机弹出的命令行以及用户帐户控制许可。

于是很自然地就想到了 Windows 计划任务。在上面的【批处理】的基础上,配置【计划任务】。重启后,恼人的命令行和用户账户控制提示没有了。

虽然以【计划任务】的方式来挂载 VHD 已经相当方便了,但是也许并不是那么快捷——因为计划任务是通过一个叫做 【Task Scheduler】 的【系统服务】来调度的,只有用户级别的执行优先级,而倘若能跨过【Task Scheduler】从计划任务升级为 【系统服务】 来执行,那么效率和优先级都会好很多!

可是自 Win7 以后,微软对能够作为【系统服务】运行的程序进行了更严格的规定,以致于用户不能再那么轻易地将自己定制的程序作为系统服务来运行。就算可以通过 SC 命令安装服务,一般也启动不了。会报错。

分类
MySql

MySQL执行查询结果创建新表SQL错误

查询数据,并将查询出来的数据放到新的备份表。使用以下语句:

--导入数据并生成表
select * into 表 from tablename

执行失败,返回:

SQL 错误 [1786] [HY000]: Statement violates GTID consistency: CREATE TABLE … SELECT.

错误原因

这是因为在5.6及以上的版本内,开启了 enforce_gtid_consistency=true 功能导致的,MySQL官方解释说当启用 enforce_gtid_consistency 功能的时候,MySQL只允许能够保障事务安全,并且能够被日志记录的SQL语句被执行,像create table … select 和 create temporarytable语句,以及同时更新事务表和非事务表的SQL语句或事务都不允许执行。

分类
Windows

自定义远程桌面mstsc的分辨率

问题:远程桌面(打开方式:运行mstsc)供选择的分辨率(选项里)就那么几个,有时候可能需要自定义分辨率

解决办法

方法一:
在“我的文档”里有个隐藏文件,他保存了远程桌面的会话设置,每次使用远程桌面,都会把会话设置保存下来作为下次使用的默认设置,就是Default.rdp文件。可以直接用记事本修改Default.rdp文件中如下两项,分别表示远程桌面的高和宽

desktopwidth:i:1145
desktopheight:i:995

方法二:(推荐)
在远程桌面打开方式中添加参数。找到远程桌面的快捷方式图标,右键–>属性–>快捷方式,修改“目标”:%windir%\system32\mstsc.exe /w:1100 /h:950 这两个参数分别表示远程桌面的宽和高

方法三:
直接运行 %windir%\system32\mstsc.exe /w:1100 /h:950

原文: https://blog.51cto.com/hadoooo/1907719

分类
Android Linux

在 Linux 上安装安卓 8.1 Oreo 来运行应用程序和游戏

android x86 是一个自由而开源的项目,将谷歌制作的安卓系统从 ARM 架构移植到了 x86 架构,可以让用户在他们的桌面电脑上运行安卓系统来享受所有的安卓功能和应用程序及游戏。

在前一段时间,android x86 项目完成了安卓 8.1 Oreo 系统的 x86 架构移植。在这篇文章中,我们将解释如何在你的 Linux 系统上安装它,以便你能够随时使用你的安卓 用程序和游戏。

在 Linux 上安装安卓 x86 8.1 Oreo

准备环境

首先,让我们下载 android x86 8.1 Oreo 系统镜像。你可以从这个页面下载它,只需单击 “android-x86_64-8.1-r1.iso” 文件下的 “View” 按钮。

我们将在我们的 Linux 系统上使用 QEMU 来运行 android x86。QEMU 是一个非常好的模拟器软件,它也是自由而开源的,并且在所有主要的 Linux 发行版存储库中都是可用的。

在 Ubuntu/Linux Mint/Debian 上安装 QEMU:

sudo apt-get install qemu qemu-kvm libvirt-bin

在 Fedora 上安装 QEMU:

sudo dnf install qemu qemu-kvm

对于其它发行版,只需要搜索 “qemu” 和 “qemu-kvm” 软件包,并安装它们。

分类
Linux

网络启动一个 Fedora Live CD

Live CD 对于很多任务是很有用的,例如:

  • 将操作系统安装到一个硬盘驱动器
  • 修复一个启动加载程序或执行其它救援模式操作
  • 为 Web 浏览提供一个相适应的最小环境
  • …以及更多的东西

作为使用 DVD 和 USB 驱动器来存储你的 Live CD 镜像是一个替代方案,你可以上传它们到一个不太可能丢失或损坏的 iSCSI 服务器中。这个指南向你展示如何加载你的 Live CD 镜像到一个 ISCSI 服务器上,并使用 iPXE 启动加载程序来访问它们。

分类
Linux

Linux系统下 lsof 命令详解

lsof(list open files)是linux下一个不常用的命令,可以列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以,lsof的功能很强大。一般root用户才能执行lsof命令,普通用户可以看见/usr/sbin/lsof命令,但是普通用户执行会显示“permission denied”。因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。

在终端下输入lsof即可显示系统打开的文件,因为 lsof 需要访问核心内存和各种文件,所以必须以 root 用户的身份运行它才能够充分地发挥其功能。

每行显示一个打开的文件,若不指定条件默认将显示所有进程打开的所有文件。lsof输出各列信息的意义如下:

COMMAND:进程的名称
PID:进程标识符
USER:进程所有者
FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等
TYPE:文件类型,如DIR、REG等
DEVICE:指定磁盘的名称
SIZE:文件的大小
NODE:索引节点(文件在磁盘上的标识)
NAME:打开文件的确切名称