ingood

ingood 查看完整档案

台州编辑浙江大学  |   IT 编辑SGCC  |  SD 编辑 weibo.com/imguode 编辑
编辑

Keep it simple & stupid.

个人动态

ingood 发布了文章 · 2018-07-29

macOS Mojave 尝鲜记,一文知晓 macOS 升级重装的正确姿势

macOS Mojave 桌面

在 WWDC 2018 上,苹果公司正式发布了新的 macOS Mojave 系统,Mojave(莫哈韦)沙漠是美国最大的沙漠。

早在6月初,macOS 10.14 首个 Beta 版就已经发布,德哥自然是第一时间尝鲜了。不过,当时不知道系统稳定性如何,就没有把整个安装过程记录下来。

这次德哥的 MacBook Pro 因为升级时断电,结果变成黑苹果了,考虑到 Mojave 这2个月用下来还是蛮稳定的,再加上他的黑暗模式非常对我胃口,于是干脆也把 Pro 格掉重装为 Mojave。

使用前注意事项

  1. 虽然德哥用下来感觉良好,但毕竟 Mojave 还是测试版,很难保证不会出现一些意想不到的情况,如果你的电脑是工作电脑,轻易还是不要升级为好。
  2. 升级或重装前,请务必备份一下数据,推荐采用 Time Machine 备份。
  3. 请确认你的 Mac 是否支持升级。目前支持的机型有:2012 年中或之后推出的 Mac,以及 2010 年和 2012 年推出并配备推荐显卡以支持 Metal 的 Mac Pro 机型

升级前的准备

加入 Apple Beta 版软件计划

  1. 访问 Apple Beta 网页
    https://beta.apple.com/sp/betaprogram/
  2. 点击注册按钮;
  3. 登陆你的 AppleID;
  4. 点击菜单注册您的设备
  5. 点击下载 macOS Public Beta 版访问实用工具按钮;
  6. 打开刚刚下载的 dmg 镜像,打开其中的 pkg 文件,按照提示安装描述文件;
  7. 安装后 Mac App Store 会跳出 macOS Mojave 更新提醒,点击即可下载。

下载好后,会在你的「启动台」或应用程序文件夹出现 Install macOS Mojave Beta 图标,如下所示:

macOS Mojave 安装包

备份您的原有数据

因为我的 MacBook Pro (为了方便,后面都简称为 MBP) 已经变成黑苹果,无法使用 Time Machine 开展备份。

好在 Mac 支持通过 目标磁盘模式 进行两台电脑互拷数据,这样就能保证我的原有数据不丢失了。

如果有两台配有 FireWire 或 Thunderbolt 端口的 Mac 电脑,您可以将它们连接在一起以使其中一台电脑用作另一台电脑上的外置硬盘。这称为目标磁盘模式。

操作方法很简单:

  1. 用 FireWire 或 Thunderbolt 线缆将两台电脑连接起来(我的 Mac 只支持 FireWire)。
  2. 将 MBP 关闭后,按住 T 键再同时启动它。
    当电脑启动后,我另一台 Mac 的桌面上出现一个磁盘图标。

MacBook Pro 上的硬盘

  1. 找到要备份的文件,复制出来即可。等备份完毕,就可将 MBP 的磁盘图标拖到废纸篓推出。

通过终端命令制作安装 U 盘

为了安装方便,我准备做一个 Mojave 安装盘,方便在 MBP 上进行安装。

  1. 首先准备一个 8GB 以上的 U盘,确保里面的数据可以被格式化掉。
  2. 插入 U盘到 MBP,并确认 U盘的名称。

在终端模式输入df -h命令,即可查看到各空间大小和名称。

df 命令查找 U盘名称

可见 U 盘的名称为:/Volumes/mojave

  1. 打开终端,输入以下代码,回车确认:
 sudo /Applications/Install\ macOS\ Mojave\ Beta.app/Contents/Resources/createinstallmedia --volume /Volumes/mojave --applicationpath /Applications/Install\ macOS\ Mojave\ Beta.app --nointeraction

注意命令行中的命令名称为 Install macOS Mojave Beta.app\是为了转换空格用。另外,U盘名称为 /Volumes/mojave 不要输错。

执行命令后,会要求输入管理员密码。然后就开始擦除 U盘,接着会将系统拷入。

直到出现 Install media now available at “/Volumes/Install macOS Mojave Beta” ,则表示 macOS Mojave 系统安装盘制作成功。

制作 macOS Mojave 安装盘

U盘的名称也会变成Install macOS Mojave Beta

对了,你也可以为自己做一个降级安装盘,以便在 Mojave 用着不爽的时候降级使用。

macOS High Sierra 的安装文件必须在升级前通过 Mac App Store 搜索并下载好,不然升级到 Mojave 后,将找不到老版本的安装程序。

命令和前面类同,Install macOS High Sierra.app为安装程序名字,Untitled 为你空白 U盘的名称:

sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia –volume /Volumes/Untitled –applicationpath /Applications/Install\ macOS\ High\ Sierra.app –nointeraction

重装系统:

  1. 把 U盘连上电脑;
  2. 重启电脑,听到开机启动音之后按下 Option) 键,在磁盘选择界面选择 U 盘启动,按回车确认;
  3. 安装程序会自动进入 macOS 实用工具,此时选择「磁盘工具」,将已数据备份的内置硬盘「抹掉」。
  4. 抹掉」后退出磁盘工具,选择「安装 macOS」,将系统安装在电脑内置硬盘上;
  5. 根据提示进行操作,等待安装完成。

安装盘启动后进入 macOS 实用工具

通过 Homebrew 和 MAS 把你的 APP 批量装回来

因为这次没有通过 TimeMachine 进行备份,所以也就没法一键恢复原有的所有程序。好在我们可以通过命令行进行批量安装。

将下面这段代码拷贝到终端中,然后泡一杯咖啡,静静等候,或者浏览会德哥的其他文章。

# 下载 Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

# 下载第三方应用
brew cask install alfred
brew cask install google-chrome
brew cask install iina
brew cask install steam
brew cask install virtualbox
brew cask install virtualbox-extension-pack

# 下载 MAS
brew install mas

# 下载 Mac App Store 应用
mas install 512617038 # Snappy (2.0.1)
mas install 1176895641 # Spark (2.0.8)
mas install 410628904 # Wunderlist (3.4.8)
mas install 443987910 # 1Password (6.8.8)
mas install 507257563 # Sip (4.5.2)
mas install 1091189122 # Bear (1.5.5)
mas install 411246225 # Caffeine (1.1.1)
mas install 405399194 # Kindle (1.23.3)
mas install 1333523703 # Similar Photos Cleaner (1.2.1)
mas install 411466132 # Novabench (4.0.1)
mas install 412448059 # ForkLift (2.6.6)
mas install 863486266 # sketchbook
mas install 595191960 # copyclip
mas install 1254743014 # lyricsx
mas install 937984704 # amphetamine

# 重置启动台图标顺序
defaults write com.apple.dock ResetLaunchPad -bool TRUE && killall Dock

对了,MAS 安装应用需要 app ID,我们可以使用 mas list 来快速获取现安装的所有应用的 app ID。另外,以上应用部分为收费应用,不一定适合您。

关于 Homebrew 和 MAS,展开来又将是好几篇文章,此处暂且打住吧。

新版本带来哪些新特性

macOS Mojave 这次最大的亮点非「暗黑模式」莫属。不但系统色调变暗,而且内建的 APP 也基本都改为黑色配色。这是摄影师、设计师及程序员喜闻乐见的一种配色。

更牛B 的是,当你在白色主题下选择动态桌面,12张桌布会随着你的当地时间从早到晚顺滑改变。果然是苹果一贯的作风。(不知道老罗作何感想。为啥人家就能扣出细节,而老罗经常扣出纠结。)

Mojave 桌面设置.gif

另外还有一些改进大致如下:

  • 桌面堆栈:可按文件类型的自动分类整理。
  • Finder:为照片、PDF 文件的预览加入了侧边快捷功能栏。
  • Quick Look:加入快速的编辑涂鸦功能。
  • 屏幕截图:截图功能大幅增强,而且还能用于屏幕录制视频。
  • Continutiy Camera 摄像头接力:利用 iPhone 的相机为 Mac 拍照进行协作。
  • 新的 Apps:新闻、股票、语音备忘录和家庭 APP 已加入到 macOS 豪华午餐。
  • 隐私安全:Safari 加入更多用于隐私保护的功能。
  • Mac App Store:全新的界面设计。
  • Metal:更好地支持外接显卡。
  • ML:Create ML 允许开发者自行训练机器学习;Core ML 提高速度和模型规模。

……

顺便说一下,德哥的 iPhone 也已经升级到 iOS 12 测试版了,如果感兴趣的小伙伴多的话,我也可以考虑再写一篇 iPhone 升级教程。

最后,Enjoy IT!

查看原文

赞 0 收藏 0 评论 0

ingood 发布了文章 · 2018-07-04

卸载重装 Windows 10 内置应用的最全方法,还你一个干净清爽的系统

clipboard.png

想必现在小伙伴们电脑都已经升级到 Windows 10 了。不过,你是否发现,你的系统里默默躺着很多系统自带却你从来不用的应用程序呢。这些应用并不会占用多大的空间,有些只是一个启动链接,比如系统自带「迪士尼梦幻王国」游戏,默认不占用多少空间,在你点击后,就会自动下载整个600M的安装包进行安装。

另外,这些自带应用有些都是随系统自动启动的,多少总会占用一点系统资源。

德哥是个强迫症患者,看到这些平时用不着的应用在眼前晃来晃去,总想着除之而后快。

卸载 win10 自带应用的通常方法

卸载这些应用说容易也容易,说不容易也不容易。
最常见的方式,就是点开启动菜单,右键点击你需要卸载的应用,点击卸载即可。

但我们会发现,这些应用有些提供卸载按钮,有些则不提供卸载按钮。

  • 可以卸载应用(邮箱、地图、钱包、新闻、Xbox 等)

clipboard.png

  • 不可卸载应用(应用商店、消息、相机、人脉、闹钟、图片、sticky notes、获取帮助、混合现实门户等)

clipboard.png

当然,你也可以用控制面板的卸载模块进行卸载。
点击开始菜单,点击设置-应用,找到你要卸载的应用即可。

clipboard.png

上面的方法,也适用于自己下载安装的应用程序。

利用第三方应用管理程序进行卸载,比如 CleanMyPC

经常使用 Mac 的小伙伴知道,Mac 上有一款 CleanMyMac 的神器,可以帮你清理你无法清理干净的应用。有个好消息是,这货也出了一款 PC 上的兄弟软件:CleanMyPC。它可以帮你方便的干掉这些难缠的应用。另外,它还有个好处就是可以帮你发现一些 Windows 系统自己发现不了的应用。

clipboard.png

不过,CleanMyPC 是一款收费软件,价格还不菲,有些高级功能需要缴费才能使用。

通过 PowerShell 命令行模式来卸载应用

当我们既想省点钱,又想卸载系统那些不提供卸载按钮的自带应用该怎么办呢?

这时候,就要用到我们的 PowerShell 命令行模式了。

Windows 相比 Linux 和 MacOS,最欠缺的就是命令行模式的灵活性和可编程性太弱。powershell 的诞生,就仿佛给了 Windows 一把瑞士军刀。PowerShell 是一款基于对象的shell, 建立在.Net框架之上, 使命令行用户和脚本编写者可以利用 .NET Framework的强大功能,同时能深入到系统进程中,开展一系列自动化和批处理工作。

下面我们就采用 Windows 10 中 powershell 内置的 Get-AppxPackageRemove-AppxPackageAdd-AppxPackage 命令来进行安装卸载操作。

Get-AppxPackage:用于获得 Win 10 系统内置应用信息。
Remove-AppxPackage:用于删除 Win 10 系统内置应用。
Add-AppxPackage:用于安装 Win 10 系统内置应用。

首先,以管理员身份打开PowerShell

如果你的系统是最新版 Windows 10,你只需要按住快捷键 Windows + X,或右键点击左下角的 win 图标,然后从高级用户菜单中选择“Windows PowerShell(管理员)”选项。

clipboard.png

若你的 win10 系统没有及时更新,也可能看到的不是 powershell,而是「命令行」。这样的话,你可以按快捷键 Windows + S,输入powershell,然后右键选择「以管理员身份运行」。

clipboard.png

获取 Win 10 系统内置应用信息

做任何事情,我们都应该做到有「备」无患。

应用信息备份有两种方式:

一是备份当前已装应用的详细信息

输入命令 Get-AppxPackage ,就可以查看当前用户所有已安装的应用。

clipboard.png

将已安装应用列表导出到一个文件,留作备份,可以帮助我们后续重新安装回所需的应用。
复制下面代码到 PowerShell,并输入回车即可:

Get-AppxPackage >> D:\AppxPackage.bak1.txt

>> 也可以换成 >,前者是内容追加到文档最后,后者是覆盖文档内容。看您需要合理选择即可。

二是只备份应用包的简称和全称

因为我们重装应用只需要用到应用名称和包全称,其他信息并不需要,所以,我们也可以只备份这两部分内容。

查看应用名称和包全称:

get-appxpackage | Select Name, PackageFullName

若要导出为备份,命令如下:

get-appxpackage | Select Name, PackageFullName >> D:\AppxPackage.bak2.txt
没有备份的补救措施

如果你没有备份就直接卸载了,又想不起该应用的包信息。我们也可以通过以下命令来找出系统自带所有安装包的信息:

get-appxpackage -allusers

如果你知道该包的大致简称,还可以加上该简称信息,如下:

get-appxpackage -allusers *windowscalculator*

你将得到「计算器」应用的所有信息。

clipboard.png

用 PowerShell 卸载应用

当你做好备份工作后,你现在就可以开始利用 powershell 进行愉快的卸载安装工作了。
Get-AppxPackage 命令可以帮助你卸载大多数内置的应用程序,甚至那些通常不提供“卸载”选项的应用。但是,请注意,这个技巧不允许你删除一些最重要的内置应用程序,比如 Cortana 和 Edge 浏览器。如果强行删除,只会看到一个报错信息。

下面,我们先尝试一下删除单个应用。

利用 Remove-AppxPackage PackageFullName 命令卸载

首先,我们用前文提到的 Get-AppxPackage | Select Name, PackageFullName 命令获得的应用包全称。
比如你不大玩游戏,想删除 Xbox 应用,那么,就找到「Xbox」对应的应用包全称

clipboard.png

再在 PowerShell 输入下面的命令即可:

Remove-AppxPackage Microsoft.XboxApp_41.41.18005.0_x64__8wekyb3d8bbwe

打字累的话,PowerShell 支持 Ctrl + CCtrl + V

利用通配符(*)结合管道命令进行卸载

另外,还可以使用通配符(*)结合管道符来卸载应用,这样,我们只要输入前面的应用简称即可。

Get-AppxPackage *xboxapp* | Remove-AppxPackage

OK,就是这么轻松。
如果你想删除其他应用,只需要将 *xboxapp* 换成你想删除应用的名称即可。

有些应用是不能卸载的

Win10 中那些和系统结合紧密的应用是无法删除的,如果碰到无法删除的应用,则会出现错误提示,比如删除微软小娜「Cortana」:

Get-AppxPackage *cortana* | Remove-AppxPackage

将出现如下报错:

clipboard.png

常用应用列表

下面我给一个常用应用的列表:

应用名称对应代码
画图3D3dbuilder
闹钟和时钟windowsalarms
计算器windowscalculator
日历和邮件windowscommunicationsapps
摄像头windowscamera
联系人无法删除
Cortana无法删除
我的officeofficehub
入门getstarted
Groove 音乐zunemusic
地图windowsmaps
Edge无法删除
棋牌游戏solitairecollection
记账bingfinance
电影和电视zunevideo
新闻bingnews
OneNoteonenote
人脉people
Phone Companionwindowsphone
照片photos
应用商店windowsstore
运动bingsports
录音soundrecorder
天气bingweather
Feedback无法删除
Xboxxboxapp
用 powershell 批量卸载内置应用

是不是感觉一个个卸载应用太麻烦,其实,你完全可以利用通配符 * ,一条命令实现内置应用的批量卸载。

卸载「Xbox」相关的所有应用:

Get-AppxPackage *Xbox*  | Remove-AppxPackage

卸载所有系统内置应用:

Get-AppxPackage * | Remove-AppxPackage

你将在一片红色警告和黄色提示后,重新得到一个干净清爽的系统。

当然,那些 Windows 死活都不愿意你卸载的应用还是没有办法的,因为去掉那些应用,你的系统可能就运行不正常了。

重新安装内置应用

重装单个应用

比如,我们不小心把系统自带的计算器给删除了,那该怎么安装回去呢?
很简单,我们先找到这个应用的包全名。
命令行下输入:

Get-AppxPackage -allusers  *windowscalculator*

得到如下信息:

clipboard.png

拷贝查到的 InstallLocation,黏贴到如下命令中:

Add-AppxPackage -register "C:\Program Files\WindowsApps\Microsoft.WindowsCalculator_10.1805.1201.0_x64__8wekyb3d8bbwe\appxmanifest.xml" -DisableDevelopmentMode

不同的包,替换命令中橘色背景部分的 InstallLocation内容即可。

clipboard.png

不用重启电脑,计算器应用又可以使用了。

重装所有内置应用

如果你有一天后悔了,想重装全部应用,又不想一个个复制包全称进行安装。办法也是有的,用管理员权限打开 PowerShell,复制黏贴如下命令并回车即可:

Get-AppxPackage -AllUsers| Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}

这条命令会将 Windows 10 所有内置的默认应用都重新安装回来。如果看到错误提示,不必理会,重启系统即可。

现在,你的系统是不是已经按照你的要求定制了呢,如果还没有,赶快动手吧!

Enjoy it!^_^

查看原文

赞 4 收藏 3 评论 0

ingood 发布了文章 · 2017-03-06

Linux(CentOS)上配置 SFTP

配置 sftp

相比传统的 ftp 服务,SFTP 显得更加方便、安全,一般系统安装了 ssh 后,默认就安装了这个服务,我们只要简单的配置一下就可以了。

但是 SFTP 账号是基于 SSH 账号的(也就是系统账户),默认情况下访问服务器的权限很大,下面的教程就是教你像 ftp 那样限制 SFTP 账号相关的访问权限。

必要条件:

你的 openssh-server 版本至少得 4.8p1, 因为配置权限需要版本添加的新配置项 ChrootDirectory 来完成。

如何查看自己服务器上的ssh版本?尝试以下命令

$ ssh -V

具体实施步骤

  1. 我们需要创建一个用户组,专门用于sftp用户

$ groupadd sftpusers
  1. 我们创建一个用户test

$ useradd -s /bin/false -G sftpusers test

注意这里我们将test用户的shell设置为/bin/false使他没有登陆shell的权限

  1. 编辑 /etc/ssh/sshd_config

找到Subsystem这个配置项,将其修改为

Subsystem  sftp  internal-sftp

为什么实用 internal-sftp 而不用默认的 sftp-server,这是因为:

  • 这是一个进程内的 sftp 服务,当用户 ChrootDirectory 的时候,将不请求任何文件;

  • 更好的性能,不用为 sftp 再开一个进程。

然后再到文件最尾处增加配置设定属于用户组sftpusers的用户都只能访问他们自己的home文件夹

# 匹配用户组,如果要匹配多个组,多个组之间用逗号分割
Match Group sftpusers

# 指定登陆用户到自己的用户目录
ChrootDirectory %h

# 指定 sftp 命令
ForceCommand internal-sftp

# 这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉
X11Forwarding no
AllowTcpForwarding no

保存并关闭文件

  1. 修改test用户home文件夹的权限,让其属于root用户

chown root ~test
  1. 重启sshd服务

$ service sshd restart

$ systemctl restart sshd
  1. 测试用户账号

$ ssh test@localhost

连接会被拒绝或者无法登陆

$ sftp tesst@localhost

登陆后你会发现你的账号无法切换到除自己home目录之外的地方的

常见问题:

如果你链接服务器的时候出现下面的提示:

> Write failed: Broken pipe     
> Couldn't read packet: Connection reset by peer

这个问题的原因是ChrootDirectory的权限问题,你设定的目录必须是root用户所有,否则就会出现问题。所以请确保sftp用户根目录的所有人是root, 权限是 750 或者 755。注意以下两点原则:

  • 目录开始一直往上到系统根目录为止的目录拥有者都只能是 root,用户组可以不是 root。

  • 目录开始一直往上到系统根目录为止都不可以具有群组写入权限

http://serverfault.com/questi...

配置sublime text3 的 sftp 插件

实用 st3 的包工具搜索安装 sftp,具体可以参加下面的文章:
sublime text3 安装、配置sftp插件

"upload_on_save": true,
"sync_down_on_open": true,

"host": "xxx.com",
"user": "xxx",
"password": "xxx",
"port": "22",

"remote_path": "/xxx/xxx",

sftp 的 remote_path 和 ftp 不同,ftp 值得是远程能看到的目录和子目录,sftp 指的是远程服务器上的目录路径,如 /home/html
设置 upload_on_save 为 true,将在你保存的时候自动上传到服务器。
设置 sync_down_on_open 为 true,将在你打开本地文件编辑的时候,自动下载远程文件来更新本地。

查看原文

赞 2 收藏 6 评论 1

ingood 发布了文章 · 2017-03-04

Fusion Drive 的分离、格式和系统重装问题解决

我的 MacMini 买来好几年了,期间自己拆开加装了一个 SSD,并按照网上的说明,和原先的硬盘组合为一个 Fusion Drive 。
最近脑子发热,想重装一下系统,结果在格式化阶段死在那里不会动了。
各种谷歌百度,各种尝试无效。

首先是分离 Fusion Drive 混合分区。

diskutil cs list # 列出所有 Fusion Drive

clipboard.png

苹果客服支持要我直接删除 Logical Volume Group,也就是下面的命令。

diskutil cs delete 11111111-2222-3333-4444-555555555555

后面的 111……555 自行替换为你自己的Logical Volume Group 的 UUID,就是图上第一行漂白部分。

反正我测试了是无效,所以,只好一步一步删除。
找到最下面漂白部分的 logic volume 的 UUID,执行

diskutil cs deleteVolume 11111111-2222-3333-4444-555555555555 

后面的 111……555 自行替换为你自己的 UUID。
然后再执行上面的删除 Logical Volume Group 的命令。

最后还是无效,大概停留在 20% 左右的进度就下不去了。大概是分区表被我破坏掉了。

无奈之下,尝试安全删除磁盘

diskutil list
# 我的 ssd 盘显示为 disk3

diskutil unmount force /dev/disk3
# 此步出现找不到磁盘,于是换个命令

diskutil unmountDisk /dev/disk3

#然后下一步安全删除并清零磁盘
diskutil zeroDisk /dev/disk0

#最终还是失败,出现如下错误:

~ Started erase on disk2 
~ Error: -69759: Securely erasing data to prevent recovery failed Underlying 
~ error: 5: Input/output error

#尝试下面的命令,也是失败
diskutil eraseDisk HFS+ NAME /dev/disk3

此处没有测试一个命令:

fdisk -a hfs /dev/disk3

diskutil 其实是 fdisk 的老版本命令。只是被苹果使用后,有过拓展。但 fdisk 能实现更灵活的操作。不必为苹果的一些安全机制所限制。只是,因为我采用了更测地的抹除模式,所以,没有测试该命令。

大杀器,类 Unix 系统磁盘的深度格式方法

苹果是类 Unix 系统,所以,他的磁盘管理模式底层也是和其他 Unix 系统类似。比如存在一些特殊的设备驱动,如 dev/nulldev/random 等。前者接受任何输入,就像一个实时垃圾清理站。后者如果能够被访问,则实时输出一堆随机数据。我们可以通过 cat /dev/random 进行访问,需要通过 Ctrl+c 进行中止。

此处我们就用到 dev/random 来解决我们的磁盘问题。

当我们的磁盘驱动故障或者出现低格问题时,我们可以通过 dev/random 来强制覆盖磁盘,它会毁坏分区表和当前格式,将驱动显示为一个空白盘。

# 进入 root 模式,输入 root 口令
sudo su

# 列出你的磁盘,找到你想要重格的磁盘名称
diskutil list

##### 千万注意不要找错磁盘,下列操作不可恢复。我要低格的是 disk3,命令如下 ####
cat /dev/random > /dev/disk3

运行1分钟左右,按 ctrl+c 中断它。然后执行

diskutil list

如果显示如下,说明磁盘已变为一个空盘。

clipboard.png

然后,你就在磁盘工具中分区、格式,再重装系统即可。

超大杀器,用 dd 命令低格

在 linux 下,低格工具就是 dd

dd if=/dev/zero of=/dev/disk2 conv=noerror bs=128k
  • bs=bytes:同时设置读写块的大小为 bytes ,可代替 ibs 和 obs

  • conv=noerror:出错时不停止处理。

盘符视实际情况, diskutil list 可以查看盘符

低格就使用0/1覆盖整个硬盘,时间几个小时,视硬盘大小。

好了,让它格吧,我睡去咯。^_^

对了,还有屠龙刀 ddrescue

我还没测试,不过已经用 brew 安装了。
你可以执行下面的命令先安装着

brew install ddrescue

基本操作:

Usage: ddrescue [options] infile outfile [mapfile]

详细请执行命令 ddrescue --help 查看。

查看原文

赞 0 收藏 1 评论 0

ingood 关注了问题 · 2017-02-27

解决Nginx:一个IP,多个网站,如何配置?

一个IP,多个网站,如何配置?

ubuntu 14.04 nginx 1.80 php5-fpm

一个网站的时候正常,在sites-available再添加一个配置文件的时候,全部无法访问,请教如何正确配置

关注 12 回答 5

ingood 赞了回答 · 2017-01-16

请问sublime text3能否快速实现此功能:给选中的文字两端加上HTML标签?

选中文字,alt+shift+w

或者 ctrl+shift+g (需要emmet)

关注 3 回答 2

ingood 发布了文章 · 2017-01-15

Chrome 打开网页显示不完全,控制台显示 `net::ERR_INSECURE_RESPONSE` 错误

最近在 chrome 下遇到打开 segmentfault.com ,页面显示不完全,而在 Safari 下却显示正常。想来可能是有些资源没有调用成功的缘故。

打开控制台,发现有些 css、js 文件调用时显示 net::ERR_INSECURE_RESPONSE 错误。

Google 了一下,大概都是说资源认证错误或者认证过期。如下:
http://stackoverflow.com/ques...

相关 chrome 的代码参加 Code。截图如下:

图片描述

解决方法:
1、检查电脑的时间是否为现在正确时间。
2、重新打开该域名页面,如果有提示接受 SSL 证书,选择接受。
3、用终端打开 chrome,输入:Chrome --ignore-certificate-errors。(这种方式主要是为了测试是否为证书问题用,不是一劳永逸的方法。)
4、在Chrome偏好设置->高级选项中,找到HTTPS/SSL,去掉“检查服务器证书吊销状态”的勾选。(这种方法不推荐,存在安全性问题)
5、以上都无法解决时,打开 chrome 设置,试试“清除所有浏览数据”。

祝好运!?

查看原文

赞 0 收藏 2 评论 0

ingood 发布了文章 · 2017-01-15

Mac 下打开网站 Invalid URL 问题解决

问题现象

最近打开小米官网一直出现 Invalid URL 错误。

查看 http 返回状态,提示400错误。

问题分析

查看百度百科,关于该错误说明如下:

400页面是当用户在打开网页时,返回给用户界面带有400提示符的页面。其含义是你访问的页面域名不存在或者请求错误。
主要有两种形式:
1、bad request意思是“错误的请求";
2、invalid hostname意思是"不存在的域名”。

解决思路

想来 Invalid URL 大概也是因为域名问题造成。打开终端,执行如下命令:

sudo killall -HUP mDNSResponder

这个命令会清空本机的 DNS 缓存,下次打开网页时,重新获取域名和 IP 匹配。

现在再通过浏览器访问 mi.com,显示正常。

如果以上操作还不行,可以参加下面的网址说明每项都操作一遍:
https://www.lifewire.com/how-...

并检查一下,浏览器是否采用了代理。

再不行,重启所有网络设备试试,可能是有些页面超时了。

还不行,就只有两种可能了,要么是你的网络服务商有问题,要么就是网站有问题,我们也无能为力了。

终极解决

如果确定不是网站的问题,而是 DNS 或者宽带服务商的问题,也可以采用手动设置 hosts 来解决。

以 mi.com 为例,wget mi.com,发现重定向到 www.mi.com

通过网上的 ping 工具,ping 一下 www.mi.com 的实际 IP 地址,如下:

http://ping.chinaz.com/www.mi...

也可以通过 VPN 测试正确访问网页的姿势,找出正常访问的 IP。

确定一个正确的 IP 后,写入 hosts:

sudo vi /etc/hosts

52.84.203.245    www.mi.com

在此在浏览器打开访问,OK。

查看原文

赞 0 收藏 0 评论 0

ingood 发布了文章 · 2016-10-05

linux(Mac)下查看文件编码及修改编码

查看文件编码

在Linux中查看文件编码可以通过以下几种方式:

1. 在Vim中可以直接查看文件编码

:set fileencoding

即可显示文件编码格式。
如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在
~/.vimrc 文件中添加以下内容:

set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936

这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照 fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开。

2. enca 查看文件编码

(如果你的系统中没有安装这个命令,可以用sudo yum install -y enca 安装 )
Mac 下可以用 brew 安装

sudo brew install enca

查看命令如下:

$ enca filename

filename: Universal transformation format 8 bits; UTF-8 CRLF line terminators

需要说明一点的是,enca对某些GBK编码的文件识别的不是很好,识别时会出现:

Unrecognized encoding

3. 查看文件编码 file 命令

file ip.txt

ip.txt: UTF-8 Unicode text, with escape sequences

文件编码转换

1. 在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式
    :set fileencoding=utf-8
2. enconv 转换文件编码,比如要将一个GBK编码的文件转换成UTF-8编码,操作如下
    enconv -L zh_CN -x UTF-8 filename
3. iconv 转换,iconv的命令格式如下:
iconv -f encoding -t encoding inputfile

比如将一个UTF-8 编码的文件转换成GBK编码

iconv -f UTF-8 -t GBK file1 -o file2

一、利用iconv命令进行编码转换文件内容编码转换

iconv命令用于转换指定文件的编码,默认输出到标准输出设备,亦可指定输出文件。查了下iconv命令用法如下:

iconv [选项...] [文件...]

有如下选项可用:

输入/输出格式规范:
-f, --from-code=名称 原始文本编码
-t, --to-code=名称 输出编码

信息:
-l, --list 列举所有已知的字符集

输出控制:
-c 从输出中忽略无效的字符
-o, --output=FILE 输出文件
-s, --silent 关闭警告
--verbose 打印进度信息

例子:

iconv -f utf-8 -t gb2312 aaa.txt >bbb.txt  

这个命令读取aaa.txt文件,从utf-8编码转换为gb2312编码,其输出定向到bbb.txt文件。

二、文件名编码转换

因为现在用linux,原来在windows里的文件都是用GBK编码的。所以copy到linux下是乱码,文件内容可以用iconv来转换可是好多中文的文件名还是乱码,找到个可以转换文件名编码的命令,就是convmv。
convmv命令详细参数 例如

convmv -f GBK -t UTF-8 *.mp3

不过这个命令不会直正的转换,你可以看到转换前后的对比。如果要直正的转换要加上参数 --notest

convmv -f GBK -t UTF-8 --notest *.mp3

-f 参数是指出转换前的编码,-t 是转换后的编码。这个千万不要弄错了。不然可能还是乱码哦。还有一个参数很有用。就是 -r 这个表示递归转换当前目录下的所有子目录。

Linux 需要安装 convmv-1.10-1.el5.noarch.rpm

Mac 下用brew 安装

sudo brew install convmv

三、更好的傻瓜型命令行工具enca

它不但能智能的识别文件的编码,而且还支持成批转换。   

1.安装   
$sudo apt-get install enca

Mac 下

sudo brew install enca
2.查看当前文件编码   
enca -L zh_CN ip.txt     
Simplified Chinese National Standard; GB2312     
Surrounded by/intermixed with non-text data    
3.转换   

命令格式如下   

$enca -L 当前语言 -x 目标编码 文件名

-L zh_CN 一般也可以不用指定。

例如要把当前目录下的所有文件都转成utf-8   

enca -L zh_CN -x utf-8 *

enca -x utf-8 *

检查文件的编码 

enca -L zh_CN file

将文件编码转换为"UTF-8"编码 

enca -L zh_CN -x UTF-8 file

如果不想覆盖原文件可以这样

enca -L zh_CN -x UTF-8 < file1 > file2 
查看原文

赞 9 收藏 12 评论 2

ingood 发布了文章 · 2016-10-03

在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能

本文非原创,基于laravel 学院《在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能》 这篇文章在实际中测试调整。

clipboard.png

1、简介

Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel ,从而方便我们以优雅的、富有表现力的代码实现Excel/CSV文件的导入和 导出 。

该项目的GitHub地址是: https://github.com/Maatwebsit...

2、安装&配置

使用Composer安装依赖

本文我们将在Laravel中使用Laravel Excel简单实现Excel文件的导入和导出。
首先进入Laravel项目根目录下使用Composer安装依赖:

composer require maatwebsite/excel=~2.0 

安装后的设置

config/app.php 中注册服务提供者到 providers 数组:

Maatwebsite\Excel\ExcelServiceProvider::class,

同样在 config/app.php 中注册门面到 aliases 数组:

'Excel' => Maatwebsite\Excel\Facades\Excel::class,

如果想要对Laravel Excel进行更多的自定义配置,执行如下Artisan命令:

php artisan vendor:publish

执行成功后会在 config 目录下生成一个配置文件 excel.php 。

3、导出Excel文件

为了演示Laravel Excel相关功能,我们为本测试创建一个干净的控制器ExcelController.php:

php artisan make:controller ExcelController --plain

然后在routes.php中定义相关路由:

Route::get('excel/export','ExcelController@export');
Route::get('excel/import','ExcelController@import');

接下来我们先在ExcelController.php中定义export方法实现导出功能:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;

use Excel;

class ExcelController extends Controller
{
    // Excel 文件到处功能

    public function export()
    {
        $cellData = [
            ['学号','姓名','成绩'],
            ['10001','AAAAA','99'],
            ['10002','BBBBB','92'],
            ['10003','CCCCC','95'],
            ['10004','DDDDD','89'],
            ['10005','EEEEE','96'],
        ];
        Excel::create('学生成绩',function ($excel) use ($cellData){
            $excel->sheet('score', function ($sheet) use ($cellData){
                $sheet->rows($cellData);
            });
        })->export('xls');
    }

}

clipboard.png

也有一个方法是直接从数组导入

$sheet->fromArray($anyArray);

如果你要导出csv或者xlsx文件,只需将export方法中的参数改成csv或xlsx即可。

如果还要将该Excel文件保存到服务器上,可以使用store方法:


Excel::create('学生成绩',function($excel) use ($cellData){
     $excel->sheet('score', function($sheet) use ($cellData){
         $sheet->rows($cellData);
     });
})->store('xls')->export('xls');

文件默认保存到storage/exports目录下,如果出现文件名中文乱码,将上述代码文件名做如下修改即可:

iconv('UTF-8', 'GBK', '学生成绩')

4、导入Excel文件

我们将刚才保存到服务器上的Excel文件导入进来,导入很简单,使用Excel门面上的load方法即可:


//Excel文件导入功能 By Laravel学院
public function import(){
    $filePath = 'storage/exports/'.iconv('UTF-8', 'GBK', '学生成绩').'.xls';
    Excel::load($filePath, function($reader) {
        $data = $reader->all();
        dd($data);
    });
}

load方法基于项目根路径作为根目录,同样我们对中文标题进行了转码,否则会提示文件不存在。

在浏览器中访问http://laravel.app:8000/excel/import,页面显示如下:

clipboard.png

使用Laravel Excel导入文件

当然,Laravel Excel还有很多其它功能,比如将Blade视图导出为Excel或CSV,以及对导入/导出更加细粒度的控制,具体可参考其官方文档:http://www.maatwebsite.nl/lar...

查看原文

赞 2 收藏 19 评论 3

认证与成就

  • 获得 98 次点赞
  • 获得 10 枚徽章 获得 0 枚金徽章, 获得 1 枚银徽章, 获得 9 枚铜徽章

擅长技能
编辑

开源项目 & 著作
编辑

  • 没啥好说的

    填这些真的很烦哈,不填每天显示在这里更烦。

注册于 2016-01-25
个人主页被 1.7k 人浏览