拾遗:Gentoo Tips

零、使用 Git 源

mkdir /etc/portage/repos.conf
cd !$
vi gentoo.conf  
[DEFAULT]
main-repo = gentoo

[gentoo]
location = /usr/portage
sync-type = git
sync-uri = git://anongit.gentoo.org/repo/gentoo.git
auto-sync = yes
rm -rf /usr/portage/*eix-sync

一、Gentoo openRC风格随机启动脚本

  • /etc/local.d 目录: *.start 后缀文件,正常开机启动; *stop 后缀文件,正常关机时执行

二、SSD调优

  • 将 /usr/portage、/usr/src 等大型目录绑定到HDD中的目录,减少SSD磁盘占用及大量读写
#         <fs>               <mountpoint>   <type>  <opts>   <dump/pass>
/home/f/Downloads/portage    /usr/portage    none    bind        0 0
  • 临时目录挂载到 tmpfs 上去
tmpfs    /tmp        tmpfs    defaults,noatime,mode=1777    0 0
tmpfs    /var/tmp    tmpfs    defaults,noatime,mode=1777    0 0
  • 图形界面程序缓存迁移: /etc/profile.d/xdg_cache_home.sh
#!/bin/bash
export XDG_CACHE_HOME="/tmp/${USER}/.cache"
  • 安装 profile-sync-daemon ,并设置开机启动,将自动迁移 /etc/psd.conf 中指定的用户的程序缓存至tmpfs中
rc-update add psd default
OR:
systemctl enable psd

三、systemd关闭ctrl+alt+delete三键重启功能

  • systemctl mask ctrl-alt-del.target
  • ,或,
  • rm /usr/lib/systemd/system/ctrl-alt-del.target
  • ctrl-alt-del.target是一个到reboot.target的软链接

四、Some Tips

  • 更改icmp之ttl(Linux默认64,windows默认128),防止被通过ping等途径获取ttl从而判断系统类型:echo "128" > /proc/sys/net/ipv4/ip_default_ttl

五、emerge

  • --root=dir    指明安装软件包时的root目录环境,类似于rhel之rpm的--root=dir
  • --oneshot    安装但不添加至world_set中,这样除非由于被依赖而升级版本号,其它情况不会被update等操作升级
  • -s ‘%@^net-analyze.*‘    %指启用正则搜索,@指将软件类别名称纳入匹配范围,^、$等均为正则表达式中标准含义

六、/etc/portage/make.conf

# Please consult /usr/share/portage/config/make.conf.example for a more detailed example.
CFLAGS="-march=haswell -O2 -pipe" #-march=native
CXXFLAGS="${CFLAGS}"
CHOST="x86_64-pc-linux-gnu"

MAKEOPTS="-j9"

USE="X gtk dbus truetype jpeg -systemd -consolekit -networkmanager -multilib -sound -alsa -oss -wifi -bluetooth -gnome -kde -qt4 -qt5 -cups -experimental"

CPU_FLAGS_X86="avx2 ..."

PORTDIR="/usr/portage"
DISTDIR="${PORTDIR}/distfiles"
PKGDIR="${PORTDIR}/packages"
PORTAGE_TMPDIR="/tmp"

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="-* @FREE"
GENTOO_MIRRORS="https://mirrors.tuna.tsinghua.edu.cn/gentoo/"

GRUB_PLATFORMS="efi-64"
LANGUAS="en_US.utf8"
ABI_X86="64"

VIDEO_CARDS="intel"

QEMU_SOFTMMU_TARGETS="x86_64"
QEMU_USER_TARGETS="x86_64"

七、内核配置文件

  见:https://i.cnblogs.com/Files.aspx

八、可选的系统初始化

#开启 8GB 大頁内存(2MB × 4096)
echo 4096 > /proc/sys/vm/nr_hugepages

#指定磁盘的 I/O 調度器
#echo deadline > /sys/block/sdb/queue/scheduler
时间: 2024-08-05 16:22:15

拾遗:Gentoo Tips的相关文章

gentoo Portage使用

查看portage的手册命令user $man emerge 一般在gentoo中提及的包都是安装程序,他们的信息一般都在 /usr/portage 目录下 root #emerge --sync 更新portage的库,root #emerge-webrsync 防止防火墙阻拦portage联系镜像库 user $emerge --search pdf 搜索名称中含有pdf的软件  user $emerge --searchdesc pdf 描述搜索 root #emerge --ask ap

Android应用程序性能优化Tips

主要介绍一些小细节的优化技巧,虽然这些小技巧不能较大幅度的提升应用性能,但是恰当的运用这些小技巧并发生累积效应的时候,对于整个App的性能提升还是有不小作用的.通常来说,选择合适的算法与数据结构会是你首要考虑的因素,在这篇文章中不会涉及这方面的知识点.你应该使用这篇文章中的小技巧作为平时写代码的习惯,这样能够提升代码的效率. 通常来说,高效的代码需要满足下面两个原则: 不要做冗余的工作 尽量避免执行过多的内存分配操作 To ensure your app performs well across

程序员取悦女朋友的正确姿势---Tips(iOS美容篇)

前言 女孩子都喜欢用美图工具进行图片美容,近来无事时,特意为某人写了个自定义图片滤镜生成器,安装到手机即可完成自定义滤镜渲染照片.app独一无二,虽简亦繁. JH定律:魔镜:最漂亮的女人是你老婆魔镜:程序员不是木头人 核心技术 图片滤镜核心技术的基本思路如下: 核心技术流程 具体流程 1.创建一个图像处理工具类 注:该类实例包括一个图像处理方法,该方法在传入原始图像和一个颜色矩阵后生成一个处理好的图像. @interface JHFeilterManager : NSObject @proper

位运算总结&amp;拾遗

JavaScript 位运算总结&拾遗 最近补充了一些位运算的知识,深感位运算的博大精深,此文作为这个系列的总结篇,在此回顾下所学的位运算知识和应用,同时也补充下前文中没有提到的一些位运算知识. 把一个数变为大于等于该数的最小的2的幂 一个数为2的幂,那么该数的二进制码只有最高位是1. 根据这个性质,我们来举个栗子,比如有数字10,转为二进制码后为: 1 0 1 0 我们只需把 0 bit的位置全部用1填充,然后再把该二进制码加1就ok了.而x | (x + 1)正好可以把最右边的0置为1,可是

C++拾遗--多线程:临界区解决子线程的互斥

C++拾遗--多线程:临界区解决子线程的互斥 前言 为了解决子线程的互斥问题,windows系统提出了关键段或临界区(CRITICAL_SECTION)的概念.它一共有四个共两对操作:初始化.销毁,进入.离开.它们定义在头文件synchapi.h中. 1.初始化变量 VOID WINAPI InitializeCriticalSection( LPCRITICAL_SECTION lpCriticalSection ); 2.销毁变量 VOID WINAPI DeleteCriticalSect

C++拾遗--多线程:原子操作解决线程冲突

C++拾遗--多线程:原子操作解决线程冲突 前言 在多线程中操作全局变量一般都会引起线程冲突,为了解决线程冲突,引入原子操作. 正文 1.线程冲突 #include <stdio.h> #include <stdlib.h> #include <process.h> #include <Windows.h> int g_count = 0; void count(void *p) { Sleep(100); //do some work //每个线程把g_c

C++拾遗--name_cast 显式类型转换

C++拾遗--name_cast 显式类型转换 前言 C++中提供了四种显式的类型转换方法:static_cast,const_cast,reinterpret_cast,dynamic_cast.下面分别看下它们的使用场景. 显式类型转换 1.staitc_cast 这是最常用的,一般都能使用,除了不能转换掉底层const属性. #include <iostream> using namespace std; int main() { cout << "static_c

android tips—NumberPicker,DataPicker,TimePicker样式修改

在使用NumberPicker,DataPicker,TimePicker这几个控件时,很容易出现如下这个界面 但是我们想要的却是下面图示的结果 修改Application,activity的android:theme这个值.最直观的效果去掉android:theme即可. 本tips 在 android4.4上测试通过.

iOS 小知识-tips

--->1<--- arc的项目中使用非arc代码,则添加-fno-objc-arc: 非arc项目中使用arc代码,则添加-fobjc-arc. --->2<--- 实用的类 NSKeyedArchiver [UIScreen mainScreen] [UIDevice currentDevice] [UIFont familyNames] [UIApplication sharedApplication] [NSUserDefaults standardUserDefaults