飞行堡垒系统安装

缘由

昨日忽然死机,强制重启后引导至蓝色Windows旗子标志后直接蓝屏重启,反复几次便无法找到引导,之后进入BIOS发现找不到自己的SSD盘。因为系统安装在台电SSD中,而机械硬盘上并无系统,所以折腾着试图找回SSD,使用网上声称有效的“30分钟大法”,但无效。尝试多次重新启动后进入BIOS挂机,未见成效。因此计划在机械硬盘上重装系统。顺便记录配置环境的过程等内容。

BIOS无法识别的SSD

进入一个基于安卓的U盘系统Phoenix OS后发现SSD盘符数据仍然可以读取,但是BIOS不认,因此试图直接由U盘启动安装系统。因为支持EFI,所以直接将Win10安装盘解压到了U盘之中,但重启进入引导极慢,因此重装未遂。后来拆除了SSD之后U盘启动、安装速度正常,因此进入win10系统安装过程极慢这个问题就是SSD导致的

后记:在拆卸SSD安装好系统之后,发现机械硬盘上的Windows系统无法进入,Fedora系统可以进入但发现SSD为只读模式。

N卡linux问题

更新:后来我居然安好了驱动(见https://www.jianshu.com/p/22983df3dbef)!!!!!!!!!!!!!佩服我自己的耐心!!!!!顺便骂一百万遍飞行堡垒垃圾电脑!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

之前安装Ubuntu即遇到了问题:在使用默认选项(默认的N卡驱动)的时候,无法正常进行引导启动(包括LIVECD模式与安装完系统之后,都是在几个小点的地方卡住),所以需要禁用显卡驱动(进入grub界面后,选择install ubuntu,不要按enter,按e进入编辑模式,找到quiet splash,在后面空格接着输入 $vt_handoff acpi_osi=linux nomodeset,来自http://blog.csdn.net/Dlyldxwl/article/details/68957483,但其中安装N卡驱动部分我无法实现)。同时系统自动升级会自己把改掉的这一行改回去……所以要经常改……心累……

这一次尝试使用Debian,启动之后依然无法进入图形界面。安装图形界面软件之后仍然不行,所以放弃。

安装与环境配置

系统安装

直接使用之前安装Ubuntu的系统盘全盘格式化安装的Windows,备份之后划分一片空间用于安装FedoraFedora分区时需要选择efi分区挂载到/boot/efi

驱动安装

Windows中需要安装驱动,到https://www.asus.com/supportonly/ZX50VX/HelpDesk_Download/里面找即可。主要是触摸板驱动和ATK(用于控制键盘灯),其他驱动系统应该会自动安装。

代码环境

安装VS Code、VS,安装wox(并且wpm install Youdao Translator安装有道翻译工具,可以yd + 单词直接翻译)、everything,安装TexStudio(以及https://miktex.org/)、Office、Acrobat(https://helpx.adobe.com/cn/acrobat/kb/acrobat-downloads.html),安装putty、winscp(https://winscp.net/download/WinSCP-5.13-Setup.exe),安装纸飞机(官网,直接名字.org),安装Github Desktop(https://desktop.github.com/),安装Typora(https://typora.io/#windows)

安装Python

https://www.python.org/下载安装,里面自带pip。之后安装PyCharm。

Pycharm的版本管理可以直接使用Github。Settings-Version Control-Github,里面选择password登录方式,之后test过了就行。

安装nodejs

因为要使用React Native,所以直接使用nodejs的6.x.x版本的最高,在https://nodejs.org/download/release/v6.13.0/里面。

安装go

https://golang.org/dl/

安装elixir

https://elixir-lang.org 里面有教程,下载安装即可。

Java环境

下载jdk安装。

Android Studio

官网下载安装。

Linux 环境配置

失败的系统

Debian安装失败,只能进入命令行,无法进入图形界面,猜测与Ubuntu一样是由于显卡驱动的问题导致。

Fedora系统

这个系统感觉很好用,而且我的电脑不用屏蔽显卡就能进去。但是第一次和第三次都卡在了加载页面,所以感觉还是可能和硬件不太兼容。

安装Chrome

直接官方选择该版本,下载的时候选择打开即可。

安装纸飞机

依旧是上官网,直接可以找到对应版本。或者到网站下载appimage直接修改属性运行。

安装Emacs

直接su后sudo dnf install emacs。

安装texstudio

直接软件中心即可。

安装typora

官网有说明

搜狗拼音

https://blog.csdn.net/Elaine_jm/article/details/76618912

Cuda

(在Ubuntu18.04下)https://blog.csdn.net/aiolia86/article/details/80342240

rpm软件安装(atom、[remarkable:无法正常运行]、VSCode(https://code.visualstudio.com/docs/?dv=linux64_rpm))

直接双击用软件安装打开。注意当前如果有安装程序正在运行,就不能及时响应。

失败:MarkMyWords安装

git clone https://github.com/emersion/aur-markmywords.git
cd aur-markmywords
makepkg
sudo pacman -U markmywords-git-VERSION.pkg.tar.xz

https://github.com/emersion/aur-markmywords

安装失败:uberwriter

http://uberwriter.wolfvollprecht.de/
添加源使用命令dnf config-manager --add-repo ppa:w-vollprecht/ppa
参考https://docs-old.fedoraproject.org/en-US/Fedora/23/html/System_Administrators_Guide/sec-Managing_DNF_Repositories.html

失败提示:软件仓库 w-vollprecht_ppa 没有设置镜像或者 baseurl。

之后使用https://fedora.pkgs.org/26/rpm-sphere/uberwriter-12.11.02-12.1.noarch.rpm.html

VMware上网

https://zhuanlan.zhihu.com/p/29028632

Docker-Web应用

docker系列文章:https://www.jianshu.com/nb/30096674

Web应用实例

docker pull training/webapp

运行参数&端口绑定:

-d:后台运行;-P:端口映射到主机上面(随机到高端口)

web类型的程序运行之后ps可以看到对应端口信息:比如
image.png

就是说明把本机的32768端口映射到了docker容器的5000端口。
直接访问:http://localhost:32768/即可。

默认是tcp端口,如果绑定udp端口,在端口后面加上/udp

可以绑定端口:run的时候直接加上
-p 80:5000
就能把容器的5000端口绑定在服务器的80上面。

可以指定容器绑定的网络地址,比如绑定127.0.0.1 :
docker run -d -p 127.0.0.1:5001:5000 training/webapp python app.py

查看端口绑定:在ps里面或者直接用port即可(跟上容器的id)

之后直接使用docker进行正常的操作就可以了。

Docker-与主机共享数据

docker系列文章:https://www.jianshu.com/nb/30096674

Docker镜像中添加本地文件

在Dockerfile里面直接使用COPY或者ADD即可

Docker目录挂载到本地目录

使用run的参数-v(即volume)

顺序是本地目录:docker目录。如:docker run -v /my:/docker_folder -i -t image-id bash代表的是本机的/my目录与docker的/docker_folder目录,如果这两目录中某一个不存在会自动创建空白目录。

标准输出中读取

docker的标准输出可以通过logs命令查看,而且可以分条显示。

直接通过端口服务传递数据

与普通的端口服务没有区别。可以使用dockerode进行。

Docker-基本操作&HelloWorld

docker系列文章:https://www.jianshu.com/nb/30096674

来源:
https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04
http://www.runoob.com/docker/docker-hello-world.html
https://blog.csdn.net/u012002805/article/details/80767814

docker用户组

docker 命令需要使用sudo 权限来运行。每次都输入sudo很不方便。讲当前用户加入 docker 用户组就不用这么麻烦了。

$ sudo usermod -aG docker ${USER}

测试

使用:docker run hello-world
成功示例

则安装成功。

基本操作

查找:docker search ubuntu 来查找ubuntu镜像

下载:docker pull ubuntu

运行:(如果没有下载就先下载)docker run ubuntu

查看已经下载的镜像:docker images

运行:docker run -it ubuntu
The combination of the -i and -t switches gives you interactive shell access into the container: -it 代表着和容器可以有交互式命令行操作。之后会变成 root@d9b100f2f636:/# 的输出。之后正常使用即可。
-t:在新容器内指定一个伪终端或终端。
-i:允许你对容器内的标准输入 (STDIN) 进行交互。
–name 后面可以跟上名字:如:docker run -d -P –name runoob training/webapp python app.py

docker的id就是@后面的东西,如上述的d9b100f2f636
需要输入docker的id 可以只输入前几个字母/数字

退出:在docker命令行之中直接exit

删除:使用docker rm (之后跟着id,如d9b100f2f636)

保存镜像:docker commit -m “What did you do to the image” -a “Author Name” container-id repository/new_image_name
也就是说 docker commit -m “备注” -a “作者名称” 刚才显示的id repository名称/image名称。
之后就可以在docker images里面找到了。他是保存在本地的。

删除镜像:docker rmi (后面是id)

显示所有运行的docker:docker ps

显示最后创建的docker:docker ps -l (l 是 lastest)

显示全部docker:docker ps -a (a 是 all)

停止docker:docker stop container-id 比如:docker stop d9b100f2f636

启动docker:docker start d9b100f2f636(可以加上-i)

Docker Hub上传:https://hub.docker.com/
docker login -u docker-registry-username
docker push docker-registry-username/docker-image-name (作者id/repository名字)
如果需要下载:docker pull repository(比如docker pull fengh16/fh)

查看标准输出:docker logs( + id或者name)
加上-f之后能够

查看运行的程序:docker top

显示docker底层信息:docker inspect

加标签:docker tag (可以通过这个来修改repository,如docker tag 2a4cc fengh16/aaa:v1,直接添加另一个标签,然后把它的repository设置为fengh16/aaa并且tag是v1。如果重复操作,不会重复创建)

docker保存container:https://www.jianshu.com/p/95bafb2c14bc

Dockerfile

docker系列文章:https://www.jianshu.com/nb/30096674

Dockerfile 使用

docker build
如:docker build -t runoob/centos:6.7

Dockerfile示例

1
2
3
4
5
6
7
8
9
10
FROM    centos:6.7
MAINTAINER Fisher "fisher@sudops.com"

RUN /bin/echo 'root:123456' |chpasswd
RUN useradd abcdef
RUN /bin/echo 'abcdef:123456' |chpasswd
RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE 22
EXPOSE 80
CMD /usr/sbin/sshd -D

Docker安装配置(ubuntu服务器上)

docker系列文章:https://www.jianshu.com/nb/30096674

网上安装教程:https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04

  1. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  2. sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable”
  3. sudo apt-get update
  4. apt-cache policy docker-ce
  5. sudo apt-get install -y docker-ce
  6. 安装完成

Google-test

测试系列文章:
https://www.jianshu.com/nb/30319209

gtest+clion

gtest是Google的C++单元测试框架,在clion中使用的方式可以看JetBrains官方文档https://www.jetbrains.com/help/clion/creating-google-test-run-debug-configuration-for-test.html,如下所示:

  • 下载Google Test
  • 配置CMakeLists.txt
    CMakeLists

自动化下载gtest文件的google test + clion配置

  • 安装CLion(略)
  • 目录结构:
    1
    2
    3
    4
    5
    6
    7
    8
    + project_home
    + ext // external library
    + gtest // google test framework
    - CMakeLists.txt
    + include // project headers
    + src // project source files
    + test // test files
    - CMakeLists.txt
  • 配置ext/gtest/CMakeLists.txt&CMakeLists.txt(在http://twistoy.com/post/gtest-in-clion/内)

参考资料:
http://twistoy.com/post/gtest-in-clion/