emerge sync
emerge world
发现pam-login和shadow冲突
没当回事就emerge -C pam-login, emerge -C shadow了
由于长时间没升级系统,导致需要升级的portage有五十多个,从周六晚一直到周日上午没闲着
周日早上,要拿笔记本看点东西,只好中断升级过程,过后再切回gentoo的时候
发现已经不能登陆了
查到原因:
The shadow and pam-login conflict
又查到原来好多人都遇到同样的麻烦,只好用livecd启动系统再chroot
gentoo livcd其实这是第一次用,以前一直用install cd。
发现livecd不能用我的无线网卡,没法上网
用老10M pcmcia网卡连上网线也找不到,按说不应该呀
再google,发现livecd要用dopcmcia选项启动
启动后还要modprobe 8139too,果然好使了
chroot之后再emerge shadow
天下太平
一天时间就这么浪费了,主要是老婆拿家里另外一台desktop pc看电影,我只好不断的切换到
windows用google查东西再切换回linux验证,效率比较低
clt edcs
comment off “element * /main/LATEST”
wq
clt mkbranch your_branch your_directory
clt edcs
enable “element * /main/LATEST”
wq
clt mkelem your_file
clt mkbranch your_branch your_file
fill something
clt ci your_file
clt edcs
comment off “element * /main/LATEST”
clt ci your_directory
While we usually think of quotes as literal values, in Perl they function as operators, providing various kinds of interpolating and pattern matching capabilities. Perl provides customary quote characters for these behaviors, but also provides a way for you to choose your quote character for any of them. In the following table, a {} represents any pair of delimiters you choose. Non-bracketing delimiters use the same character fore and aft, but the 4 sorts of brackets (round, angle, square, curly) will all nest.
Customary |
Generic |
Meaning |
Interpolates |
” |
q{} |
Literal |
no |
“” |
qq{} |
Literal |
yes |
“ |
qx{} |
Command |
yes (unless ” is delimiter) |
|
qw{} |
Word list |
no |
// |
m{} |
Pattern match |
yes |
|
qr{} |
Pattern |
yes |
|
s{}{} |
Substitution |
yes |
|
tr{}{} |
Transliteration |
no (but see below) |
Note that there can be whitespace between the operator and the quoting characters, except when # is being used as the quoting character. q#foo# is parsed as being the string foo, while q #foo# is the operator q followed by a comment. Its argument will be taken from the next line. This allows you to write:
s {foo} # Replace foo
{bar} # with bar.
Perl Library Mechanics – 6 ways to add a library path
A ncode solutions technology guide – visit us at http://www.ncode.ch
Objectives
Run a perl script using libraries in nonstandard locations.
We use the location /opt/special/plib for our samples.
Perl uses by default the array @INC as include path when searching for modules to load.
This path is
compiled into the perl binary when building it from source and can be printed by running
perl -V
, which will show something like:
..
Compiled at Jan 24 2004 21:39:16
@INC:
/etc/perl
/usr/lib/perl5/site_perl/5.8.0/i686-linux
/usr/lib/perl5/site_perl/5.8.0
/usr/lib/perl5/site_perl/5.6.1
..
1. Using the module lib
The standard module lib can be used to specify an explicit path to include. It must be stated at the
top
of the script:
#!/usr/bin/perl
#
use lib “/opt/special/plib”;
use strict;
use warnings;
..
2. Using the switch I at the command line
The switch I can be used to specify additional library locations when invoking the interpreter.
perl -I /opt/special/plib script.pl
23.09.2005 / Oli Kessler / info@ncode.ch © 2005 ncode solutions GmbH
Page 2
3. Using the switch I in the first line of the script
The same I switch can be added to the interpreter specification.
#!/usr/bin/perl -I /opt/special/plib
#
use strict;
use warnings;
..
This works when invoking the script via the shell (which will run the interpreter with full
options and arguments as specified in the first line) and also when invoking the interpreter
directly: It apparently scans the first line for options.
4. Manipulating @INC directly
The array @INC can be manipulated directly using array operations
#!/usr/bin/perl
#
BEGIN {
unshift(@INC, “/opt/special/plib”);
}
use strict;
use warnings;
This is the same as using the module lib, which in fact does something like this.
5. Using the environment variable PERL5LIB
The environment variable PERL5LIB can be used to specify additional include directories when
running a perl script.
> export PERL5LIB=/opt/special/plib
> /path/to/script.pl
6. Changing @INC at compile time
When running
Configure
to compile the perl interpreter itself, there are several possibilities to add
additional library path elements:
•
Using the variable vendorprefix
•
Using the variable otherlibdirs
Both must be specified when calling Configure as a define, eg
> sh Configure -Dotherlibdirs=/opt/special/plib
The variable otherlibdirs is preferred, as it can hold mutliple values separated by a colon just like
the familiar PATH environment variable.
Details about compiling perl can be found on the CPAN network :
cygwin,
$flex ch1-02.l
$gcc lex.yy.c -o ch1-02.exe
/cygdrive/d/Profiles/E6097C/LOCALS~1/Temp/ccFsaC7D.o:lex.yy.c:(.text+0×36c): und
efined reference to `_yywrap’
/cygdrive/d/Profiles/E6097C/LOCALS~1/Temp/ccFsaC7D.o:lex.yy.c:(.text+0xac1): und
efined reference to `_yywrap’
collect2: ld returned 1 exit status
solution: gcc lex.yy.c -o ch1-02.exe -lfl
困扰多日的405问题终于解决了
原来是不知什么时候emerge apche之类的把/etc/conf.d/apache2里的配置给弄丢了
买了一个DLink Wireless Router和一个Netgear WG511v2的pcmcia卡
折腾了两天多
终于搞定了Linux下的驱动
原来wireless-tools不支持WPA
以后可以在阳台上上网了
不曾想搁下十几年的汇编又不得不捡起来
以前印象里MASM出到六点十几
自己大概装过6.11
上网搜出好些,居然有6.14的patch。
不过懒了,相信也没啥大区别。
下载,安装,编译,链接。。。链不过去了!!!
出来的是LNK2001,于是调整lib的设置,还是不行
google, baidu, yahoo搜啊搜,折腾了两天。
今天晚上,新年夜,心情平静下来,还是读代码先吧
自打有了google,读代码的时候太少了
结果居然读到这一句:
; NOTE: If you get a LINK ERROR for the Microsoft linker that it can’t find
; __c_startup, it’s a bug in MASM versions before v6.12. Get the MASM patch
; from Microsoft Knowledge Base Article 228454 at www.microsoft.com.
; This will patch any version 6.1x of MASM to 6.14.
DamnIt!!!
如果早读代码早就解决问题了!
于是继续下载masm 6.14patch,编译链接,果然全都对了。
高兴之余,继续搜,发现原来最新的版本是6.15,google之,下载之,安装之。
另外,今天(12/31)在单位也有一个突破,就不在blog里说了。